SlideShare una empresa de Scribd logo
1 de 15
Universidad Dominicana O&M
NOMBRE:
Yoan
APELLIDO:
Danchet
Matricula:
17-MIIN-1-174
Materia:
Base de Datos
Tema:
Motores de base de Datos (MongoDB)
Profesor:
Starling Germosen
MONGO DB
HISTORIA
 MongoDB (de la palabra en inglés “humongous” que significa enorme) es
un sistema de base de datos NoSQL orientado a documentos, desarrollado
bajo el concepto de código abierto.
 MongoDB forma parte de la nueva familia de sistemas de base de datos
NoSQL. En lugar de guardar los datos en tablas como se hace en las base de
datos relacionales, MongoDB guarda estructuras de datos en documentos
similares a JSON con un esquema dinámico (MongoDB utiliza una
especificación llamada BSON), haciendo que la integración de los datos en
ciertas aplicaciones sea más fácil y rápida.
 El desarrollo de MongoDB empezó en octubre de 2007 por la compañía de
software 10gen. Ahora MongoDB es una base de datos lista para su uso en
producción y con muchas características (features). Esta base de datos se
utiliza mucho en la industria, contando con implantaciones en empresas
como MTV Network, Craiglist, BCI o Foursquare.
USO
 La base de datos MongoDB es adecuada para los siguientes usos:
 Almacenamiento y registro de eventos
 Para sistemas de manejo de documentos y contenido
 Comercio Electrónico
 Juegos
 Problemas de alto volumen de lecturas
 Aplicaciones móviles
 Almacén de datos operacional de una página web
 Manejo de contenido
 Almacenamiento de comentarios
 Votaciones
 Registro de usuarios
 Perfiles de usuarios
 Sesiones de datos
 etc.
 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.
 Manipulación de datos: colecciones y documentos
CARACTERISTICAS
 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 JavaScript definida por el
usuario.
 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 a los encontrados 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 . 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 tiene la habilidad de
poder elegir un nuevo primario en caso de que el primario actual deje de
responder.
 Balanceo de carga
 MongoDB se puede escalar de forma horizontal usando el concepto de
“shard”. 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 replica 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
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, tomando la
ventaja de la capacidad que tiene MongoDB para el balanceo de carga y la
replicación de datos utilizando múltiples servidores para el
almacenamiento de archivos. Esta función se llama GridFS y es más bien
una implementación en los drivers, no en el servidor, por lo que está
incluida en los drivers oficiales que la compañía de MongoDB desarrolla.
Estos drivers exponen funciones y métodos para la manipulación de
archivos y contenido a los desarrolladores. En un sistema con múltiple
servidores, los archivos pueden ser distribuidos y replicados entre los
mismos y de una forma transparente, de esta forma se crea un sistema
eficiente que maneja fallos y balanceo de carga.
 Agregación
 MongoDB proporciona un framework de agregación que permite realizar
operaciones similares a las que se obtienen con el comando SQL "GROUP BY".
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.
Desventajas
 No implementa las propiedades ACID multidocumentos
 MongoDB garantiza ACID dentro del mismo documento. El no
implementar las propiedades ACID genera que la base de datos no asegure
la durabilidad, la integridad, la consistencia y el aislamiento requeridos
obligatoriamente en las transacciones. Es posible que en futuras versiones
esto se solucione.
 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.
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.
Ventajas
 A diferencia de las base de datos relacionales, las base de datos
No SQL estan basadas en key-value pairs
 Incluyen diferentes tipos de almacenes como por ejemplo el
almacen de columna, de documentos de key value store, de
graficos, de objetos de XML y otros datos de alamcen de datos.
 Tiene una implemetacion rentable ya que no require la tarifa de
licensia hy pueden ejecutarse en hardware de bajo costo
Funcionalidad
 MongoDB está escrito en C++, aunque las consultas se hacen
pasando objetos JSON como parámetro. Es algo bastante lógico,
dado que los propios documentos se almacenan en BSON. Por
ejemplo:
 db.Clientes.find({Nombre:"Pedro"}); La consulta anterior buscará
todos los clientes cuyo nombre sea Pedro.
 MongoDB viene de serie con una consola desde la que podemos
ejecutar los distintos comandos. Esta consola está construida
sobre JavaScript, por lo que las consultas se realizan utilizando
ese lenguaje. Además de las funciones de MongoDB, podemos
utilizar muchas de las funciones propias de JavaSciprt. En la
consola también podemos definir variables, funciones o utilizar
bucles
 Si queremos usar nuestro lenguaje de programación favorito, existen
drivers para un gran número de ellos. Hay drivers oficiales para C#, Java,
Node.js, PHP, Python, Ruby, C, C++, Perl o Scala. Aunque estos drivers
están soportados por MongoDB, no todos están en el mismo estado de
madurez. Por ejemplo el de C es una versión alpha. Si queremos utilizar un
lenguaje concreto, es mejor revisar los drivers disponibles para comprobar
si son adecuados para un entorno de producción.
Curiosidades
 Las etiquetas y los comentarios están en el propio documento que
representa al post, en lugar de guardarlos en colecciones separadas y
utilizar claves foráneas para referenciar a los mismos. Sin embargo, en el
atributo “liked_by” sí que guardamos una relación de claves, que
corresponden a los usuarios que han marcado el post como que les ha
gustado. Utilizar una forma u otra dependerá de las necesidades de acceso
a estos datos En este caso, por ejemplo, sabemos que no vamos a pintar
información sobre los usuarios que han marcado un post con un “me
gusta”, pero sí queremos ver cuántos lo han marcado así, o si el usuario
actual ya lo ha marcado o no, con lo que almacenar únicamente las claves
de esos usuarios y guardar su información personal detallada en otra
colección es lo más conveniente.
Any Question?

Más contenido relacionado

La actualidad más candente (19)

MONGODB - NOSQL
MONGODB - NOSQLMONGODB - NOSQL
MONGODB - NOSQL
 
Base de datos
Base de datosBase de datos
Base de datos
 
Qué es una base de datos
Qué es una base de datosQué es una base de datos
Qué es una base de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Base de datos ventajas y desventajas
Base de datos ventajas y desventajasBase de datos ventajas y desventajas
Base de datos ventajas y desventajas
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
MongoDB
MongoDBMongoDB
MongoDB
 
Deber 1 de Zaskia Aguilar
Deber 1 de Zaskia AguilarDeber 1 de Zaskia Aguilar
Deber 1 de Zaskia Aguilar
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Bases de datos por jesus j felix rodriguez lopez
Bases de datos por jesus j felix rodriguez lopezBases de datos por jesus j felix rodriguez lopez
Bases de datos por jesus j felix rodriguez lopez
 
Que es php
Que es phpQue es php
Que es php
 
Base de datos rmf
Base de datos rmfBase de datos rmf
Base de datos rmf
 
Diferencia entre html xml
Diferencia entre html xmlDiferencia entre html xml
Diferencia entre html xml
 
Html
HtmlHtml
Html
 
Diana melissa ruiz
Diana melissa ruizDiana melissa ruiz
Diana melissa ruiz
 
Power programacion
Power programacionPower programacion
Power programacion
 
Html para subir a slideshare
Html para subir a slideshareHtml para subir a slideshare
Html para subir a slideshare
 
Base de datos
Base de datosBase de datos
Base de datos
 
Paz perez carolina_basede_datos
Paz perez carolina_basede_datosPaz perez carolina_basede_datos
Paz perez carolina_basede_datos
 

Similar a Mongo db

Base de datos rodrigo
Base de datos rodrigoBase de datos rodrigo
Base de datos rodrigoRodrigo Lopez
 
Características MONGO DB
Características MONGO DBCaracterísticas MONGO DB
Características MONGO DBmaxfontana90
 
Sistema gestor de base de datos( mongobd)
Sistema gestor de base de datos( mongobd)Sistema gestor de base de datos( mongobd)
Sistema gestor de base de datos( mongobd)Shon AE
 
Jean piere sarumo mongodb
Jean piere sarumo mongodbJean piere sarumo mongodb
Jean piere sarumo mongodbJean Sarumo
 
Mongo bd michael landeo vargas
Mongo bd michael landeo vargasMongo bd michael landeo vargas
Mongo bd michael landeo vargasMichaelAngel1000
 
Investigación de sobre los conceptos que se deben de tratar en Mongo DB
Investigación de sobre los conceptos que se deben de tratar en Mongo DBInvestigación de sobre los conceptos que se deben de tratar en Mongo DB
Investigación de sobre los conceptos que se deben de tratar en Mongo DBJeffLere
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db.. ..
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existenteschackws
 
BD Escobar Gómez Daniel
BD Escobar Gómez DanielBD Escobar Gómez Daniel
BD Escobar Gómez DanielDaniel Gómez
 
Practica 2 base de datos
Practica 2 base de datosPractica 2 base de datos
Practica 2 base de datosBalta Rdz
 

Similar a Mongo db (20)

Diapositva
DiapositvaDiapositva
Diapositva
 
Base de datos rodrigo
Base de datos rodrigoBase de datos rodrigo
Base de datos rodrigo
 
Características MONGO DB
Características MONGO DBCaracterísticas MONGO DB
Características MONGO DB
 
Sistema gestor de base de datos( mongobd)
Sistema gestor de base de datos( mongobd)Sistema gestor de base de datos( mongobd)
Sistema gestor de base de datos( mongobd)
 
Sgbd mongodb
Sgbd   mongodbSgbd   mongodb
Sgbd mongodb
 
Ultisgbd
UltisgbdUltisgbd
Ultisgbd
 
Mongo db
Mongo dbMongo db
Mongo db
 
Jean piere sarumo mongodb
Jean piere sarumo mongodbJean piere sarumo mongodb
Jean piere sarumo mongodb
 
Base de datos
Base de datosBase de datos
Base de datos
 
Mongo db
Mongo dbMongo db
Mongo db
 
Mongo bd michael landeo vargas
Mongo bd michael landeo vargasMongo bd michael landeo vargas
Mongo bd michael landeo vargas
 
Bd no sql
Bd no sqlBd no sql
Bd no sql
 
Investigación de sobre los conceptos que se deben de tratar en Mongo DB
Investigación de sobre los conceptos que se deben de tratar en Mongo DBInvestigación de sobre los conceptos que se deben de tratar en Mongo DB
Investigación de sobre los conceptos que se deben de tratar en Mongo DB
 
Mongodb
MongodbMongodb
Mongodb
 
Act 04 rivera_alfredo_bd
Act 04 rivera_alfredo_bdAct 04 rivera_alfredo_bd
Act 04 rivera_alfredo_bd
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 
BD Escobar Gómez Daniel
BD Escobar Gómez DanielBD Escobar Gómez Daniel
BD Escobar Gómez Daniel
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 
Practica 2 base de datos
Practica 2 base de datosPractica 2 base de datos
Practica 2 base de datos
 

Último

Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 

Mongo db

  • 1. Universidad Dominicana O&M NOMBRE: Yoan APELLIDO: Danchet Matricula: 17-MIIN-1-174 Materia: Base de Datos Tema: Motores de base de Datos (MongoDB) Profesor: Starling Germosen
  • 3. HISTORIA  MongoDB (de la palabra en inglés “humongous” que significa enorme) es un sistema de base de datos NoSQL orientado a documentos, desarrollado bajo el concepto de código abierto.  MongoDB forma parte de la nueva familia de sistemas de base de datos NoSQL. En lugar de guardar los datos en tablas como se hace en las base de datos relacionales, MongoDB guarda estructuras de datos en documentos similares a JSON con un esquema dinámico (MongoDB utiliza una especificación llamada BSON), haciendo que la integración de los datos en ciertas aplicaciones sea más fácil y rápida.  El desarrollo de MongoDB empezó en octubre de 2007 por la compañía de software 10gen. Ahora MongoDB es una base de datos lista para su uso en producción y con muchas características (features). Esta base de datos se utiliza mucho en la industria, contando con implantaciones en empresas como MTV Network, Craiglist, BCI o Foursquare.
  • 4. USO  La base de datos MongoDB es adecuada para los siguientes usos:  Almacenamiento y registro de eventos  Para sistemas de manejo de documentos y contenido  Comercio Electrónico  Juegos  Problemas de alto volumen de lecturas  Aplicaciones móviles  Almacén de datos operacional de una página web  Manejo de contenido  Almacenamiento de comentarios  Votaciones  Registro de usuarios  Perfiles de usuarios  Sesiones de datos  etc.  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.  Manipulación de datos: colecciones y documentos
  • 5. CARACTERISTICAS  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 JavaScript definida por el usuario.  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 a los encontrados 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 . 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 tiene la habilidad de poder elegir un nuevo primario en caso de que el primario actual deje de responder.
  • 6.  Balanceo de carga  MongoDB se puede escalar de forma horizontal usando el concepto de “shard”. 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 replica 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 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.
  • 7.  Almacenamiento de archivos  MongoDB puede ser utilizado como un sistema de archivos, tomando la ventaja de la capacidad que tiene MongoDB para el balanceo de carga y la replicación de datos utilizando múltiples servidores para el almacenamiento de archivos. Esta función se llama GridFS y es más bien una implementación en los drivers, no en el servidor, por lo que está incluida en los drivers oficiales que la compañía de MongoDB desarrolla. Estos drivers exponen funciones y métodos para la manipulación de archivos y contenido a los desarrolladores. En un sistema con múltiple servidores, los archivos pueden ser distribuidos y replicados entre los mismos y de una forma transparente, de esta forma se crea un sistema eficiente que maneja fallos y balanceo de carga.
  • 8.  Agregación  MongoDB proporciona un framework de agregación que permite realizar operaciones similares a las que se obtienen con el comando SQL "GROUP BY". 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.
  • 9. Desventajas  No implementa las propiedades ACID multidocumentos  MongoDB garantiza ACID dentro del mismo documento. El no implementar las propiedades ACID genera que la base de datos no asegure la durabilidad, la integridad, la consistencia y el aislamiento requeridos obligatoriamente en las transacciones. Es posible que en futuras versiones esto se solucione.  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.
  • 10. 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.
  • 11. Ventajas  A diferencia de las base de datos relacionales, las base de datos No SQL estan basadas en key-value pairs  Incluyen diferentes tipos de almacenes como por ejemplo el almacen de columna, de documentos de key value store, de graficos, de objetos de XML y otros datos de alamcen de datos.  Tiene una implemetacion rentable ya que no require la tarifa de licensia hy pueden ejecutarse en hardware de bajo costo
  • 12. Funcionalidad  MongoDB está escrito en C++, aunque las consultas se hacen pasando objetos JSON como parámetro. Es algo bastante lógico, dado que los propios documentos se almacenan en BSON. Por ejemplo:  db.Clientes.find({Nombre:"Pedro"}); La consulta anterior buscará todos los clientes cuyo nombre sea Pedro.  MongoDB viene de serie con una consola desde la que podemos ejecutar los distintos comandos. Esta consola está construida sobre JavaScript, por lo que las consultas se realizan utilizando ese lenguaje. Además de las funciones de MongoDB, podemos utilizar muchas de las funciones propias de JavaSciprt. En la consola también podemos definir variables, funciones o utilizar bucles
  • 13.  Si queremos usar nuestro lenguaje de programación favorito, existen drivers para un gran número de ellos. Hay drivers oficiales para C#, Java, Node.js, PHP, Python, Ruby, C, C++, Perl o Scala. Aunque estos drivers están soportados por MongoDB, no todos están en el mismo estado de madurez. Por ejemplo el de C es una versión alpha. Si queremos utilizar un lenguaje concreto, es mejor revisar los drivers disponibles para comprobar si son adecuados para un entorno de producción.
  • 14. Curiosidades  Las etiquetas y los comentarios están en el propio documento que representa al post, en lugar de guardarlos en colecciones separadas y utilizar claves foráneas para referenciar a los mismos. Sin embargo, en el atributo “liked_by” sí que guardamos una relación de claves, que corresponden a los usuarios que han marcado el post como que les ha gustado. Utilizar una forma u otra dependerá de las necesidades de acceso a estos datos En este caso, por ejemplo, sabemos que no vamos a pintar información sobre los usuarios que han marcado un post con un “me gusta”, pero sí queremos ver cuántos lo han marcado así, o si el usuario actual ya lo ha marcado o no, con lo que almacenar únicamente las claves de esos usuarios y guardar su información personal detallada en otra colección es lo más conveniente.