MongoDB es un programa de base de datos orientado a documentos multiplataforma disponible en origen . Clasificado como un programa de base de datos NoSQL , MongoDB utiliza documentos similares a JSON con esquemas opcionales . MongoDB es desarrollado por MongoDB Inc. y tiene licencia de Server Side Public License (SSPL).
Desarrollador (es) | MongoDB Inc. |
---|---|
Versión inicial | 11 de febrero de 2009 [1] |
Lanzamiento estable | 4.4.5 [2] / 8 de abril de 2021, hace 58 días |
Repositorio | |
Escrito en | C ++ , JavaScript , Python |
Sistema operativo | Windows Vista y posterior, Linux , OS X 10.7 y posterior, Solaris , [3] FreeBSD [4] |
Disponible en | inglés |
Tipo | Base de datos orientada a documentos |
Licencia | Licencia pública del lado del servidor |
Sitio web | www |
Historia
La compañía de software 10gen comenzó a desarrollar MongoDB en 2007 como un componente de una plataforma planificada como un producto de servicio . En 2009, la compañía cambió a un modelo de desarrollo de código abierto, y la compañía ofreció soporte comercial y otros servicios. En 2013, 10gen cambió su nombre a MongoDB Inc. [5]
El 20 de octubre de 2017, MongoDB se convirtió en una empresa que cotiza en bolsa, que cotiza en NASDAQ como MDB con un precio de oferta pública inicial de $ 24 por acción. [6]
El 30 de octubre de 2019, MongoDB se asoció con Alibaba Cloud , quien ofrecerá a sus clientes una solución MongoDB como servicio. Los clientes pueden utilizar la oferta gestionada de los centros de datos globales de BABA. [7]
Versión | Fecha de lanzamiento | Notas de funciones | Refs |
---|---|---|---|
1.0 | Febrero de 2009 | ||
1.2 | Diciembre de 2009 |
| [8] |
1.4 | Marzo de 2010 | [9] | |
1,6 | Agosto de 2010 |
| [10] |
1.8 | Marzo de 2011 | [11] | |
2.0 | Septiembre de 2011 | [12] | |
2.2 | Agosto 2012 | [13] | |
2.4 | Marzo de 2013 |
| [14] |
2.6 | 8 de abril de 2014 |
| [15] |
3,0 | 3 de marzo de 2015 |
| [dieciséis] |
3.2 | 8 de diciembre de 2015 |
| [17] |
3.4 | 29 de noviembre de 2016 |
| [18] |
3.6 | Noviembre de 2017 | [19] | |
4.0 | Junio de 2018 |
| [20] |
4.2 | Agosto de 2019 | [21] | |
4.4 | Julio de 2020 | [22] | |
4.4.5 | Abril de 2021 | [23] |
Principales características
Consultas ad-hoc
MongoDB admite búsquedas de campo, de rango y de expresión regular . [24] Las consultas pueden devolver campos específicos de documentos y también incluir funciones de JavaScript definidas por el usuario . Las consultas también se pueden configurar para devolver una muestra aleatoria de resultados de un tamaño determinado.
Indexación
Los campos de un documento de MongoDB se pueden indexar con índices primarios y secundarios.
Replicación
MongoDB proporciona alta disponibilidad con conjuntos de réplicas. [25] Un conjunto de réplicas consta de dos o más copias de los datos. Cada miembro del conjunto de réplicas puede actuar como réplica principal o secundaria en cualquier momento. Todas las escrituras y lecturas se realizan en la réplica principal de forma predeterminada. Las réplicas secundarias mantienen una copia de los datos de la principal mediante la replicación incorporada. Cuando falla una réplica principal, el conjunto de réplicas realiza automáticamente un proceso de elección para determinar qué secundaria debe convertirse en principal. Los secundarios pueden servir opcionalmente operaciones de lectura, pero esos datos solo eventualmente son consistentes de manera predeterminada.
Si la implementación de MongoDB replicada solo tiene un miembro secundario, se debe agregar al conjunto un demonio separado llamado árbitro . Tiene una única responsabilidad, que es resolver la elección de las nuevas primarias. [26] Como consecuencia, una implementación de MongoDB distribuida idealizada requiere al menos tres servidores separados, incluso en el caso de solo uno primario y uno secundario. [26]
Balanceo de carga
MongoDB escala horizontalmente usando fragmentación . [27] El usuario elige una clave de fragmentación, que determina cómo se distribuirán los datos de una colección. Los datos se dividen en rangos (según la clave del fragmento) y se distribuyen en varios fragmentos. (Un fragmento es un maestro con una o más réplicas). Alternativamente, la clave del fragmento se puede aplicar hash para asignar a un fragmento, lo que permite una distribución uniforme de los datos.
MongoDB puede ejecutarse en varios servidores, equilibrando la carga o duplicando datos para mantener el sistema en funcionamiento en caso de falla del hardware.
Almacenamiento de archivos
MongoDB se puede utilizar como un sistema de archivos , llamado GridFS , con funciones de equilibrio de carga y replicación de datos en varias máquinas para almacenar archivos.
Esta función, llamada sistema de archivos de cuadrícula , [28] se incluye con los controladores MongoDB. MongoDB expone funciones para la manipulación de archivos y contenido a los desarrolladores. Se puede acceder a GridFS utilizando la utilidad mongofiles o complementos para Nginx [29] y lighttpd . [30] GridFS divide un archivo en partes, o fragmentos, y almacena cada uno de esos fragmentos como un documento separado. [31]
Agregación
MongoDB proporciona tres formas de realizar la agregación: la canalización de agregación, la función de reducción de mapa y los métodos de agregación de propósito único. [32]
Map-reduce se puede utilizar para el procesamiento por lotes de datos y operaciones de agregación. Pero según la documentación de MongoDB, Aggregation Pipeline proporciona un mejor rendimiento para la mayoría de las operaciones de agregación. [33]
El marco de la agregación permite a los usuarios obtener el tipo de resultados para los que el SQL se utiliza la cláusula GROUP BY. Los operadores de agregación se pueden unir para formar una tubería, análoga a las tuberías Unix . El marco de agregación incluye el operador $ lookup que puede unir documentos de múltiples colecciones, así como operadores estadísticos como la desviación estándar.
Ejecución de JavaScript del lado del servidor
JavaScript se puede utilizar en consultas, funciones de agregación (como MapReduce ) y enviar directamente a la base de datos para su ejecución.
Colecciones limitadas
MongoDB admite colecciones de tamaño fijo denominadas colecciones limitadas. Este tipo de colección mantiene el orden de inserción y, una vez alcanzado el tamaño especificado, se comporta como una cola circular .
Actas
MongoDB afirma admitir transacciones ACID de varios documentos desde la versión 4.0 en junio de 2018. [34] Se descubrió que esta afirmación no es cierta ya que MongoDB viola el aislamiento de instantáneas . [35]
Ediciones
Servidor de comunidad MongoDB
MongoDB Community Edition es gratuita y está disponible para Windows, Linux y OS X. [36]
Servidor empresarial MongoDB
MongoDB Enterprise Server es la edición comercial de MongoDB, disponible como parte de la suscripción de MongoDB Enterprise Advanced. [37]
Atlas de MongoDB
MongoDB también está disponible como un servicio totalmente administrado bajo demanda. MongoDB Atlas se ejecuta en AWS, Microsoft Azure y Google Cloud Platform. [38]
Arquitectura
Accesibilidad del lenguaje de programación
MongoDB tiene controladores oficiales para los principales lenguajes de programación y entornos de desarrollo. [39] También hay una gran cantidad de controladores no oficiales o apoyados por la comunidad para otros lenguajes de programación y marcos.
Acceso sin servidor
Gestión y front-end gráficos
La interfaz principal de la base de datos ha sido el shell mongo. Desde MongoDB 3.2, MongoDB Compass se introduce como la GUI nativa. Existen productos y proyectos de terceros que ofrecen interfaces de usuario para la administración y visualización de datos. [40]
Licencia
Servidor de comunidad MongoDB
A partir de octubre de 2018, MongoDB se lanza bajo la Licencia pública del lado del servidor (SSPL), una licencia desarrollada por el proyecto. Reemplaza la GNU Affero General Public License y es casi idéntica a la GNU General Public License versión 3 , pero requiere que aquellos que hacen que el software esté disponible públicamente como parte de un "servicio" deben hacer que todo el código fuente del servicio esté disponible bajo esta licencia. [41] [42] El SSPL se presentó para su certificación a la Open Source Initiative, pero luego se retiró. [43] Los controladores de idioma están disponibles bajo una licencia Apache . Además, MongoDB Inc. ofrece licencias propietarias para MongoDB. Las últimas versiones con licencia como AGPL versión 3 son 4.0.3 (estable) y 4.1.4.
MongoDB se ha eliminado de las distribuciones Debian , Fedora y Red Hat Enterprise Linux debido al cambio de licencia. Fedora determinó que la versión 1 de SSPL no es una licencia de software libre porque está "diseñada intencionalmente para ser agresivamente discriminatoria" hacia los usuarios comerciales. [44] [45]
Informes de errores y críticas
Seguridad
Debido a la configuración de seguridad predeterminada de MongoDB, que permite que cualquier persona tenga acceso completo a la base de datos, se han robado datos de decenas de miles de instalaciones de MongoDB. Además, se han retenido muchos servidores de MongoDB para pedir un rescate . [46] [47]
A partir de la versión 2.6 de MongoDB en adelante, los binarios de los paquetes oficiales de MongoDB RPM y DEB se vinculan a localhost de forma predeterminada. Desde MongoDB 3.6, este comportamiento predeterminado se extendió a todos los paquetes de MongoDB en todas las plataformas. Como resultado, se denegarán todas las conexiones en red a la base de datos a menos que un administrador las configure explícitamente. [48]
Criticas tecnicas
En algunos escenarios de falla en los que una aplicación puede acceder a dos procesos de MongoDB distintos, pero estos procesos no pueden acceder entre sí, es posible que MongoDB devuelva lecturas obsoletas. En este escenario, también es posible que MongoDB deshaga las escrituras que se han reconocido. [49] Este problema se solucionó desde que se lanzó la versión 3.4.0 en noviembre de 2016 [50] (y se actualizó a la v3.2.12). [51]
Antes de la versión 2.2, los bloqueos se implementaban en un proceso por servidor. Con la versión 2.2, los bloqueos se implementaron a nivel de base de datos. [52] Desde la versión 3.0, [53] se introdujeron motores de almacenamiento conectables, y cada motor de almacenamiento puede implementar bloqueos de manera diferente. [53] Con MongoDB 3.0, los bloqueos se implementan en el nivel de colección para el motor de almacenamiento MMAPv1, [54] mientras que el motor de almacenamiento WiredTiger usa un protocolo de simultaneidad optimista que proporciona efectivamente un bloqueo a nivel de documento. [55] Incluso con versiones anteriores a la 3.0, un enfoque para aumentar la concurrencia es usar fragmentación . [56] En algunas situaciones, las lecturas y escrituras cederán sus bloqueos. Si MongoDB predice que es poco probable que una página esté en la memoria, las operaciones cederán su bloqueo mientras se cargan las páginas. El uso de ceder cerradura se expandió mucho en 2.2. [57]
Hasta la versión 3.3.11, MongoDB no podía realizar una ordenación basada en la intercalación y se limitaba a la comparación de bytes a través de memcmp, que no proporcionaba una ordenación correcta para muchos idiomas distintos del inglés cuando se usaba con una codificación Unicode. El problema se solucionó el 23 de agosto de 2016.
Antes de MongoDB 4.0, las consultas en un índice no eran atómicas. Es posible que se pierdan los documentos que se estaban actualizando mientras se ejecutaba la consulta. [58] La introducción del problema de lectura de instantáneas en MongoDB 4.0 eliminó este fenómeno. [59]
Aunque MongoDB afirma en un artículo sin fecha titulado "MongoDB y Jepsen" [60] que su base de datos pasó las pruebas de la empresa Jepsen de investigación de seguridad de sistemas distribuidos, que denominó "las pruebas de seguridad, corrección y coherencia de datos más exigentes de la industria", Jepsen publicó un artículo en Mayo de 2020 indicando que MongoDB 3.6.4 de hecho falló sus pruebas, y que el MongoDB 4.2.6 más nuevo tiene más problemas, incluidas las "transacciones retrocausales" donde una transacción invierte el orden para que una lectura pueda ver el resultado de una escritura futura. [61] [62] Jepsen señaló en su informe que MongoDB omitió cualquier mención de estos hallazgos en la página "MongoDB y Jepsen" de MongoDB.
Conferencia MongoDB
MongoDB Inc. organiza una conferencia anual de desarrolladores a la que se ha hecho referencia como MongoDB World o MongoDB.live. [63]
Año | fechas | Ciudad | Lugar de eventos | Notas |
---|---|---|---|---|
2014 [64] | 23-25 de junio | Nueva York | Hotel Sheraton Times Square | |
2015 [65] | 1 a 2 de junio | Nueva York | Hotel Sheraton Times Square | |
2016 [66] | 28 al 29 de junio | Nueva York | Nueva York Hilton Midtown | |
2017 [67] | 20-21 de junio | Chicago | Hyatt Regency Chicago | Primer año no en la ciudad de Nueva York |
2018 [68] | 26-27 de junio | Nueva York | Nueva York Hilton Midtown | |
2019 [69] | 17-19 de junio | Nueva York | Nueva York Hilton Midtown | |
2020 [70] | 4 al 6 de mayo | En línea | Evento en persona cancelado y conferencia realizada completamente en línea debido a la pandemia de COVID-19 | |
2021 [71] | 13-14 de julio | En línea | Conferencia realizada en línea debido a la pandemia COVID-19 |
Ver también
- Apache Cassandra
- BSON , el formato JSON binario que utiliza MongoDB para el almacenamiento y la transferencia de datos
- Lista de implementaciones de JavaScript del lado del servidor
- MEAN , una pila de soluciones que utiliza MongoDB como base de datos
- Secuencias de comandos del lado del servidor
- TokuMX , una bifurcación de MongoDB con mayor consistencia y nuevas estructuras de índice
Referencias
- ^ "Estado de MongoDB marzo de 2010" . DB-Engines . Archivado desde el original el 18 de septiembre de 2017 . Consultado el 5 de julio de 2017 .
- ^ "Suelte r4.4.5" . Consultado el 9 de abril de 2021 .
- ^ "Cómo configurar un clúster NoSQL de MongoDB mediante zonas de Oracle Solaris" . Oracle . Archivado desde el original el 12 de agosto de 2017 . Consultado el 5 de julio de 2017 .
- ^ "Cómo hacer: MongoDB en FreeBSD 10.x" . Noticias de FreeBSD . Archivado desde el original el 28 de diciembre de 2017 . Consultado el 5 de julio de 2017 .
- ^ "10gen abraza lo que creó, se convierte en MongoDB Inc" . Gigaom . Archivado desde el original el 5 de marzo de 2016 . Consultado el 29 de enero de 2016 .
- ^ Witkowski, Wallace (21 de octubre de 2017). "Las acciones de MongoDB suben un 34% en el primer día de negociación por encima del precio de salida a bolsa elevado" . MarketWatch . Dow Jones. Archivado desde el original el 26 de febrero de 2018 . Consultado el 26 de febrero de 2018 .
- ^ Betz, Brandy (30 de octubre de 2019). "Equipos de MongoDB con Alibaba Cloud" . Buscando Alfa . Consultado el 31 de octubre de 2019 .
- ^ "Notas de la versión para MongoDB 1.2.x" . mongodb.com .
- ^ "Notas de la versión para MongoDB 1.4" . mongodb.com .
- ^ "Notas de la versión para MongoDB 1.6" . mongodb.com .
- ^ "Notas de la versión para MongoDB 1.8" . mongodb.com .
- ^ "Notas de la versión para MongoDB 2.0" . mongodb.com .
- ^ "Notas de la versión para MongoDB 2.2" . mongodb.com .
- ^ "Notas de la versión de MongoDB 2.4" . mongodb.com .
- ^ "Notas de la versión para MongoDB 2.6" . mongodb.com .
- ^ "Notas de la versión para MongoDB 3.0" . mongodb.com .
- ^ "Notas de la versión para MongoDB 3.2" . mongodb.com .
- ^ "Notas de la versión para MongoDB 3.4" . mongodb.com .
- ^ "Notas de la versión para MongoDB 3.6" . mongodb.com .
- ^ "Notas de la versión para MongoDB 4.0" . mongodb.com .
- ^ "Notas de la versión para MongoDB 4.2" . mongodb.com .
- ^ "Notas de la versión para MongoDB 4.4" . mongodb.com .
- ^ "Notas de la versión para MongoDB 4.4" . mongodb.com .
- ^ Davis Kerby. "Por qué MongoDB es el camino a seguir" . DZone. Archivado desde el original el 12 de junio de 2018 . Consultado el 6 de julio de 2017 .
- ^ "Recuperación de réplicas de MongoDB ridículamente rápida, parte 1 de 2" . ClusterHQ. Archivado desde el original el 30 de octubre de 2017.
- ^ a b "Documentos de MongoDB - Árbitro de conjunto de réplicas" . Consultado el 9 de abril de 2021 .
- ^ "Convertir el conjunto de réplicas de MongoDB en un clúster fragmentado" . Varios nueves . Archivado desde el original el 25 de noviembre de 2016.
- ^ "GridFS y MongoDB: pros y contras" . Redactar . Archivado desde el original el 10 de septiembre de 2017.
- ^ "Complemento NGINX para el código fuente de MongoDB" . GitHub . Archivado desde el original el 11 de abril de 2016 . Consultado el 10 de septiembre de 2016 .
- ^ "complemento lighttpd para el código fuente de MongoDB" . Bitbucket . Archivado desde el original el 7 de agosto de 2011 . Consultado el 28 de junio de 2010 .
- ^ Malick Md. "Descripción general de MongoDB" . Expertstown . Archivado desde el original el 5 de marzo de 2014 . Consultado el 27 de febrero de 2014 .
- ^ "Agregación - Manual de MongoDB" . docs.mongodb.com . Archivado desde el original el 29 de noviembre de 2018 . Consultado el 14 de agosto de 2018 .
- ^ "Map-Reduce - MongoDB Manual" . docs.mongodb.com . Archivado desde el original el 14 de agosto de 2018 . Consultado el 14 de agosto de 2018 .
- ^ "MongoDB impulsa NoSQL más profundamente en las oportunidades empresariales" . 27 de junio de 2018. Archivado desde el original el 7 de agosto de 2018 . Consultado el 7 de agosto de 2018 .
- ^ MongoDB 4.2.6
- ^ "Centro de descarga de MongoDB" . MongoDB . Archivado desde el original el 14 de agosto de 2018 . Consultado el 14 de agosto de 2018 .
- ^ "Centro de descarga de MongoDB" . MongoDB . Archivado desde el original el 14 de agosto de 2018 . Consultado el 14 de agosto de 2018 .
- ^ "MongoDB lanza Global Clusters para poner el control de datos geográficos al alcance de cualquiera" . MongoDB . Archivado desde el original el 27 de junio de 2018 . Consultado el 27 de junio de 2018 .
- ^ MongoDB. "GitHub - mongodb / mongo" . GitHub. Archivado desde el original el 29 de julio de 2017 . Consultado el 6 de julio de 2017 .
- ^ Ma, Jason. "Visualización de sus datos con MongoDB Compass" . Dzone . Dzone.com. Archivado desde el original el 22 de mayo de 2018 . Consultado el 6 de julio de 2017 .
- ^ Baer, Tony. "Es el turno de MongoDB de cambiar su licencia de código abierto" . ZDNet . Archivado desde el original el 31 de octubre de 2018 . Consultado el 16 de octubre de 2018 .
- ^ "MongoDB cambia su licencia de código abierto" . TechCrunch . Archivado desde el original el 16 de octubre de 2018 . Consultado el 16 de octubre de 2018 .
- ^ Staff, Ars (16 de octubre de 2019). "En 2019, varias empresas de código abierto cambiaron de rumbo: ¿es la decisión correcta?" . Ars Technica .
- ^ Vaughan-Nichols, Steven J. "MongoDB" de código abierto "Licencia pública del lado del servidor rechazada" . ZDNet . Archivado desde el original el 16 de enero de 2019 . Consultado el 17 de enero de 2019 .
- ^ "Los cambios de licencia de MongoDB llevaron a Red Hat a eliminar la base de datos de la última versión de su sistema operativo de servidor" . GeekWire . 16 de enero de 2019. Archivado desde el original el 17 de enero de 2019 . Consultado el 17 de enero de 2019 .
- ^ Krebs, Brian. "Los extorsionistas borran miles de bases de datos, las víctimas que pagan se ponen rígidas" . krebsonsecurity.com . Brian Krebs. Archivado desde el original el 11 de enero de 2017 . Consultado el 11 de enero de 2017 .
- ^ Constantin, Lucian. "Los grupos de ransomware han eliminado más de 10.000 bases de datos de MongoDB" . Computer World . IDG. Archivado desde el original el 10 de enero de 2017 . Consultado el 11 de enero de 2017 .
- ^ "Compatibilidad de MongoDB Bind IP" . MongoDB . MongoDB. Archivado desde el original el 6 de marzo de 2019 . Consultado el 5 de marzo de 2019 .
- ^ Kyle Kingsbury (20 de abril de 2015). "Llámame tal vez: lecturas obsoletas de MongoDB" . Archivado desde el original el 15 de agosto de 2015 . Consultado el 4 de julio de 2015 .
- ^ "Notas de la versión para MongoDB 3.4" . Manual de MongoDB . Archivado desde el original el 14 de agosto de 2018 . Consultado el 6 de abril de 2018 .
- ^ Kingsbury, Kyle (7 de febrero de 2017). "MongoDB 3.4.0-rc3" . Jepsen . Archivado desde el original el 23 de octubre de 2017.
- ^ "Atomicidad, aislamiento y concurrencia en MongoDB" . scalegrid.io . Archivado desde el original el 10 de septiembre de 2017 . Consultado el 28 de junio de 2017 .
- ^ a b "MongoDB se puede conectar con motores de almacenamiento" . datanami.com. 5 de marzo de 2015. Archivado desde el original el 4 de julio de 2017 . Consultado el 28 de junio de 2017 .
- ^ Consultoría arboriana. "MongoDB, MMAPv1, WiredTiger, bloqueo y colas" . Consultoría arboriana. Archivado desde el original el 19 de junio de 2017 . Consultado el 28 de junio de 2017 .
- ^ Kenny Gorman. "Compresión y rendimiento de MongoDB 3.0 WiredTiger" . Objectrocket.com/. Archivado desde el original el 16 de junio de 2017 . Consultado el 28 de junio de 2017 .
- ^ Mikita Manko. "Cuellos de botella de rendimiento de MongoDB, estrategias de optimización para MongoDB" . mikitamanko.com. Archivado desde el original el 19 de julio de 2017 . Consultado el 5 de julio de 2017 .
- ^ scalegrid.io. "Atomicidad, aislamiento y concurrencia en MongoDB" . scalegrid.io. Archivado desde el original el 10 de septiembre de 2017 . Consultado el 5 de julio de 2017 .
- ^ Glasser, David (7 de junio de 2016). "Las consultas de MongoDB no siempre devuelven todos los documentos coincidentes". . Blog de meteoritos .
- ^ "Documentos de MongoDB" . Archivado desde el original el 6 de marzo de 2019 . Consultado el 5 de marzo de 2019 .
- ^ "MongoDB y Jepsen" . MongoDB .
- ^ Allen, Jonathan (22 de mayo de 2020). "Jepsen disputa reclamos de coherencia de datos de MongoDB" . InfoQ .
- ^ Kingsbury, Kyle (15 de mayo de 2020). "MongoDB 4.2.6" . Jepsen.io .
- ^ "MongoDB World" . www.mongodb.com . Archivado desde el original el 26 de abril de 2019 . Consultado el 10 de abril de 2019 .
- ^ "Anuncio de Mongo 2014" . MongoDB .
- ^ "Anuncio de Mongo 2015" . MongoDB .
- ^ "Anuncio de Mongo 2016" . MongoDB .
- ^ "Anuncio de Mongo 2017" . icrunchdata.
- ^ "Retrospectiva Mongo 2018" . KenWalger.
- ^ "Sneak Peek de Mongo 2019" . MongoDB.
- ^ "Evento Mongo 2020" . Eventil.
- ^ "MongoDB.live regresa este verano" . MongoDB.
Bibliografía
- Banker, Kyle (28 de marzo de 2011), MongoDB in Action (1ª ed.), Manning , p. 375, ISBN 978-1-935182-87-0
- Chodorow, Kristina; Dirolf, Michael (23 de septiembre de 2010), MongoDB: The Definitive Guide (1ª ed.), O'Reilly Media , p. 216, ISBN 978-1-4493-8156-1
- Pirtle, Mitch (3 de marzo de 2011), MongoDB para desarrollo web (1ª ed.), Addison-Wesley Professional , p. 360, ISBN 978-0-321-70533-4
- Hawkins, Tim; Plugge, Eelco; Membrey, Peter (26 de septiembre de 2010), The Definitive Guide to MongoDB: The NoSQL Database for Cloud and Desktop Computing (1ª ed.), Apress , p. 350, ISBN 978-1-4302-3051-9
enlaces externos
- Página web oficial