¿No sabes por dónde empezar? Ayúdanos normalizando artículos.
¿Tienes experiencia? Crea alguno de estos artículos de actualidad.
Diferencia entre revisiones de «MongoDB»
Línea 27: | Línea 27: | ||
}}<div align="justify">'''MongoDB''' es el sistema de base de datos desarrollada en 10gen por Geir Magnusson y Dwight Merriman. Es una [[base de datos]] orientada a documentos JSON, salvo que está diseñada para ser una verdadera base de datos de objetos, más que para un almacenamiento de clave/valor puro. | }}<div align="justify">'''MongoDB''' es el sistema de base de datos desarrollada en 10gen por Geir Magnusson y Dwight Merriman. Es una [[base de datos]] orientada a documentos JSON, salvo que está diseñada para ser una verdadera base de datos de objetos, más que para un almacenamiento de clave/valor puro. | ||
==MongoDB== | ==MongoDB== | ||
− | Es una base de datos no relacional, es decir, no utiliza [[SQL]].El nombre viene del término inglés “humongous” (colosal) y puede ser definida como una BD documental sin esquema, escalable y de alto rendimiento. Algunos especialistas la han catalogado como la | + | Es una base de datos no relacional, es decir, no utiliza [[SQL]].El nombre viene del término inglés “humongous” (colosal) y puede ser definida como una BD documental sin esquema, escalable y de alto rendimiento. Algunos especialistas la han catalogado como la “[[MySQL]] de las bases de datos NoSQL”, al ver que es una BD rapidísima, sencilla en la funcionalidad ofrecida y que, como hizo MySQL hace años, se está ganando la atención de mucha gente. |
− | + | Para almacenar los documentos, utiliza una serialización binaria de JSON, llamada BSON, que es una lista ordenada de elementos simples. El núcleo de la base de datos es capaz de interpretar su contenido, de modo que lo que a simple vista parece un contenido binario, realmente es un documento que contiene varios elementos. Estos datos están limitados a un tamaño máximo de 4 MB; para tamaños superiores se requiere del uso de GridFS. | |
− | De forma similar [[CouchDB]], esta BD permite almacenar documentos sin un schema predefinido, pero ofrece algunas pequeñas diferencias en cuanto a la organización de la información. | + | De forma similar [[CouchDB]], esta BD permite almacenar documentos sin un schema predefinido, pero ofrece algunas pequeñas diferencias en cuanto a la organización de la información. Parte del concepto de BD que podría ser análogo al que usan las BD utilizadas anteriormente y además también tiene “colecciones” que serían como las tablas. Pero a diferencia de MySQL o similares, aquí puede guardar documentos con distintos campos dentro de la misma colección, de modo que esta estructura tiene más un sentido de categorización de los elementos que contiene sin obligar a que estos tengan los mismos datos. |
Es importante destacar que MongoDB ofrece un rendimiento en inserciones mucho mayor que CouchDB (e incluso algo mejor que MySQL). El fuerte de esta base es una mezcla entre las tablas de hash (key-value) con ciertas características de las bases de datos relacionales (RDBMS). | Es importante destacar que MongoDB ofrece un rendimiento en inserciones mucho mayor que CouchDB (e incluso algo mejor que MySQL). El fuerte de esta base es una mezcla entre las tablas de hash (key-value) con ciertas características de las bases de datos relacionales (RDBMS). | ||
− | ==Características== | + | ==Características y ventajas== |
− | *Almacenamiento orientado a documentos | + | *'''Almacenamiento orientado a documentos''' |
**Documentos estilo JSON con esquemas dinámicos ofrecen simplicidad y poder. | **Documentos estilo JSON con esquemas dinámicos ofrecen simplicidad y poder. | ||
− | *Soporte Full index | + | *'''Soporte Full index''' |
**Indices sobre cualquier atributo, tal y como estamos acostumbrados. | **Indices sobre cualquier atributo, tal y como estamos acostumbrados. | ||
− | *Replicación y alta disponibilidad | + | *'''Replicación y alta disponibilidad''' |
**Espejos entre LANs y WANs | **Espejos entre LANs y WANs | ||
− | *Auto-Sharding | + | *'''Auto-Sharding''' |
**Escalabilidad horizontal sin comprometer la funcionalidad, está limitada, actualmente, a 20 nodos, aunque el objetivo es alcanzar una cifra cercana a los 1000. | **Escalabilidad horizontal sin comprometer la funcionalidad, está limitada, actualmente, a 20 nodos, aunque el objetivo es alcanzar una cifra cercana a los 1000. | ||
− | *Consultas | + | *'''Consultas''' |
− | **Ricas y basadas en documentos | + | **Ricas y basadas en documentos, rápidas para consultas de lectura y escritura básica. |
− | *Rápidas actualizaciones en el contexto | + | *'''Rápidas actualizaciones en el contexto''' |
− | *Mapeo y reducción | + | *'''Mapeo y reducción''' |
**Agregación flexible y procesamiento de datos. | **Agregación flexible y procesamiento de datos. | ||
− | *GridFS | + | *'''GridFS''' |
**Almacena archivos de cualquier tamaño sin complicar tu “stack”. | **Almacena archivos de cualquier tamaño sin complicar tu “stack”. | ||
− | *Soporte comercial | + | *'''Soporte comercial''' |
**Soporte comercial, capacitación y consultoría disponibles. | **Soporte comercial, capacitación y consultoría disponibles. | ||
− | *Soporta consultas dinámicas | + | *'''Soporta consultas dinámicas''' |
**Se pueden formular sobre cualquier valor de los documentos y no solamente en los indexados. | **Se pueden formular sobre cualquier valor de los documentos y no solamente en los indexados. | ||
Revisión del 09:35 7 dic 2011
|
MongoDB
Es una base de datos no relacional, es decir, no utiliza SQL.El nombre viene del término inglés “humongous” (colosal) y puede ser definida como una BD documental sin esquema, escalable y de alto rendimiento. Algunos especialistas la han catalogado como la “MySQL de las bases de datos NoSQL”, al ver que es una BD rapidísima, sencilla en la funcionalidad ofrecida y que, como hizo MySQL hace años, se está ganando la atención de mucha gente.
Para almacenar los documentos, utiliza una serialización binaria de JSON, llamada BSON, que es una lista ordenada de elementos simples. El núcleo de la base de datos es capaz de interpretar su contenido, de modo que lo que a simple vista parece un contenido binario, realmente es un documento que contiene varios elementos. Estos datos están limitados a un tamaño máximo de 4 MB; para tamaños superiores se requiere del uso de GridFS.
De forma similar CouchDB, esta BD permite almacenar documentos sin un schema predefinido, pero ofrece algunas pequeñas diferencias en cuanto a la organización de la información. Parte del concepto de BD que podría ser análogo al que usan las BD utilizadas anteriormente y además también tiene “colecciones” que serían como las tablas. Pero a diferencia de MySQL o similares, aquí puede guardar documentos con distintos campos dentro de la misma colección, de modo que esta estructura tiene más un sentido de categorización de los elementos que contiene sin obligar a que estos tengan los mismos datos.
Es importante destacar que MongoDB ofrece un rendimiento en inserciones mucho mayor que CouchDB (e incluso algo mejor que MySQL). El fuerte de esta base es una mezcla entre las tablas de hash (key-value) con ciertas características de las bases de datos relacionales (RDBMS).
Características y ventajas
- Almacenamiento orientado a documentos
- Documentos estilo JSON con esquemas dinámicos ofrecen simplicidad y poder.
- Soporte Full index
- Indices sobre cualquier atributo, tal y como estamos acostumbrados.
- Replicación y alta disponibilidad
- Espejos entre LANs y WANs
- Auto-Sharding
- Escalabilidad horizontal sin comprometer la funcionalidad, está limitada, actualmente, a 20 nodos, aunque el objetivo es alcanzar una cifra cercana a los 1000.
- Consultas
- Ricas y basadas en documentos, rápidas para consultas de lectura y escritura básica.
- Rápidas actualizaciones en el contexto
- Mapeo y reducción
- Agregación flexible y procesamiento de datos.
- GridFS
- Almacena archivos de cualquier tamaño sin complicar tu “stack”.
- Soporte comercial
- Soporte comercial, capacitación y consultoría disponibles.
- Soporta consultas dinámicas
- Se pueden formular sobre cualquier valor de los documentos y no solamente en los indexados.
Fuentes
- Artículo Raticos tecnológicos: Contendientes en bases de datos no relacionales. Disponible en rafinguer.blogspot.com/2009/12/contendientes-en-servicios-de-nube.html. Consultado el 17 de noviembre del 2011.
- Artículo Bases de datos no relacionales: MongoDB | TechNiq. Disponible en techniq.mx/2010/07/bases-de-datos-no-relacionales-mongodb/. Consultado el 17 de noviembre del 2011.
- Artículo MongoDb. Disponible en www.mongodb.org/. Consultado el 17 de noviembre del 2011.
- Artículo MongoDB | NoSQL.es. Disponible en http://www.nosql.es/blog/nosql/mongodb.html . Consultado el 7 de diciembre del 2011.
- Artículo MongoDB: la MySQL del NoSQL | Blog – 4TIC. Disponible en http://www.4tic.com/blog/2011/06/29/mongodb-la-mysql-del-nosql/ . Consultado el 7 de diciembre del 2011.