MongoDB: descripción general
MongoDB es una base de datos multiplataforma orientada a documentos que proporciona alto rendimiento, alta disponibilidad y fácil escalabilidad. MongoDB trabaja en el concepto de colección y documento.
Base de datos
La base de datos es un contenedor físico para colecciones. Cada base de datos obtiene su propio conjunto de archivos en el sistema de archivos. Un solo servidor MongoDB normalmente tiene varias bases de datos.
Colección
La colección es un grupo de documentos MongoDB. Es el equivalente a una tabla RDBMS. Existe una colección dentro de una sola base de datos. Las colecciones no imponen un esquema. Los documentos de una colección pueden tener diferentes campos. Normalmente, todos los documentos de una colección tienen un propósito similar o relacionado.
Documento
Un documento es un conjunto de pares clave-valor. Los documentos tienen 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 tabla muestra la relación de la terminología RDBMS con MongoDB.
RDBMS | MongoDB |
---|---|
Base de datos | Base de datos |
Mesa | Colección |
Tupla / Fila | Documento |
columna | Campo |
Unión de mesa | Documentos incrustados |
Clave primaria | Clave principal (clave predeterminada _id proporcionada por MongoDB) |
Cliente y servidor de base de datos | |
mysqld / Oracle | mongod |
mysql / sqlplus | mongo |
Documento de muestra
El siguiente ejemplo muestra la estructura del documento de un sitio de blog, que es simplemente un par clave-valor separado por comas.
{
_id: ObjectId(7df78ad8902c)
title: 'MongoDB Overview',
description: 'MongoDB is no sql database',
by: 'tutorials point',
url: 'http://www.tutorialspoint.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100,
comments: [
{
user:'user1',
message: 'My first comment',
dateCreated: new Date(2011,1,20,2,15),
like: 0
},
{
user:'user2',
message: 'My second comments',
dateCreated: new Date(2011,1,25,7,45),
like: 5
}
]
}
_ides un número hexadecimal de 12 bytes que asegura la singularidad de cada documento. Puede proporcionar _id al insertar el documento. Si no lo proporciona, MongoDB proporciona una identificación única para cada documento. Estos 12 bytes, los primeros 4 bytes para la marca de tiempo actual, los siguientes 3 bytes para la identificación de la máquina, los siguientes 2 bytes para la identificación del proceso del servidor MongoDB y los 3 bytes restantes son un valor incremental simple.