Saltar al contenido

¿Cómo migrar datos de MongoDB a SQL-Server?

Hola usuario de nuestra página, encontramos la solución a tu interrogante, has scroll y la verás aquí.

Solución:

Por supuesto que es posible, pero deberá encontrar una manera de forzar la flexibilidad de una base de datos de documentos como MongoDB en un RDBMS como SQL Server.

Significa que debe definir cómo desea manejar los campos faltantes (¿será un NULL en la columna db? ¿o un valor predeterminado?) y otras cosas que generalmente no encajan bien en una base de datos relacional.

Dicho esto, puede usar una herramienta ETL capaz de conectarse a ambas bases de datos, SSIS puede ser un ejemplo si desea permanecer en el mundo de MicroSoft (puede consultar esto Importación de datos de MongoDB usando SSIS 2012 para tener una idea) o puede ir para una herramienta de código abierto como Talend Big Data Integration, que tiene un conector para MongoDB (y, por supuesto, para SQL Server).

No hay forma de mover datos directamente de MongoDB a SQL Server. Debido a que los datos de MongoDB no son relacionales, cualquier movimiento de este tipo debe implicar la definición de un modelo de datos relacionales de destino en SQL Server y luego desarrollar una transformación que pueda tomar los datos en MongoDB y transformarlos en el modelo de datos de destino.

La mayoría de las herramientas ETL, como Kettle o Talend, pueden ayudarlo con este proceso, o si es un glotón para el castigo, puede simplemente escribir montones de código.

Tenga en cuenta que si necesita que este proceso de transformación esté en línea o se aplique más de una vez, es posible que deba modificarlo para detectar pequeños cambios en la estructura o los tipos de datos almacenados en MongoDB. Por ejemplo, si un desarrollador agrega un nuevo campo a un documento dentro de una colección, su proceso ETL deberá replantearse (posiblemente un nuevo modelo de datos, un nuevo proceso de transformación, etc.).

Si no está convencido de SQL Server, le sugiero que considere Postgres, porque existe una herramienta de código abierto ampliamente utilizada llamada MoSQL que se ha desarrollado expresamente con el fin de sincronizar una base de datos Postgres con una base de datos MongoDB. Se utiliza principalmente con fines de generación de informes (obtener datos de MongoDB y llevarlos a un RDBMS para que se puedan superponer herramientas analíticas o de generación de informes).

MoSQL disfruta de una amplia adopción y cuenta con un buen soporte, y para datos mal manipulados, siempre tiene la opción de usar el tipo de datos JSON de Postgres, que no es compatible con ninguna herramienta de análisis o generación de informes, pero al menos le permite consultar directamente los datos en postgres. Además, y ahora mi propio sesgo personal se está mostrando, Postgres es 100% de código abierto, mientras que SQL Server es 100% de código cerrado. 🙂

Finalmente, si eres solamente extrayendo los datos de MongoDB para facilitar el análisis o la generación de informes, debe considerar SlamData, un proyecto de código abierto que comencé el año pasado que hace posible ejecutar ANSI SQL en MongoDB, usando una ejecución 100% en la base de datos (es básicamente un SQL-to -Compilador API MongoDB). La mayoría de las personas que usan el proyecto parecen estar usándolo para análisis o informes de casos de uso. La ventaja es que funciona con los datos tal cual, por lo que no tiene que realizar ETL y, por supuesto, siempre está actualizado porque se ejecuta directamente en MongoDB. Una desventaja es que nadie ha creado aún un controlador ODBC/JDBC para él, por lo que no puede conectar directamente las herramientas de BI a SlamData.

¡Buena suerte!

Hay una herramienta proporcionada por MongoDB llamada mongoexport y es capaz de exportar archivos csv. Estos archivos csv se pueden importar fácilmente a MySQL. ¡Buena suerte!

Puedes añadir valor a nuestra información aportando tu experiencia en las crónicas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *