Migración De Sql Server A Mysql
#1
Escrito 21 April 2009 - 10:49 AM
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
Escrito 21 April 2009 - 11:37 AM
http://www.dbelephant.com/MSSQL2MySQL
http://www.sqlmaestr...sql/datawizard/
#3
Escrito 21 April 2009 - 11:47 AM
#4
Escrito 21 April 2009 - 12:09 PM
¿Cómo llegar al Mazinger de Tarragona? Fotos #1 #2 #3
:: :: :: ¿Quieres ser mi alumno en un juego online? :: :: :: Violencia gratuita y sexo
#5
Escrito 21 April 2009 - 12:19 PM
#6
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
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
Escrito 21 April 2009 - 02:39 PM
¿Cómo llegar al Mazinger de Tarragona? Fotos #1 #2 #3
:: :: :: ¿Quieres ser mi alumno en un juego online? :: :: :: Violencia gratuita y sexo
#8
Escrito 21 April 2009 - 03:34 PM
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
Escrito 21 April 2009 - 06:45 PM
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
#10
Escrito 21 April 2009 - 06:58 PM
"On the edge of the blade, but no one makes the hero bleed."
#11
Escrito 21 April 2009 - 06:59 PM
#12
Escrito 21 April 2009 - 11:05 PM
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
Escrito 22 April 2009 - 09:33 AM
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 . 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
Escrito 22 April 2009 - 09:40 AM
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
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 . 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
Escrito 22 April 2009 - 12:44 PM
' 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
Escrito 22 April 2009 - 05:33 PM
#18
Escrito 23 April 2009 - 11:44 PM
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
Escrito 29 April 2009 - 01:42 AM
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.
||-- 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
Escrito 29 April 2009 - 10:36 AM
#21
Escrito 04 May 2009 - 05:51 PM
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.
wtf!
0 usuarios están leyendo este tema
0 miembros, 0 invitados, 0 usuarios anónimos