¿Qué es MongoDB?
Si tuviésemos que explicar qué es MongoDB podríamos decir que es una base de datos opensource NOSQL basada en documentos desarrollada por la gente de 10gen. Aunque una vez que cogió auge la base de datosMongoDB pasaron a llamarse con el mismo nombre y ahora la empresa y el producto se llaman MongoDB. El nombre de MongoDB proviene de “humongous”, que significa enorme en inglés. MongoDB es una base de datos NOSQL, opensource, escrita en C++, escalable y de alto rendimiento.
MongoDB y los documentos
El elemento principal de MongoDB es como almacena la información. MongoDB almacena toda la información en documentos JSON.
{
web: "Manual Web",
url: "http://www.manualweb.net",
description: "Tutoriales sobre Programación",
email: "[email protected]",
lenguajes: ["java","html5","javascript","mongodb"],
social:
{
twitter: "manual_web",
facebook: "ManualWeb"
}
}
El almacenar la información en documentos JSON permite a MongoDB tener independencia del schema de almacenamiento, es decir, pueden existir más o menos campos en el documento dentro de una misma colección de documentos. Una de las cosas importantes de los documentos es que estos van tipados. Además los documentos nos permiten nuevas estructuras como arrays o subdocumentos que permitirán que de una sola consulta se recupere toda la información y evite así la necesidad de ejecutar consultas de tipo join.
Principales características de MongoDB
Aunque en los siguientes capítulos iremos viendo en detalle todas las funcionalidades de MongoDB, podríamos decir que las principales características de MongoDB son:
Alto rendimiento
El alto rendimiento para la persistencia en MongoDB se basa en dos puntos: La posibilidad de tener documentos con la información anidada, evitando, de esta forma, un número elevado de operaciones de I/O. Y el soporte de índices y la posibilidad de crear índices sobre arrays y subdocumentos.
Alta disponibilidad
MongoDB proporciona alta disponibilidad mediante la réplica automática conocida como replica set, la cual proporciona redundancia de datos y failover automático, es decir, la transferencia automática a un nuevo nodo cuando se encuentra un fallo en uno de los nodos.
Escalado Automático
MongoDB nos ofrece un escalado horizontal. Para ello el sistema de sharding nos permite distribuir información por diferentes cluster de máquinas.
- Anterior
- Siguiente