Cuándo usar MongoDB: beneficios y casos de uso

Nov 20, 2021
admin

Es fácil dejarse llevar por las últimas palabras de moda y usar tecnología innovadora, pero eso puede llevar a dolores de cabeza si usas la herramienta equivocada para tu tarea. MongoDB entró en caliente y estableció el dominio en el mundo de las bases de datos NoSQL cuando salieron a bolsa en 2018. En este artículo, discutiremos qué son las bases de datos NoSQL y cómo se diferencian de las bases de datos SQL. Después, tocaremos lo que diferencia a MongoDB en el panorama NoSQL. Terminaremos con algunos casos de uso de MongoDB y discutiremos las dificultades más comunes al utilizar esta tecnología de bases de datos.

Para obtener más información sobre el conector nativo de MongoDB de Xplenty, visite nuestra página de integración.

Tabla de contenidos

  1. Bases de datos NoSQL vs SQL
  2. MongoDB: A Big Fish In a Small Pond
  3. Casos de uso de MongoDB
Historia de un cliente

Historia de un cliente

Keith conectó múltiples fuentes de datos con Amazon Redshift para transformar, organizar y analizar los datos de sus clientes.

MongoDB MongoDB
Amazon Redshift Amazon Redshift

David Schuman

Dave Schuman
CTO y cofundador en Raise.me

Realmente han proporcionado una interfaz a este mundo de transformación de datos que funciona. Es intuitivo, es fácil de tratar y cuando se pone un poco demasiado confuso para nosotros, trabajará durante un día entero a veces en sólo tratar de ayudarnos a resolver nuestro problema, y nunca se dan por vencidos hasta que se resuelve.

AVERIGÜE SI PODEMOS INTEGRAR SUS DATOS

EN LOS QUE CONFÍAN EMPRESAS DE TODO EL MUNDO

¿Le gusta este artículo?

¡Recibe semanalmente grandes contenidos con el Boletín Xplenty!

Bases de datos NoSQL vs. SQL

MongoDB es una base de datos NoSQL. Esto significa que no se utiliza SQL para interactuar con los datos en la base de datos. En su lugar, se utiliza NoSQL.

La primera diferencia a discutir es el vocabulario. En SQL, usamos tablas. En NoSQL, utilizamos colecciones. En SQL, las tablas consisten en registros/filas, en NoSQL, las colecciones son documentos.

Para consultar MongoDB, es necesario utilizar la sintaxis NoSQL. Aquí hay un ejemplo de una consulta SQL y la correspondiente consulta NoSQL:

SQL:

SELECT * FROM users WHERE age > 65;

NoSQL:

users.find({age: {$gt: 65} });

Notarás que el lenguaje de consulta trata la colección como un objeto sobre el que se aplican acciones. Esto se debe a que MongoDB es una base de datos sin esquema, y asume que no habrá necesidad de interactuar con otras colecciones. La sintaxis SQL espera que los usuarios hagan JOIN sobre otras relaciones en la base de datos, y por tanto la sintaxis lo permite. Hay un patrón similar al intentar INSERT:

SQL:

INSERT INTO users (id, age) VALUES (1, 70);

NoSQL:

users.insert({id: 1, age: 70});

El protagonismo de un esquema definido es claro en el INSERT SQL porque las columnas que se eligen tienen que existir en la tabla de usuarios. Con la sentencia NoSQL, las columnas id y edad no tienen que existir previamente en la colección. De hecho, puedes hacer otro INSERT en esa colección con campos diferentes. Por ejemplo, podemos ejecutar el siguiente comando sobre la misma colección de usuarios que hemos utilizado anteriormente:

users.insert({first_name: "Annie", zip_code: "10005"})

MongoDB, y otras bases de datos NoSQL, son bases de datos sin esquema. Esto significa que los usuarios pueden almacenar datos no estructurados. Esta funcionalidad es a la vez una bendición y una maldición – la flexibilidad hace que sea más fácil de almacenar datos, pero también hace que sea más difícil de organizar sus datos.

Para un análisis en profundidad de las diferencias críticas entre SQL y NoSQL, echa un vistazo a esta entrada del blog.

Historia de clientes

Historia de clientes

Keith conectó múltiples fuentes de datos con Amazon Redshift para transformar, organizar y analizar sus datos de clientes.

Amazon Redshift Amazon Redshift

David Schuman

Keith Slater
Desarrollador Senior en Creative Anvil

Antes de empezar con Xplenty, estábamos intentando mover datos de muchas fuentes de datos diferentes a Redshift. Xplenty nos ha ayudado a hacerlo rápida y fácilmente. La mejor característica de la plataforma es tener la capacidad de manipular los datos según sea necesario sin que el proceso sea demasiado complejo. Además, el soporte es estupendo: siempre responden y están dispuestos a ayudar.

AVERIGÜE SI PODEMOS INTEGRAR SUS DATOS

