Mongodb

Definición: ¿Qué significa MongoDB?

MongoDB es una base de datos orientada a documentos multiplataforma y de código abierto, una especie de base de datos NoSQL. Como base de datos NoSQL, MongoDB evita la estructura basada en tablas de la base de datos relacional para adaptar documentos similares a JSON que tienen esquemas dinámicos a los que llama BSON.

Esto hace que la integración de datos para ciertos tipos de aplicaciones sea más rápida y sencilla. MongoDB está diseñado para la escalabilidad, la alta disponibilidad y el rendimiento desde una implementación de un solo servidor hasta grandes y complejas infraestructuras de múltiples sitios.

Techinfo explica MongoDB

MongoDB fue desarrollado por primera vez por MongoDB Inc., conocido entonces como 10gen, en octubre de 2007 originalmente como una parte importante de un producto PaaS (plataforma como servicio) similar a Windows Azure y Google App Engine. El desarrollo se cambió a código abierto en 2009.

MongoDB se convirtió en una de las bases de datos NoSQL más populares, y se utiliza como backend para muchos sitios web importantes, incluidos eBay, Craigslist, SourceForge y The New York Times. MongoDB está disponible bajo la Licencia Pública General GNU Affero, mientras que sus controladores de idioma están disponibles bajo la Licencia Apache. También se ofrecen licencias comerciales.

Características de MongoDB:

  • Consultas ad hoc: admite búsqueda por campo, búsquedas de expresiones regulares y consultas de rango.
  • Indexación: se puede indexar cualquier campo del documento BSON.
  • Replicación: proporciona alta disponibilidad a través de conjuntos de réplicas que constan de dos o más copias de los datos originales.
  • Equilibrio de carga: la fragmentación es el método utilizado para permitir que MongoDB escale horizontalmente, lo que significa que los datos se distribuirán y dividirán en rangos y luego se almacenarán en diferentes fragmentos que se pueden ubicar en diferentes servidores. Las claves de fragmentos se utilizan para determinar cómo se distribuirán los datos.
  • Agregación: MapReduce se puede aplicar para permitir el procesamiento por lotes de datos, así como para realizar operaciones de agregación.
  • Almacenamiento de archivos: MongoDB se puede usar como sistema de archivos que hace uso de las funciones anteriores y actúa de manera distribuida a través de la fragmentación.