fbpx
Wikipedia

MongoDB

MongoDB (del inglés umongous, "enorme") es un sistema de base de datos NoSQL, orientado a documentos y de código abierto.

MongoDB
Información general
Tipo de programa Base de datos, NoSQL
Desarrollador MongoDB Inc.
Modelo de desarrollo Software libre
Lanzamiento inicial 2009
Licencia GNU AGPL v3.0 (drivers: licencia Apache)
Información técnica
Programado en C++
Versiones
Última versión estable 4.0.8 (info) ( 29 de marzo de 2019 (3 años, 5 meses y 1 día))
Última versión en pruebas 4.1.9 (info) ( 13 de marzo de 2019 (3 años, 5 meses y 17 días))
Enlaces
Sitio web oficial
Repositorio de código

En lugar de guardar los datos en tablas, tal y como se hace en las bases de datos relacionales, MongoDB guarda estructuras de datos BSON (una especificación similar a JSON) con un esquema dinámico, haciendo que la integración de los datos en ciertas aplicaciones sea más fácil y rápida.

MongoDB es una base de datos adecuada para su uso en producción y con múltiples funcionalidades. Esta base de datos se utiliza mucho en la industria,[1]​ contando con implantaciones en empresas como MTV Network,[2]​ Craiglist,[3]​ Foursquare.[4]

El código fuente está disponible para los sistemas operativos Windows, GNU/Linux, OS X y Solaris.

Historia

El desarrollo de MongoDB comenzó en 2007 de la mano de 10gen Inc. (ahora llamada MongoDB Inc.)[5]​ cuando desarrollaban una plataforma como servicio (PaaS) similar al conocido Google App Engine.[6]​ En 2009 MongoDB fue lanzado como un producto independiente y publicado bajo la licencia de código abierto AGPL.[7]

En marzo de 2011, se lanzó la versión 1.4 y se consideró ya como una base de datos lista para su uso en producción.[8]

Concesión de licencias y soporte

MongoDB se puede obtener de forma gratuita bajo la licencia pública general de Affero (AGPL) de GNU.[7]​ Los drivers para los lenguajes de programación están bajo la licencia de Apache. Además de estas licencias, MongoDB Inc. ofrece una licencia comercial que incluye características avanzadas (como integración con SASL, LDAP, Kerberos,[9]Simple Network Management Protocol[10]​ y búsqueda de texto de Rosette Linguistics Platform de Basis Technology[11]​), herramientas de gestión, monitorización y backup, así como soporte.[12]

Características principales

Consultas ad hoc

MongoDB soporta la búsqueda por campos, consultas de rangos y expresiones regulares. Las consultas pueden devolver un campo específico del documento pero también puede ser una función definida por el usuario para su mejor ocupación.

Indexación

Cualquier campo en un documento de MongoDB puede ser indexado, al igual que es posible hacer índices secundarios. El concepto de índices en MongoDB es similar al empleado en base de datos relacionales..

Replicación

MongoDB soporta el tipo de replicación primario-secundario. Cada grupo de primario y sus secundarios se denomina replica set.[13]​ El primario puede ejecutar comandos de lectura y escritura. Los secundarios replican los datos del primario y sólo se pueden usar para lectura o para copia de seguridad, pero no se pueden realizar escrituras. Los secundarios tienen la habilidad de poder elegir un nuevo primario en caso de que el primario actual deje de responder.

Balanceo de carga

