Ir a contenido


Foto
- - - - -

Migración De Sql Server A Mysql


  • Please log in to reply
20 replies to this topic

#1 Petrus

Petrus

    Super Advanced Member

  • Validating
  • PipPipPip
  • 1373 Mensajes:

Escrito 21 April 2009 - 10:49 AM

Hola a todos,

En mi trabajo va a ser necesaria una migración urgente, de sistema IIS+ASP+SQLServer2005 a cualquier otro que no apeste (como Apache+PHP+MySQL). No por cabezonería GPL, sino porque hemos tenido bastantes incidencias graves y SQLServer es muy jodido de mantener. Aparte de que tengo la sensación de que sus BBDD están engordadas a idea, y quiero comprobar cual es el espacio real que ocupan. De momento no encuentro nada parecido a mysqldump (sólo exporta a fichero la estructura, pero no los datos).

He estado investigando, y parece que es posible correr Apache con módulos de Mono para poder ejecutar ASP.Net 2.0. Mi mayor duda es si se pueden convertir bases de datos de MSSQL Server 2005 a MySQL 5.0 de forma eficiente, y de que manera. De momento he encontrado un programa llamado Full Convert Enterprise, pero es de pago.

Siendo que me voy a enmarronar sí o sí, prefiero que sea con algo que conozca más.

Gracias por adelantado.

#2 Takamura

Takamura

    Señor del Japón

  • FL Fansub
  • 2706 Mensajes:

Escrito 21 April 2009 - 11:37 AM

Con una búsqueda rápida en google he encontrado esto:

http://www.dbelephant.com/MSSQL2MySQL

http://www.sqlmaestr...sql/datawizard/
El nacionalismo es la religión de los engreídos.

#3 Takamura

Takamura

    Señor del Japón

  • FL Fansub
  • 2706 Mensajes:

Escrito 21 April 2009 - 11:47 AM

Me han recomendado este: http://www.freedownl...QL_Maestro.html

Es shareware, como los anteriores.
El nacionalismo es la religión de los engreídos.

#4 dee

dee

    Ex-Espantarubias

  • Hentais
  • PipPipPipPipPipPipPipPip
  • 5256 Mensajes:

Escrito 21 April 2009 - 12:09 PM

El marrón te vendrá con sustituir IIS + ASP por otra cosa, meter enmedio MONO aún te va a complicar más las cosas. Es más factible subir de version de .net que "bajarse al mono" en cuya implementación no vas a tener todas las API's disponibles, aunque sí las más habituales. Por otros posts tuyos creo que eres más de sistemas, quédate en la parte de datos como mucho e intenta pasarle el marrón a otro. A unas malas puedes exportar los datos de SQLServer en algún tipo de fichero plano y tratar los binarios que puedas tener, pero no es nada fácil, si puedes huye.

#5 Takamura

Takamura

    Señor del Japón

  • FL Fansub
  • 2706 Mensajes:

Escrito 21 April 2009 - 12:19 PM

Vaya, el tercero es el mismo que el segundo... :guu2:
El nacionalismo es la religión de los engreídos.

#6 Petrus

Petrus

    Super Advanced Member

  • Validating
  • PipPipPip
  • 1373 Mensajes:

Escrito 21 April 2009 - 01:34 PM

Me han recomendado este: http://www.freedownl...QL_Maestro.html

Es shareware, como los anteriores.


Muchas gracias, le echaré un ojo :y:

Por otros posts tuyos creo que eres más de sistemas, quédate en la parte de datos como mucho e intenta pasarle el marrón a otro. A unas malas puedes exportar los datos de SQLServer en algún tipo de fichero plano y tratar los binarios que puedas tener, pero no es nada fácil, si puedes huye.


Soy de sistemas, sí. Y lo de huir... me temo que eso sólo será posible cuando cambie de curro y no estoy mal aquí. Básicamente el problema viene de que -en mi opinión- hace falta una remodelación urgente de bastantes sistemas. La información crece exponencialmente y hay que cambiar de perspectiva. Así que el marrón es doble: convencerles de que es necesario migrar y el trabajo migratorio en sí.

Yo había pensado en dividir recursos como se hizo en FLN, sirviendo ficheros en un http estático separado y en otro/s servidor/es alojar las BBDD y servidores web. La primera parte tal vez no fuera demasiado complicada y quizá no requeriria cambiar de plataforma de desarrollo, aunque sí algo de código.

Lamentablemente, aquí basan su trabajo en ASP, algo de .NET y mucho SQLServer, todo bajo Windows 2003 server. Yo no soy un experto que te cagas en LAMP, pero jamás en la vida he tenido petadas tan gordas de servicios web como las que veo a diario aquí. Lo fácil es que consideren MySQL/PostgreSQL como "de juguete", pero el software Redmon me está dando más problemas que soluciones.

En el caso de que aceptasen, lo más seguro es que necesitasemos asesoramiento de desarrollo y sistemas con software libre, lo cual no sería demasiado complicado porque conozco a la empresa adecuada y yo vigilaría de cerca el trabajo.

La solución fácil es desentenderme del tema servidores web M$oft y limitarme a dar botonazos cuando algo pete. Y si no se soluciona, enmarronar a otro y lavarme las manos. Que bastante follón resulta encargarse de otros servicios y redes (me contrataron porque soy Admin de GNU/Linux). Pero no; aquí tengo que manejarme con todo.

#7 dee

dee

    Ex-Espantarubias

  • Hentais
  • PipPipPipPipPipPipPipPip
  • 5256 Mensajes:

Escrito 21 April 2009 - 02:39 PM

Haz un estudio de empresas de outsourcing, y cuéntanos cuantas ofertas que te presten soporte sobre ASP + .NET y cuantas sobre L(W)AMP. Y tampoco conozco cuántos desarrolladores hay ahí, pero pedirles que cambien de plataforma no es para nada una cuestión trivial, por muchas ganas que ellos tengan.

#8 Petrus

Petrus

    Super Advanced Member

  • Validating
  • PipPipPip
  • 1373 Mensajes:

Escrito 21 April 2009 - 03:34 PM

Así a ojo calculo sólo un 10% sobre L/WAMP; es lo que tiene el monopolio. Pero se exactamente a quien acudir, porque trabajan con soft libre y les conozco en persona: son bastante eficientes. No como algún desarrollador de PHP que ha trabajado anteriormente en esta empresa y hacía buenas chapuzas.

Aquí habrá unas 2 personas que sepan algo de PHP; la mayoría del desarrollo se hace en tema de diseño web. No descarto que yo tenga que aprender algo también, sea PHP, Ruby on rails, Python o lo que correspondiese.

#9 Des_Cain

Des_Cain

    Super Advanced Member

  • Hentais
  • PipPipPip
  • 1171 Mensajes:

Escrito 21 April 2009 - 06:45 PM

El convertir la base de datos a MySQL se puede hacer, eso sí, como no haya mejorado el asunto desde la última vez que lo hice yo te vas a querer morir corrigiendo errores xD

Lee esto, incluso te ofrecen algunas herramientas útiles y te indican los pasos adecuados a seguir.

De todos modos, en mi opinión, tu principal problema es el IIS, que es una mierda a todas todas. Visita el sitio de IIS a ver si encuentras algo que solucione los problemas de estabilidad mientras das con la solución adecuada, que pienso que no es cambiar todo (te vas a querer morir).

MSSQL no es tan malo ni tan complicado de administrar. Sí es cierto que ocupa lo que ocupa y más. Probablemente lo que te engorde tanto las bases de datos sean los logs que generan. Busca los archivos físicos en el disco y te puedes hacer una idea de cómo están. SQL Manager de MSoft, herramienta imprescindible.

Edito: Me he fijado que he usado dos veces la expresión 'te vas a querer morir' xD No es para menos, hasta yo que no tengo nada que ver me he acojonado cuando he leido lo que pretendes ;p

Este tema ha sido editado por Des_Cain: 21 April 2009 - 06:53 PM

Imagen enviada


#10 Dhampir

Dhampir

    Hentai-sama

  • Hentais
  • PipPipPipPipPipPipPip
  • 4662 Mensajes:

Escrito 21 April 2009 - 06:58 PM

A mi me da que en vez de tanta migración lo que os hace falta es un DBA.

Imagen enviada
"On the edge of the blade, but no one makes the hero bleed."


#11 Deadsunrise

Deadsunrise

    Speunaigh

  • Admin
  • 27632 Mensajes:

Escrito 21 April 2009 - 06:59 PM

que tamaño tiene la base de datos?

#12 kujaku

kujaku

    Analógico

  • Hentais
  • PipPipPipPipPipPip
  • 3404 Mensajes:

Escrito 21 April 2009 - 11:05 PM

Mi granito de arena gratuito:

http://www-01.ibm.co.../migration/mtk/

Lo malo es que te migra de mil bases de datos a DB2, LA base de datos por antonomasia, y a la que te recomendaria migrar si el volumen de gigas es elevado (iba a decir algo de Oracle, pero no le hace sombra al DB2, asi que...).

Ademas, Microsoft sera todo lo que quieras, pero tratar de comparar su SQL Server con una base de datos de "juguete" como es MySQL... eso solo lo hace un taliban linuxero xDDDD

Yo he estado en muchos proyectos viendo (de lejos, eso si), bases de datos de MS SQL Server con mas de 500 GB de datos y les va de putisima madre, y casca raras veces (eso si, cuando lo hace, tela, pero con MySQL te va a pasar exactamente lo mismo, y me atreveria a decir que con mayor frecuencia, sobre todo por la pesima manera que tiene de manejar la concurrencia). Eso si, si pretendes cambiar 500 GB de datos a MySQL, que Dios te pille confesado, deberias morirte bastante como dicen en otro post, porque seria cavarte tu propia tumba.

A mi me da que en vez de tanta migración lo que os hace falta es un DBA.


Es la respuesta mas sensata que he leido en este hilo.

#13 Petrus

Petrus

    Super Advanced Member

  • Validating
  • PipPipPip
  • 1373 Mensajes:

Escrito 22 April 2009 - 09:33 AM

Gracias por las respuestas. Lo primero de todo es avisar de que estoy omitiendo cierta información de mi empresa para no comprometerme a mi ni a ellos. Decidir usar software libre, repito, no es por talibanismo.

Son varias BBDD, desde unos 200 Mbs hasta la más grande que ocupa 3 Gbs. Pero claro, los "exports" (que no son tales realmente), ocupan igual que las BBDD, con sus espacios vacíos, fragmentación de datos, etc. Así que es más complicado hacer una estimación real de lo que ocupan.

No he tocado SQL Server en mi vida, pero antes me ponía un Oracle. No es normal que a un compañero se le haya borrado 1 mes de trabajo como le pasó ayer. O que haya que parar todo SQL Server para hacer mantenimiento y/o copia de una sola BBDD. O que un día deje de ir una BBDD y haya que reiniciar toda la máquina (vale, esto es falta de conocimientos sumado a que había prisa). O lo mejor de todo, que un update de .NET haga inutiles ciertas instrucciones que te dejan la web parada.

Admito que no tengo formación específica como DBA de ningun SGBD, pero al menos con MySQL jamás me han pasado cosas como estas. Ni siquiera cuando he actualizado de version 4.x a 5.x.

Ademas, Microsoft sera todo lo que quieras, pero tratar de comparar su SQL Server con una base de datos de "juguete" como es MySQL... eso solo lo hace un taliban linuxero xDDDD


Ya estamos flameando, pa no perder la costumbre X-D. Los cursos y examenes de certificación de MySQL no son precisamente baratos. Echale un vistazo a su web, que no me apetece discutir.

Por otra parte, me da mucha más estabilidad un Unix o GNU/Linux que un Windows2003Server que tiene que reiniciarse cada vez que se instala una actualización, es vulnerable a spyware (si no se infecta él, lo infectará otro PC de la empresa), etc.

#14 Reboot

Reboot

    Guru del foro-chat

  • Hentais
  • PipPipPipPipPip
  • 2017 Mensajes:

Escrito 22 April 2009 - 09:40 AM

Yo recuerdo haber hecho una migración así hace ya 7 años, pero la tuvimos que hacer a pelo, abriendo la base de datos SQL server con ODBC a través de Access y a través del mismo Access, con un enlace ODBC a Mysql (que en aquella época, los drivers ODBC de My eran una pre-alpha infernal) y exportar los datos.

Manly tears were dropped during that process, creéme wey.

PD: ODIO SQL Server.

Este tema ha sido editado por Reboot: 22 April 2009 - 09:49 AM


#15 Deadsunrise

Deadsunrise

    Speunaigh

  • Admin
  • 27632 Mensajes:

Escrito 22 April 2009 - 10:07 AM

Gracias por las respuestas. Lo primero de todo es avisar de que estoy omitiendo cierta información de mi empresa para no comprometerme a mi ni a ellos. Decidir usar software libre, repito, no es por talibanismo.

Son varias BBDD, desde unos 200 Mbs hasta la más grande que ocupa 3 Gbs. Pero claro, los "exports" (que no son tales realmente), ocupan igual que las BBDD, con sus espacios vacíos, fragmentación de datos, etc. Así que es más complicado hacer una estimación real de lo que ocupan.

No he tocado SQL Server en mi vida, pero antes me ponía un Oracle. No es normal que a un compañero se le haya borrado 1 mes de trabajo como le pasó ayer. O que haya que parar todo SQL Server para hacer mantenimiento y/o copia de una sola BBDD. O que un día deje de ir una BBDD y haya que reiniciar toda la máquina (vale, esto es falta de conocimientos sumado a que había prisa). O lo mejor de todo, que un update de .NET haga inutiles ciertas instrucciones que te dejan la web parada.

Admito que no tengo formación específica como DBA de ningun SGBD, pero al menos con MySQL jamás me han pasado cosas como estas. Ni siquiera cuando he actualizado de version 4.x a 5.x.



Ya estamos flameando, pa no perder la costumbre X-D . Los cursos y examenes de certificación de MySQL no son precisamente baratos. Echale un vistazo a su web, que no me apetece discutir.

Por otra parte, me da mucha más estabilidad un Unix o GNU/Linux que un Windows2003Server que tiene que reiniciarse cada vez que se instala una actualización, es vulnerable a spyware (si no se infecta él, lo infectará otro PC de la empresa), etc.



bah, son bastante pequeñas, usa el script que sale en la pagina de mysql que ha puesto des_cain que en teoria convierte todo de forma bastante facil.

#16 Petrus

Petrus

    Super Advanced Member

  • Validating
  • PipPipPip
  • 1373 Mensajes:

Escrito 22 April 2009 - 12:44 PM

Probaré a ver, aunque tiene ciertas limitaciones:
' LIMITATIONS:
' no foreign keys
' no SPs, no triggers (MSSQL syntax incompatible to MySQL)
' no views
' no user defined data types (not yet supported by MySQL)
' AUTO_INCREMENTs: MySQL does not support tables with more
'   than one AUTO_INCREMENT column; the AUTO_INCREMENT column
'   must also be a key column; the converter does not check this,
'   so use MSSQL to add an index to the AUTO_INCREMENT column
'   before starting the conversion
' no privileges/access infos (the idea of logins/users in M$ SQL Server
'	 is incompatible with user/group/database/table/column
'	 privileges of MySQL)
' cannot handle ADO type adFileTime yet
' GUIDs not tested
' fairly slow and no visible feedback during conversion process
'   for example, it takes 80 seconds to convert Northwind (2.8 MB data)
'   with M$SQL running on PII 350 (CPU=0) and this script running in
'   Excel 2000 on PII 400 (CPU=100); unfortunately, compiling the program
'   with VB6 does not make it any faster
'   tip: test with MAX_RECORDS = 10 first to see if it works for you at all


#17 Yentin

Yentin

    Eyes-Sex-Symbol

  • FL Vintage
  • 6254 Mensajes:

Escrito 22 April 2009 - 05:33 PM

Joder y que coño hace porque después de pasarlo te vas a morir a hacer cosas para tenerlo igual. Yo solo tengo formación explícita de oracle pero mi experiencia con sql server me dice que no es tan malo si está bien montao. Yo soy un poco de los de Kujaku pero claro hace mil que no hago nada en mysql

#18 Petrus

Petrus

    Super Advanced Member

  • Validating
  • PipPipPip
  • 1373 Mensajes:

Escrito 23 April 2009 - 11:44 PM

La cosa es que tenemos un archivo de documentación multimedia muy grande, dividido entre varios servidores. Cada servidor tiene sus ficheros (que son muchos, y el espacio disponible se reduce muy rápido), su IIS y su SQL Server con una o varias BBDD corriendo, las cuales tienen referencias a los archivos. Aparte de un servicio FTP para que los clientes se puedan bajar dicha documentación. A lo bruto, vamos.

Evidentemente, cuando un servidor cualquiera cae, nos deja con el culo en pompa durante ese tiempo de downtime. Por eso la primera parte del plan es migrar todos los archivos a un Fileserver dedicado y poder seguir dando servicio FTP aunque caigan los demas. Otro proyecto que me gustaría montar en ese mismo fileserver sería tener un indexador funcionando, al cual poder realizarle consultas a través de un interfaz web.

Hasta ahí, podríamos seguir tirando de SQL Server + IIS en máquinas aparte, pero no me fío un pelo. Cuando esto crezca masivamente, petará más de la cuenta y tendré que estar obrando milagros de resurrección por un sueldo mileurista.

Básicamente, he estado comparando arquitecturas web similares como Wikipedia, Flickr o incluso FLN, donde los servicios de web, BBDD y archivos se distribuyen, funcionan mejor y desde luego no usan productos M$oft. Confiar en esas soluciones es como pretender que un niño obeso con una dieta a base de grasas y azúcares gane una maratón. Desde el punto de vista técnico, soy de los que piensan que las máquinas trabajan para mí y no al revés. Que si por ejemplo tuviera que empezar con PostgreSQL desde cero, lo haría.

#19 Maeghith

Maeghith

    Zidane

  • FL Vintage
  • 4997 Mensajes:

Escrito 29 April 2009 - 01:42 AM

Bueno, también por comparar, puedes comparar con stackoverflow.com que usa WinServ+.NET+IIS y parece que también tiene bastante tráfico. Los servicios de BBDD y del servidor web también los tienen separados como has visto para flickr, etc… es una práctica bastante común.

Lo único que parece que les ha dado problemas serios, que yo recuerde, ha sido la controladora RAID por hardware, que no tiene nada que ver con MS. Como problema menos serio, pero relacionado con MS, por ejemplo: al actualizar el MSSQL de 2005 a 2008 perdieron algo de rendimiento en las búsquedas, aunque creo que lo arreglaron debieron comentarlo en el podcast, por que el buscador del blog no devuelve nada.

Ya que parece que te has decidido a separar algunos; si los vas a llevar tu 'solo' y estás más cómodo en un UNIX para esos servidores en concreto, pues "póntelo, pónselo". Pero asegurate que son cosas de muy poco impacto (p.ej. fileserver sí, programación no, BBDD quizás las más sencillas).

Sobre los petes, ciertamente, no es normal lo que comentas de que se borre el trabajo de 1 mes así por la patilla. Sin saber nada de MSSQL yo diría que ahí está pasando algo más que MSSQL, pero habría que investigarlo.
Imagen enviada
||-- navega sin temor --||-- /dev/soma --||-- flickr --||-- last.fm --||-- twitter --||
A foreign substance is introduced into our precious bodily fluids without the
knowledge of the individual, and certainly without any choice.

#20 Yentin

Yentin

    Eyes-Sex-Symbol

  • FL Vintage
  • 6254 Mensajes:

Escrito 29 April 2009 - 10:36 AM

Sobre el indexador de ficheros diría que el IIS ya tiene algo montado con el sqlsrerver en caixa terrassa lo tienen montado así y funciona way. Oracle a pelo no tiene nada parecido en 9i y diría que 10g. Supongo que lo venden como extra

#21 raulero

raulero

    Advanced Member

  • Hentais
  • PipPip
  • 639 Mensajes:

Escrito 04 May 2009 - 05:51 PM

Bueno, .net no conozco pero sí asp,
podéis probar a mantener la programación y cambiar la conexión a la bd mysql en lugar de la mssql, que se puede hacer via el conector de mysql para odbc http://www.mysql.com...connector/odbc/
la ventaja es que mantienes el servidor web y la migración para el usuario ni la nota si la transformación a mysql va bien. Posteriormente la migración del lenguaje ya sería otra cosa
Preguntales a tus apañeros. SI las bd son solo datos un copypaste por tabla sería suficiente a través del propio lenguaje de programación que se quiera conectando ambas bases de datos.
En principio ganáis todos, tú porque consigues ssh+dump lo cual es dormir mejor y los desarrolladores porque siguen en la misma plataforma pero con mayor seguridad.
Imagen enviada
Imagen enviada
wtf!




0 usuarios están leyendo este tema

0 miembros, 0 invitados, 0 usuarios anónimos