EN LOS QUE CONFÍAN EMPRESAS DE TODO EL MUNDO

¿Le gusta este artículo?

¡Recibe semanalmente grandes contenidos con el boletín de Xplenty!

Quién debería usar MongoDB

Durante unos años, MongoDB fue sinónimo de NoSQL en muchos círculos. Entre sus agresivas campañas de marketing y la capacidad de hacer incursiones con varias personas influyentes en el ámbito de la tecnología, pudieron captar una gran franja de este «nuevo» mercado. A medida que se fue extendiendo, la gente le puso pegas a su viabilidad para determinadas aplicaciones. Se convirtió en una herramienta útil para la gente que «sólo quería poner en marcha su aplicación» y preocuparse de analizar los datos más tarde.

Este era un enfoque aceptable y tenía sentido para muchos desarrolladores de software. Con el tiempo, las gallinas volvieron a casa y resultó que MongoDB no era la mejor opción para todos. Algunos ingenieros que adoptaron MongoDB pronto pudieron apoyarse en la tecnología y adaptarse a sus mejoras, mientras que muchos otros tuvieron que hacer grandes esfuerzos para migrar fuera de ella. Como con cada pieza de software, su kilometraje puede variar (YMMV), por lo que es imperativo pensar críticamente acerca de los servicios que utiliza.

Otras opciones han surgido en el mundo de la base de datos de documentos. Postgres, por ejemplo, dio a conocer un tipo de columna JSON. Esto permitió a los usuarios de Postgres almacenar datos no estructurados dentro de una base de datos relacional. Redis también surgió como una alternativa útil para los usuarios que necesitaban un almacén de valores clave. Puedes saber más sobre las diferencias entre MongoDB y Redis aquí. Y, como sucede con la mayoría de los proyectos de software exitosos, AWS lanzó su propia base de datos de documentos llamada DocumentDB, que es útil para la gente que quiere seguir con las aplicaciones nativas de AWS.

A pesar de la creciente competencia, MongoDB sigue reinando en el mundo de las bases de datos NoSQL/Documentos y sigue mejorando sus servicios, como hacerlos compatibles con ACID. Además, al soportar aplicaciones en la nube, MongoDB ha estado haciendo esfuerzos para soportar bases de datos distribuidas y lagos de datos.

Casos de uso de MongoDB

MongoDB es una gran base de datos para aplicaciones web, especialmente si la aplicación da servicio a muchos usuarios que no interactúan entre sí. Piensa en aplicaciones de servicios financieros, donde los usuarios sólo necesitan acceder a sus propios datos. O una aplicación de blogging, donde los usuarios quieren entrar y crear/editar sus propios blogs. La clave es que los usuarios no interactúan entre sí. Con una base de datos relacional, habría que almacenar información sobre un usuario en varias tablas. Cuando ese usuario se conecta, la aplicación tendría que hacer varias consultas, o complejas consultas JOIN, para acceder a toda la información de ese usuario. Con la base de datos de documentos sin esquema de MongoDB, se puede almacenar toda la información de un usuario de forma conjunta. Esto permitiría una única consulta a una única colección, y el front-end puede ocuparse de mostrar/editar los datos.

Otro caso de uso excelente para MongoDB es tratar de incorporar muchos conjuntos de datos. Su diseño sin esquemas permite flexibilidad en la forma de almacenar los datos. Así, puedes almacenar datos de varias fuentes de datos (sitios web, bases de datos, feeds RSS, etc.) en un solo lugar, y luego crear servicios sobre tu nueva base de datos para analizarlos todos. Por ejemplo, Xplenty ofrece esta integración para MongoDB.

MongoDB es una gran base de datos para integrar datos geoespaciales con otros tipos de datos. Por ejemplo, si la «ubicación» es una pieza de metadatos con la que estás trabajando, MongoDB soporta tipos GeoJSON, por lo que puedes almacenar eficientemente la latitud y las longitudes. Además, MongoDB soporta los índices 2DSphere, que optimizan los cálculos geométricos sobre la esfera.

Conclusión

MongoDB es una potente base de datos con muchas capacidades. Como empresa, han liderado la popularización de las bases de datos NoSQL y de Documentos. Como base de datos, han ampliado nuestra comprensión de las mejores prácticas de almacenamiento de datos, y han sembrado su camino en muchas aplicaciones en todo el mundo.

MongoDB también ofrece una versión gratuita, de código abierto, que es una excelente opción para los equipos con un presupuesto que pueden montar un servidor de base de datos en las instalaciones o en la nube. Si quieres que te ayuden con esto, Xplenty puede ayudarte. Conocemos los retos asociados al almacenamiento, la integración y el análisis de datos. Ya sea que necesite orientación para elegir las herramientas adecuadas para el almacenamiento de datos o asistencia para migrar sus datos a su nueva solución, programe una llamada con Xplenty y descubra cómo nuestra solución ETL fácil de usar puede trabajar para usted.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.