Visión general de MongoDB

Despliega las aplicaciones más populares en nuestros servidores cloud de alto rendimiento con un solo clic.

MongoDB es un SGBD orientado a documentos. Los datos en MongoDB se almacenan en documentos, que se agrupan en colecciones. Cada documento es una estructura similar a JSON. Haciendo una analogía con los SGBD relacionales, se puede decir que las colecciones corresponden a las tablas y los documentos a las filas de esas tablas. El tamaño máximo de un documento en MongoDB 2.x es de 16 MB (en versiones anteriores era de solo 4 MB).

file

A diferencia de los RDBMS, MongoDB no requiere ninguna descripción del esquema de la base de datos — este puede cambiar gradualmente a medida que evoluciona la aplicación, lo cual resulta muy conveniente.

Se admiten índices, incluidos los de arrays y documentos anidados, así como índices geoespaciales. También se admiten índices únicos y compuestos.

MongoDB también cuenta con operaciones atómicas, compare-and-swap, cursores, escritura sin confirmación e incluso MapReduce.

El tamaño de una colección en MongoDB puede limitarse por número de documentos o en megabytes. Si una colección crece demasiado, los documentos más antiguos se eliminan automáticamente. Esta función puede resultar útil si se desea almacenar datos temporales en MongoDB.

La interfaz de MongoDB se parece mucho a DBIx::Class — se obtiene un ORM «out of the box». En las consultas se pueden utilizar funciones de JavaScript.

MongoDB admite el journaling y la replicación asíncrona en dos modalidades: replicación master-slave y replica sets. Los desarrolladores de MongoDB recomiendan utilizar estos últimos. Un replica set funciona igual que un master-slave, pero si el master falla, se elige automáticamente un nuevo master entre las réplicas. Tras reanudar su funcionamiento, el antiguo master pasa a ser una réplica.

Quizás la característica más destacada de MongoDB es que los documentos pueden segmentarse automáticamente entre varios replica sets. La segmentación se realiza por rango; se utiliza una clave de segmentación (shard key) para asignar un documento a un rango concreto. Los datos se distribuyen entre los replica sets de modo que cada uno contenga aproximadamente la misma cantidad de datos. Si el clúster se sobrecarga, basta con añadir un nuevo replica set — la redistribución de los datos se producirá de forma automática.

En los documentos de MongoDB se pueden almacenar datos binarios — imágenes, archivos MP3, etc. Sin embargo, para datos de más de 1 MB se recomienda utilizar GridFS. GridFS es una convención para almacenar archivos de tamaño arbitrario en MongoDB, compatible con todos los controladores oficiales.

¿Necesitas ayuda?Nuestros ingenieros te ayudarán gratuitamente con cualquier pregunta en minutosContáctanos