¿Qué es MongoDB? ¿Cómo funciona MongoDB?


MongoDB es un sistema de administración de bases de datos distribuidas de código abierto, moderno, de propósito general y basado en documentos desarrollado, distribuido y respaldado por MongoDB Inc. Es una base de datos de documentos NoSQL (no relacional) potente, flexible y ágil que almacena datos en documentos similares a los objetos JSON (JavaScript Object Notation). MongoDB se ejecuta en los sistemas operativos Linux, Windows y macOS.

Viene con un conjunto completo de herramientas para una fácil gestión de datos y está diseñado para el desarrollo de aplicaciones modernas y para la nube, y está diseñado para que lo utilicen desarrolladores, analistas de datos y científicos de datos.

MongoDB se ofrece en dos ediciones diferentes: MongoDB Community Server, que es la edición gratuita y disponible en origen de MongoDB y MongoDB Enterprise Server que forma parte de la suscripción a MongoDB Enterprise Advanced.

  • Servidor de la comunidad de MongoDB
  • MongoDB Enterprise Server

¿Cómo funciona MongoDB?

MongoDB está estructurado en un modelo cliente-servidor donde un demonio de servidor acepta conexiones de clientes y procesa las acciones de la base de datos de ellos. El servidor debe estar ejecutándose para que los clientes se conecten e interactúen con las bases de datos.

El almacenamiento de datos en MongoDB es diferente al de las bases de datos tradicionales. Un registro en MongoDB es un documento (una estructura de datos compuesta por pares de campo y valor, similar a los objetos JSON) y los documentos se almacenan en colecciones (análogas a las tablas en RDBMS).

Características clave de MongoDB

Las siguientes son las características clave de MongoDB.

  • MongoDB admite vistas de solo lectura y vistas materializadas bajo demanda. También admite matrices y objetos anidados, ya que los valores permiten esquemas flexibles y dinámicos. Además, es compatible con varios motores de almacenamiento y proporciona una API de motor de almacenamiento conectable que puede utilizar para desarrollar sus motores de almacenamiento.
  • MongoDB está diseñado para un alto rendimiento y persistencia de datos. Admite modelos de datos integrados que alivian la actividad de E/S en el sistema de base de datos. Además, sus índices permiten consultas más rápidas y, lo que es más importante, pueden incluir claves de documentos y matrices incrustados.
  • Viene con un lenguaje de consulta rico y poderoso (para admitir operaciones de lectura y escritura), admite la agregación de datos y otros casos de uso modernos como la búsqueda de texto, la búsqueda de gráficos y las consultas geoespaciales.
  • Ofrece el poder de las bases de datos relacionales al admitir transacciones ACID completas, uniones en consultas y dos tipos de relaciones en lugar de una: referencia e incrustada.
  • MongoDB también admite alta disponibilidad, utilizando una función de replicación llamada conjunto de réplicas (un grupo de servidores MongoDB que mantienen el conjunto de datos, lo que proporciona conmutación por error automática, redundancia de datos y disponibilidad). También hay soporte para la escalabilidad horizontal donde la fragmentación distribuye datos a través de un clúster de servidores MongoDB.
  • Para asegurar la implementación de una base de datos, MongoDB proporciona varias funciones de seguridad, como autenticación y autorización, control de acceso, cifrado TLS/SSL, auditoría y más.
  • Además, proporciona una lista de verificación de seguridad que es una lista de medidas de seguridad recomendadas que debe implementar para proteger una implementación de MongoDB. Además, asegúrese de haber reforzado la seguridad en la red y la capa del servidor.

Cliente y herramientas de MongoDB

Además, MongoDB viene con algunos comandos y herramientas de base de datos útiles para monitorear su rendimiento, como mongostat, mongotop y más, que lo ayudan a ver estadísticas en tiempo real sobre el estado de una instancia de MongoDB en ejecución en el host local.

Para integrar sus aplicaciones o sistemas externos con una base de datos MongoDB, puede utilizar uno de los muchos conectores y bibliotecas oficiales. También hay bibliotecas respaldadas por la comunidad, como libmongo-client para C, Djongo para Django, mgo para Go, Mango para Perl y MongoEngine, MongoKit y otras para Python, y mucho más.

¿Quién usa MongoDB?

Según los informes, las empresas utilizan MongoDB en sus pilas de tecnología, incluidos Google, Facebook, EA Sports, Adobe, Uber, Cisco, Verizon y muchos otros.

Aquí hay algunos artículos útiles sobre MariaDB:

  • Cómo instalar MongoDB en Ubuntu 18.04
  • Instale MongoDB Community Edition 4.0 en Linux
  • Cómo instalar MongoDB 4 en CentOS 8
  • Cómo instalar MongoDB 4 en Debian 10