MongoDB puede escalar de forma horizontal usando el concepto de [shard.[14]​ El desarrollador elige una clave de sharding, la cual determina cómo serán distribuidos los datos de una colección. Los datos son divididos en rangos (basado en la clave de sharding) y distribuidos a través de múltiples shard. Cada shard puede ser una réplica set. MongoDB tiene la capacidad de ejecutarse en múltiple servidores, balanceando la carga y/o replicando los datos para poder mantener el sistema funcionando en caso de que exista un fallo de hardware. La configuración automática es fácil de implementar bajo MongoDB y se pueden agregar nuevas servidores a MongoDB con el sistema de base de datos funcionando.

Almacenamiento de archivos

MongoDB puede ser utilizado como un sistema de archivos, aprovechando la capacidad de MongoDB para el balanceo de carga y la replicación de datos en múltiples servidores. Esta funcionalidad, llamada GridFS[15]​ e incluida en la distribución oficial, implementa sobre los drivers, no sobre el servidor,[16]​ una serie de funciones y métodos para manipular archivos y contenido. En un sistema con múltiple servidores, los archivos pueden ser distribuidos y replicados entre los mismos de forma transparente, creando así un sistema eficiente tolerante de fallos y con balanceo de carga.

Agregación

MongoDB proporciona un framework de agregación que permite realizar operaciones similares al "GROUP BY" de SQL. El framework de agregación está construido como un pipeline en el que los datos van pasando a través de diferentes etapas en los cuales estos datos son modificados, agregados, filtrados y formateados hasta obtener el resultado deseado. Todo este procesado es capaz de utilizar índices si existieran y se produce en memoria. Asimismo, MongoDB proporciona una función MapReduce que puede ser utilizada para el procesamiento por lotes de datos y operaciones de agregación.

Ejecución de JavaScript del lado del servidor

MongoDB tiene la capacidad de realizar consultas utilizando JavaScript, haciendo que estas sean enviadas directamente a la base de datos para ser ejecutadas.

Fragmentación (sharding)

Si estás desarrollando un servicio que se va haciendo popular o los niveles de acceso a base de datos son cada vez más altos, empezarás a notar que tu base de datos está siendo atacada por un tráfico creciente y tu servidor esté sufriendo por los altos niveles de stress y te podrías ver en la necesidad de actualizar tu infraestructura para soportar la demanda.

Aquí entra en juego el sharding, es el modo en el que hacemos nuestra base de datos escalable. En lugar de tener una colección en una base de datos, la pondríamos en varias bases de datos distribuidas, de modo que a la hora de consultar los datos de dicha colección, los recuperemos como si de una única base de datos se tratase. Mongo se encargará de averiguar de manera transparente en qué base de datos se encuentran los datos.

Los fragmentos estarán formados por replica set, de modo que si creamos tres fragmentos, cada uno de los cuales tiene una replica set con tres servidores, estaríamos hablando de un total de nueve servidores.

Las consultas se realizan de manera distribuida a través de un módulo enrutador, “MongoS”, que mantiene un pool de conexiones a los distintos hosts. Para distribuir los datos de una colección ordenada, se trocea la colección en rangos a los que se les asigna un identificador (shard key), que puede ser una parte del propio documento, y se distribuye entre los replica sets.

Principales limitaciones

Implementación de propiedades ACID multidocumento

MongoDB solo garantizaba ACID dentro del mismo documento. El no implementar las propiedades ACID generaba que la base de datos no aseguraran la durabilidad, la integridad, la consistencia y el aislamiento requeridos obligatoriamente en las transacciones. El soporte para transacciones ACID de múltiples documentos se agregó a MongoDB en la versión 4.0 de junio de 2018.

Sobre la base de este punto se detallan los cuatro siguientes:

Problemas de consistencia

En versiones anteriores de la base de datos las lecturas estrictamente consistentes ven versiones obsoletas de documentos, también pueden devolver datos incorrectos de lecturas que nunca deberían haber ocurrido.[17]

Este problema se considera solucionado a partir de la versión 3.4: https://jepsen.io/analyses/mongodb-3-4-0-rc3

Bloqueo a nivel de documento

MongoDB bloquea la base de datos a nivel de documento ante cada operación de escritura. Sólo se podrán hacer operaciones de escritura concurrentes entre distintos documentos.

Las escrituras no son durables ni verificables

MongoDB retorna cuando todavía no se ha escrito la información en el espacio de almacenamiento permanente, lo que puede ocasionar pérdidas de información. En MongoDB 2.2 se cambia el valor por defecto para escribir en al menos una réplica, pero esto sigue sin satisfacer la durabilidad ni la verificabilidad.[18]

Problemas de escalabilidad

Tiene problemas de rendimiento cuando el volumen de datos supera los 100GB.[19]

Casos de uso

La base de datos MongoDB es adecuada para los siguientes usos:[20]

  • Almacenamiento y registro de eventos
  • Sistemas de manejo de documentos y contenido
  • Comercio electrónico
  • Juegos
  • Sistemas con alto volumen de lecturas
  • Aplicaciones móviles
  • Almacén de datos operacional de sitios web
    • Almacenamiento de comentarios
    • Votaciones
    • Registro de usuarios
    • Perfiles de usuarios
    • Sesiones de datos
  • Proyectos que utilizan metodologías de desarrollo iterativo o ágiles
  • Manejo de estadísticas en tiempo real

MongoDB es utilizado para uno o varios de estos casos por varias empresas.[21]

Manipulación de datos: colecciones y documentos

MongoDB guarda la estructura de los datos en documentos BSON con un esquema dinámico, lo que implica que no existe un esquema predefinido. Los elementos de los datos se denominan documentos y se guardan en colecciones. Una colección puede tener un número indeterminado de documentos. Comparando con una base de datos relacional, se puede decir que las colecciones son como tablas y los documentos son registros en la tabla. La diferencia es que en una base de datos relacional cada registro en una tabla tiene la misma cantidad de campos, mientras que en MongoDB cada documento en una colección puede tener diferentes campos. En un documento, se pueden agregar, eliminar, modificar o renombrar nuevos campos en cualquier momento,[22]​ ya que no hay un esquema predefinido. La estructura de un documento es simple y compuesta por pares llave/valor, parecido a las matrices asociativas en un lenguaje de programación, esto es debido a que MongoDB sigue el formato de JSON. En MongoDB la clave es el nombre del campo y el valor es su contenido, los cuales se separan mediante el uso de “:”, tal y como se puede ver en el siguiente ejemplo. Como valor se pueden usar números, cadenas o datos binarios como imágenes o cualquier otro.

{ "_id": ObjectId("4efa8d2b7d284dad101e4bc7"), "Last Name": "PELLERIN", "First Name": "Franck", "Age": 29, "Address": { "Street": "1 chemin des Loges", "City": "VERSAILLES" } } 

En este ejemplo se puede ver que en el campo “Address” se contiene otro documento que tiene los campos de “Street” y “City”.

Lenguajes de programación soportados

Según la documentación oficial de MongoDB, este sistema tiene drivers oficiales para los siguientes lenguajes de programación:

Instrumentos de MongoDB

Los siguientes comandos pueden ser instalados para el manejo y la administración del sistema de base de datos:

mongo[23]
Shell interactivo que permite a los desarrolladores y administradores ver, insertar, eliminar y actualizar datos en su base de datos. Este también permite entre otras funciones la replicación de datos, configuración de sharding, apagar los servidores, ejecutar JavaScript y todos los comandos que se puedan realizar.
mongostat[24]
Instrumento de línea de comandos que muestra en resumen una lista de estadísticas de una instancia de MongoDB en ejecución. Esto te permite visualizar cuantas inserciones, actualizaciones, eliminaciones, consultas y comandos se han ejecutado, pero también cuanta memoria está utilizando y cuanto tiempo ha estado cerrada la base de datos.
mongotop[25]
Instrumento de línea de comandos que provee un método para dar seguimiento a la cantidad de tiempo que dura una lectura o escritura de datos en una instancia. También provee estadísticas en el nivel de cada colección.
mongosniff[26]
Instrumento de línea de comandos que provee un sniffing en la base de datos haciendo un sniffing en el tráfico de la red que va desde y hacia MongoDB.
mongoimport[27]​/mongoexport[28]
Instrumento de línea de comandos que facilita la importación exportación de contenido desde JSON, CSV o TSV. También tiene el potencial de importar o exportar hacia otros formatos.
mongodump[29]​/mongorestore[30]
Instrumento de línea de comandos para la creación de una imagen binaria del contenido de la base de datos. Estos comandos son utilizados para la estrategia de copias de seguridad en MongoDB.

Referencias

  1. «DB-Engines Ranking». DB-Engines (en inglés). Consultado el 9 de agosto de 2019. 
  2. «MongoDB Powering MTV's Web Properties | MongoDB Blog». MongoDB (en inglés estadounidense). Consultado el 9 de agosto de 2019. 
  3. «MongoDB live at Craigslist | MongoDB Blog». MongoDB (en inglés estadounidense). Consultado el 9 de agosto de 2019. 
  4. . Archivado desde el original el 8 de junio de 2012. 
  5. «10gen Announces Company Name Change to MongoDB, Inc.». MongoDB. Consultado el 6 de mayo de 2016. 
  6. «http://www.theregister.co.uk/2011/05/25/the_once_and_future_mongodb/». 
  7. «http://blog.mongodb.org/post/103832439/the-agpl». 
  8. . Archivado desde el original el 8 de julio de 2014. 
  9. «Enterprise Authentication Mechanisms — MongoDB Manual 3.2». docs.mongodb.com. Consultado el 6 de mayo de 2016. 
  10. «Monitor MongoDB With SNMP on Linux — MongoDB Manual 3.2». docs.mongodb.com. Consultado el 6 de mayo de 2016. 
  11. «Text Search with Basis Technology Rosette Linguistics Platform — MongoDB Manual 3.2». docs.mongodb.com. Consultado el 6 de mayo de 2016. 
  12. «https://www.mongodb.com/lp/contact/enterprise». 
  13. «https://docs.mongodb.org/manual/replication/». 
  14. «http://www.mongodb.org/display/DOCS/Sharding». 
  15. «http://www.mongodb.org/display/DOCS/GridFS». 
  16. «mongodb/specifications». GitHub. Consultado el 12 de abril de 2016. 
  17. «Call me maybe: MongoDB stale reads». 
  18. «Broken by Design: MongoDB Fault Tolerance :: Hacking, Distributed». 
  19. «MongoDB mocked after posting “100GB Scaling Checklist”». 
  20. «http://www.mongodb.org/display/DOCS/Use+Cases». 
  21. . Archivado desde el original el 10 de mayo de 2012. 
  22. . Archivado desde el original el 28 de marzo de 2014. Consultado el 27 de marzo de 2014. 
  23. «The mongo Shell — MongoDB Manual». https://github.com/mongodb/docs/blob/v4.0/source/mongo.txt (en inglés). Consultado el 9 de agosto de 2019. 
  24. «mongostat — MongoDB Manual». https://github.com/mongodb/docs/blob/v4.0/source/reference/program/mongostat.txt (en inglés). Consultado el 9 de agosto de 2019. 
  25. «mongotop — MongoDB Manual». https://github.com/mongodb/docs/blob/v4.0/source/reference/program/mongotop.txt (en inglés). Consultado el 9 de agosto de 2019. 
  26. «mongosniff — MongoDB Manual». https://github.com/mongodb/docs/blob/v4.0/source/reference/program/mongosniff.txt (en inglés). Consultado el 9 de agosto de 2019. 
  27. «mongoimport — MongoDB Manual». https://github.com/mongodb/docs/blob/v4.0/source/reference/program/mongoimport.txt (en inglés). Consultado el 9 de agosto de 2019. 
  28. «mongoexport — MongoDB Manual». https://github.com/mongodb/docs/blob/v4.0/source/reference/program/mongoexport.txt (en inglés). Consultado el 9 de agosto de 2019. 
  29. «mongodump — MongoDB Manual». https://github.com/mongodb/docs/blob/v4.0/source/reference/program/mongodump.txt (en inglés). Consultado el 9 de agosto de 2019. 
  30. «mongorestore — MongoDB Manual». https://github.com/mongodb/docs/blob/v4.0/source/reference/program/mongorestore.txt (en inglés). Consultado el 9 de agosto de 2019. 

Bibliografía

  • Banker, Kyle (28 de marzo de 2011), MongoDB in Action (1st edición), Manning, p. 375, ISBN 9781935182870 .
  • Chodorow, Kristina; Dirolf, Michael (23 de septiembre de 2010), MongoDB: The Definitive Guide (1st edición), O'Reilly Media, p. 216, ISBN 9781449381561 .
  • Pirtle, Mitch (3 de marzo de 2011), MongoDB for Web Development (1st edición), Addison-Wesley Professional, p. 360, ISBN 9780321705334 .
  • Hawkins, Tim; Plugge, Eelco; Membrey, Peter (26 de septiembre de 2010), The Definitive Guide to MongoDB: The NoSQL Database for Cloud and Desktop Computing (1st edición), Apress, p. 350, ISBN 9781430230519 .

Enlaces externos

  • Página oficial
  • Cómo instalar MongoDB en Ubuntu
  • MongoDb Support para Percona
  •   Datos: Q1165204
  •   Multimedia: MongoDB

mongodb, referencias, este, artículo, tienen, formato, correcto, puedes, colaborar, editándolas, como, indica, esta, página, también, puedes, avisar, página, discusión, quien, añadió, pegando, siguiente, subst, aviso, formato, referencias, este, aviso, puesto,. Las referencias de este articulo no tienen un formato correcto Puedes colaborar editandolas como se indica en esta pagina Tambien puedes avisar en su pagina de discusion a quien las anadio pegando lo siguiente subst Aviso formato de referencias MongoDB Este aviso fue puesto el 16 de diciembre de 2014 MongoDB del ingles umongous enorme es un sistema de base de datos NoSQL orientado a documentos y de codigo abierto MongoDBInformacion generalTipo de programaBase de datos NoSQLDesarrolladorMongoDB Inc Modelo de desarrolloSoftware libreLanzamiento inicial2009LicenciaGNU AGPL v3 0 drivers licencia Apache Informacion tecnicaProgramado enC VersionesUltima version estable4 0 8 info 29 de marzo de 2019 3 anos 5 meses y 1 dia Ultima version en pruebas4 1 9 info 13 de marzo de 2019 3 anos 5 meses y 17 dias EnlacesSitio web oficial Repositorio de codigo editar datos en Wikidata En lugar de guardar los datos en tablas tal y como se hace en las bases de datos relacionales MongoDB guarda estructuras de datos BSON una especificacion similar a JSON con un esquema dinamico haciendo que la integracion de los datos en ciertas aplicaciones sea mas facil y rapida MongoDB es una base de datos adecuada para su uso en produccion y con multiples funcionalidades Esta base de datos se utiliza mucho en la industria 1 contando con implantaciones en empresas como MTV Network 2 Craiglist 3 Foursquare 4 El codigo fuente esta disponible para los sistemas operativos Windows GNU Linux OS X y Solaris Indice 1 Historia 2 Concesion de licencias y soporte 3 Caracteristicas principales 3 1 Consultas ad hoc 3 2 Indexacion 3 3 Replicacion 3 4 Balanceo de carga 3 5 Almacenamiento de archivos 3 6 Agregacion 3 7 Ejecucion de JavaScript del lado del servidor 4 Fragmentacion sharding 5 Principales limitaciones 5 1 Implementacion de propiedades ACID multidocumento 5 2 Problemas de consistencia 5 3 Bloqueo a nivel de documento 5 4 Las escrituras no son durables ni verificables 5 5 Problemas de escalabilidad 6 Casos de uso 7 Manipulacion de datos colecciones y documentos 8 Lenguajes de programacion soportados 9 Instrumentos de MongoDB 10 Referencias 11 Bibliografia 12 Enlaces externosHistoria EditarEl desarrollo de MongoDB comenzo en 2007 de la mano de 10gen Inc ahora llamada MongoDB Inc 5 cuando desarrollaban una plataforma como servicio PaaS similar al conocido Google App Engine 6 En 2009 MongoDB fue lanzado como un producto independiente y publicado bajo la licencia de codigo abierto AGPL 7 En marzo de 2011 se lanzo la version 1 4 y se considero ya como una base de datos lista para su uso en produccion 8 Concesion de licencias y soporte EditarMongoDB se puede obtener de forma gratuita bajo la licencia publica general de Affero AGPL de GNU 7 Los drivers para los lenguajes de programacion estan bajo la licencia de Apache Ademas de estas licencias MongoDB Inc ofrece una licencia comercial que incluye caracteristicas avanzadas como integracion con SASL LDAP Kerberos 9 Simple Network Management Protocol 10 y busqueda de texto de Rosette Linguistics Platform de Basis Technology 11 herramientas de gestion monitorizacion y backup asi como soporte 12 Caracteristicas principales EditarConsultas ad hoc Editar MongoDB soporta la busqueda por campos consultas de rangos y expresiones regulares Las consultas pueden devolver un campo especifico del documento pero tambien puede ser una funcion definida por el usuario para su mejor ocupacion Indexacion Editar Cualquier campo en un documento de MongoDB puede ser indexado al igual que es posible hacer indices secundarios El concepto de indices en MongoDB es similar al empleado en base de datos relacionales Replicacion Editar MongoDB soporta el tipo de replicacion primario secundario Cada grupo de primario y sus secundarios se denomina replica set 13 El primario puede ejecutar comandos de lectura y escritura Los secundarios replican los datos del primario y solo se pueden usar para lectura o para copia de seguridad pero no se pueden realizar escrituras Los secundarios tienen la habilidad de poder elegir un nuevo primario en caso de que el primario actual deje de responder Balanceo de carga Editar MongoDB puede escalar de forma horizontal usando el concepto de shard 14 El desarrollador elige una clave de sharding la cual determina como seran distribuidos los datos de una coleccion Los datos son divididos en rangos basado en la clave de sharding y distribuidos a traves de multiples shard Cada shard puede ser una replica set MongoDB tiene la capacidad de ejecutarse en multiple servidores balanceando la carga y o replicando los datos para poder mantener el sistema funcionando en caso de que exista un fallo de hardware La configuracion automatica es facil de implementar bajo MongoDB y se pueden agregar nuevas servidores a MongoDB con el sistema de base de datos funcionando Almacenamiento de archivos Editar MongoDB puede ser utilizado como un sistema de archivos aprovechando la capacidad de MongoDB para el balanceo de carga y la replicacion de datos en multiples servidores Esta funcionalidad llamada GridFS 15 e incluida en la distribucion oficial implementa sobre los drivers no sobre el servidor 16 una serie de funciones y metodos para manipular archivos y contenido En un sistema con multiple servidores los archivos pueden ser distribuidos y replicados entre los mismos de forma transparente creando asi un sistema eficiente tolerante de fallos y con balanceo de carga Agregacion Editar MongoDB proporciona un framework de agregacion que permite realizar operaciones similares al GROUP BY de SQL El framework de agregacion esta construido como un pipeline en el que los datos van pasando a traves de diferentes etapas en los cuales estos datos son modificados agregados filtrados y formateados hasta obtener el resultado deseado Todo este procesado es capaz de utilizar indices si existieran y se produce en memoria Asimismo MongoDB proporciona una funcion MapReduce que puede ser utilizada para el procesamiento por lotes de datos y operaciones de agregacion Ejecucion de JavaScript del lado del servidor Editar MongoDB tiene la capacidad de realizar consultas utilizando JavaScript haciendo que estas sean enviadas directamente a la base de datos para ser ejecutadas Fragmentacion sharding EditarSi estas desarrollando un servicio que se va haciendo popular o los niveles de acceso a base de datos son cada vez mas altos empezaras a notar que tu base de datos esta siendo atacada por un trafico creciente y tu servidor este sufriendo por los altos niveles de stress y te podrias ver en la necesidad de actualizar tu infraestructura para soportar la demanda Aqui entra en juego el sharding es el modo en el que hacemos nuestra base de datos escalable En lugar de tener una coleccion en una base de datos la pondriamos en varias bases de datos distribuidas de modo que a la hora de consultar los datos de dicha coleccion los recuperemos como si de una unica base de datos se tratase Mongo se encargara de averiguar de manera transparente en que base de datos se encuentran los datos Los fragmentos estaran formados por replica set de modo que si creamos tres fragmentos cada uno de los cuales tiene una replica set con tres servidores estariamos hablando de un total de nueve servidores Las consultas se realizan de manera distribuida a traves de un modulo enrutador MongoS que mantiene un pool de conexiones a los distintos hosts Para distribuir los datos de una coleccion ordenada se trocea la coleccion en rangos a los que se les asigna un identificador shard key que puede ser una parte del propio documento y se distribuye entre los replica sets Principales limitaciones EditarImplementacion de propiedades ACID multidocumento Editar MongoDB solo garantizaba ACID dentro del mismo documento El no implementar las propiedades ACID generaba que la base de datos no aseguraran la durabilidad la integridad la consistencia y el aislamiento requeridos obligatoriamente en las transacciones El soporte para transacciones ACID de multiples documentos se agrego a MongoDB en la version 4 0 de junio de 2018 Sobre la base de este punto se detallan los cuatro siguientes Problemas de consistencia Editar En versiones anteriores de la base de datos las lecturas estrictamente consistentes ven versiones obsoletas de documentos tambien pueden devolver datos incorrectos de lecturas que nunca deberian haber ocurrido 17 Este problema se considera solucionado a partir de la version 3 4 https jepsen io analyses mongodb 3 4 0 rc3 Bloqueo a nivel de documento Editar MongoDB bloquea la base de datos a nivel de documento ante cada operacion de escritura Solo se podran hacer operaciones de escritura concurrentes entre distintos documentos Las escrituras no son durables ni verificables Editar MongoDB retorna cuando todavia no se ha escrito la informacion en el espacio de almacenamiento permanente lo que puede ocasionar perdidas de informacion En MongoDB 2 2 se cambia el valor por defecto para escribir en al menos una replica pero esto sigue sin satisfacer la durabilidad ni la verificabilidad 18 Problemas de escalabilidad Editar Tiene problemas de rendimiento cuando el volumen de datos supera los 100GB 19 Casos de uso EditarLa base de datos MongoDB es adecuada para los siguientes usos 20 Almacenamiento y registro de eventos Sistemas de manejo de documentos y contenido Comercio electronico Juegos Sistemas con alto volumen de lecturas Aplicaciones moviles Almacen de datos operacional de sitios web Almacenamiento de comentarios Votaciones Registro de usuarios Perfiles de usuarios Sesiones de datos Proyectos que utilizan metodologias de desarrollo iterativo o agiles Manejo de estadisticas en tiempo realMongoDB es utilizado para uno o varios de estos casos por varias empresas 21 Manipulacion de datos colecciones y documentos EditarMongoDB guarda la estructura de los datos en documentos BSON con un esquema dinamico lo que implica que no existe un esquema predefinido Los elementos de los datos se denominan documentos y se guardan en colecciones Una coleccion puede tener un numero indeterminado de documentos Comparando con una base de datos relacional se puede decir que las colecciones son como tablas y los documentos son registros en la tabla La diferencia es que en una base de datos relacional cada registro en una tabla tiene la misma cantidad de campos mientras que en MongoDB cada documento en una coleccion puede tener diferentes campos En un documento se pueden agregar eliminar modificar o renombrar nuevos campos en cualquier momento 22 ya que no hay un esquema predefinido La estructura de un documento es simple y compuesta por pares llave valor parecido a las matrices asociativas en un lenguaje de programacion esto es debido a que MongoDB sigue el formato de JSON En MongoDB la clave es el nombre del campo y el valor es su contenido los cuales se separan mediante el uso de tal y como se puede ver en el siguiente ejemplo Como valor se pueden usar numeros cadenas o datos binarios como imagenes o cualquier otro id ObjectId 4efa8d2b7d284dad101e4bc7 Last Name PELLERIN First Name Franck Age 29 Address Street 1 chemin des Loges City VERSAILLES En este ejemplo se puede ver que en el campo Address se contiene otro documento que tiene los campos de Street y City Lenguajes de programacion soportados EditarSegun la documentacion oficial de MongoDB este sistema tiene drivers oficiales para los siguientes lenguajes de programacion C C C NET Java JavaScript Node js Perl PHP Python Ruby Scala Delphi C BuilderInstrumentos de MongoDB EditarLos siguientes comandos pueden ser instalados para el manejo y la administracion del sistema de base de datos mongo 23 Shell interactivo que permite a los desarrolladores y administradores ver insertar eliminar y actualizar datos en su base de datos Este tambien permite entre otras funciones la replicacion de datos configuracion de sharding apagar los servidores ejecutar JavaScript y todos los comandos que se puedan realizar mongostat 24 Instrumento de linea de comandos que muestra en resumen una lista de estadisticas de una instancia de MongoDB en ejecucion Esto te permite visualizar cuantas inserciones actualizaciones eliminaciones consultas y comandos se han ejecutado pero tambien cuanta memoria esta utilizando y cuanto tiempo ha estado cerrada la base de datos mongotop 25 Instrumento de linea de comandos que provee un metodo para dar seguimiento a la cantidad de tiempo que dura una lectura o escritura de datos en una instancia Tambien provee estadisticas en el nivel de cada coleccion mongosniff 26 Instrumento de linea de comandos que provee un sniffing en la base de datos haciendo un sniffing en el trafico de la red que va desde y hacia MongoDB mongoimport 27 mongoexport 28 Instrumento de linea de comandos que facilita la importacion exportacion de contenido desde JSON CSV o TSV Tambien tiene el potencial de importar o exportar hacia otros formatos mongodump 29 mongorestore 30 Instrumento de linea de comandos para la creacion de una imagen binaria del contenido de la base de datos Estos comandos son utilizados para la estrategia de copias de seguridad en MongoDB Referencias Editar DB Engines Ranking DB Engines en ingles Consultado el 9 de agosto de 2019 MongoDB Powering MTV s Web Properties MongoDB Blog MongoDB en ingles estadounidense Consultado el 9 de agosto de 2019 MongoDB live at Craigslist MongoDB Blog MongoDB en ingles estadounidense Consultado el 9 de agosto de 2019 http blip tv mongodb mongodb at foursquare 3723202 Archivado desde el original el 8 de junio de 2012 10gen Announces Company Name Change to MongoDB Inc MongoDB Consultado el 6 de mayo de 2016 http www theregister co uk 2011 05 25 the once and future mongodb a b http blog mongodb org post 103832439 the agpl http blog mongodb org post 472835820 mongodb 1 4 ready for production Archivado desde el original el 8 de julio de 2014 Enterprise Authentication Mechanisms MongoDB Manual 3 2 docs mongodb com Consultado el 6 de mayo de 2016 Monitor MongoDB With SNMP on Linux MongoDB Manual 3 2 docs mongodb com Consultado el 6 de mayo de 2016 Text Search with Basis Technology Rosette Linguistics Platform MongoDB Manual 3 2 docs mongodb com Consultado el 6 de mayo de 2016 https www mongodb com lp contact enterprise https docs mongodb org manual replication http www mongodb org display DOCS Sharding http www mongodb org display DOCS GridFS mongodb specifications GitHub Consultado el 12 de abril de 2016 Call me maybe MongoDB stale reads Broken by Design MongoDB Fault Tolerance Hacking Distributed MongoDB mocked after posting 100GB Scaling Checklist http www mongodb org display DOCS Use Cases http www mongodb org display DOCS Production Deployments Archivado desde el original el 10 de mayo de 2012 http www mongodbspain com wp content uploads 2014 03 MongoDBSpain CheetSheet pdf Archivado desde el original el 28 de marzo de 2014 Consultado el 27 de marzo de 2014 The mongo Shell MongoDB Manual https github com mongodb docs blob v4 0 source mongo txt en ingles Consultado el 9 de agosto de 2019 mongostat MongoDB Manual https github com mongodb docs blob v4 0 source reference program mongostat txt en ingles Consultado el 9 de agosto de 2019 mongotop MongoDB Manual https github com mongodb docs blob v4 0 source reference program mongotop txt en ingles Consultado el 9 de agosto de 2019 mongosniff MongoDB Manual https github com mongodb docs blob v4 0 source reference program mongosniff txt en ingles Consultado el 9 de agosto de 2019 mongoimport MongoDB Manual https github com mongodb docs blob v4 0 source reference program mongoimport txt en ingles Consultado el 9 de agosto de 2019 mongoexport MongoDB Manual https github com mongodb docs blob v4 0 source reference program mongoexport txt en ingles Consultado el 9 de agosto de 2019 mongodump MongoDB Manual https github com mongodb docs blob v4 0 source reference program mongodump txt en ingles Consultado el 9 de agosto de 2019 mongorestore MongoDB Manual https github com mongodb docs blob v4 0 source reference program mongorestore txt en ingles Consultado el 9 de agosto de 2019 Bibliografia EditarBanker Kyle 28 de marzo de 2011 MongoDB in Action 1st edicion Manning p 375 ISBN 9781935182870 Chodorow Kristina Dirolf Michael 23 de septiembre de 2010 MongoDB The Definitive Guide 1st edicion O Reilly Media p 216 ISBN 9781449381561 Pirtle Mitch 3 de marzo de 2011 MongoDB for Web Development 1st edicion Addison Wesley Professional p 360 ISBN 9780321705334 Hawkins Tim Plugge Eelco Membrey Peter 26 de septiembre de 2010 The Definitive Guide to MongoDB The NoSQL Database for Cloud and Desktop Computing 1st edicion Apress p 350 ISBN 9781430230519 Enlaces externos EditarPagina oficial MongoDB con ZanPHP MongoDB Spain Comunidad Espanola sobre MongoDB Como instalar MongoDB en Ubuntu MongoDb Support para Percona Datos Q1165204 Multimedia MongoDB Obtenido de https es wikipedia org w index php title MongoDB amp oldid 145431839, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos