sql >> Base de Datos >  >> NoSQL >> MongoDB

Acerca de MongoDB, ¿Por qué lo usamos? Terminología e implementación de MongoDB

Las organizaciones enfrentan todos los días nuevos desafíos para ofrecer continuamente nuevas funcionalidades comerciales mediante la implementación de nuevos procesos de TI, como Agile y DevOps, y la adopción de nuevas arquitecturas, como la nube y los microservicios. Para alinearnos con todo esto, necesitamos un nuevo concepto de base de datos capaz de administrar aumentos masivos en tipos de datos que cambian rápidamente y capaz de trabajar con datos donde sea que se almacenen en el lado del cliente y en el lado de la capa de datos.

Entonces, las bases de datos NoSQL “No solo SQL” están diseñadas para responder a estos desafíos. MongoDB es la base de datos NoSQL líder y una base de datos de documentos de código abierto.

En este artículo explicaremos los conceptos de MongoDB, daremos una idea de sus ventajas y terminología y dónde podemos implementarlo.

Ventajas de MongoDB:

La plataforma de datos de MongoDB se basa en dos conceptos principales:

  • Base de datos de documentos :MongoDB usa el documento como modelo de datos que es similar a los objetos JSON. Es una estructura de datos compuesta por pares de campos y valores. Los valores pueden incluir subdocumentos, matrices y matrices de documentos; que reducen la necesidad de costosas uniones. Con este modelo de datos, será más rápido y más fácil modelar cómo los objetos de la aplicación se asignarán a los datos, ya que corresponde a los tipos de datos nativos. Más allá de la facilidad de uso, los documentos son flexibles ya que podemos modificar nuestro esquema en cualquier momento, es polimórfico porque los documentos pueden tener estructuras diferentes en comparación con otros documentos de la misma colección y es extensible:modelamos datos en cualquier aplicación. lo exige.
  • Datos distribuidos: MongoDB ofrece la capacidad de escalar el sistema y distribuir datos para el acceso de usuarios de baja latencia. La implementación de técnicas de "fragmentación" y "conjuntos de réplicas" facilita la distribución de datos y aumenta nuestra implementación en hardware económico.

Terminología básica:

MongoDB almacena documentos BSON en colecciones; las colecciones en la base de datos. Un solo servidor MongoDB normalmente tiene varias bases de datos. Cada base de datos obtiene su propio conjunto de archivos en el sistema de archivos como formato de colecciones. Cada colección es un conjunto de documentos. Una de las principales ventajas de la colección es que no se aplican esquemas y, al mismo tiempo, tenemos un esquema dinámico. El esquema dinámico significa que los documentos de la misma colección no necesitan tener el mismo conjunto de campos o estructura, y los campos comunes en los documentos de una colección pueden contener diferentes tipos de datos.

La siguiente figura muestra la terminología de correspondencia de Base de datos relacional con MongoDB:

Idioma de consulta:

Tanto RDBMS (Oracle y MySQL) como MongoDB tienen un lenguaje de consulta enriquecido.

La siguiente figura muestra la correspondencia de Query Language de RDBMS y MongoDb:

Implementación:

Para aprovechar MongoDB, podemos elegir implementar MongoDB en estos campos:

  • Catálogo de productos de comercio electrónico
  • Blogs, administración de contenido y entrega
  • Infraestructura móvil y social
  • Grandes datos
  • Administración de datos de usuario
  • Centro de datos