SlideShare una empresa de Scribd logo
1 de 14
Base de Datos NoSQL
¿Qué es MongoDb?
 MongoDB es una bases de datos NoSQL
cuya particularidad es que intenta unir las
ventajas de los almacenes clave-valor y
de las bases de datos relacionales clásicas
(RBDMS).
 Esta desarrollada en C++
Terminología básica
 En MongoDB, cada registro o conjunto de datos
se denomina documento, que se pueden agrupar
en colecciones, las cuales son el equivalente a las
tablas en una base de datos relacional (sólo que
las colecciones pueden almacenar documentos
con muy diferentes formatos, en lugar de estar
sometidos a un esquema fijo).
 Se pueden crear índices para algunos atributos
de los documentos, de modo que se mantendrá
una estructura interna eficiente para el acceso a
la información por los contenidos de estos
atributos.
¿Cómo funciona?
 Para almacenar los documentos, se 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.
 En el área funcional, MongoDB permite la
realización de operaciones de modificación
de documentos enviando solamente el
diferencial de datos, esto es, la
modificación del mismo se realiza dentro
del servidor, no en la parte cliente.
 Las escrituras a disco no son simultáneas
a la realización de la operación, sino que
difieren unos 2 segundos, en los que se
puede modificar varias veces el registro
antes de ser persistido.
¿Cómo funciona?
 En el caso de incrementar el tamaño del
documento y de que los nuevos datos no
se puedan almacenar junto los antiguos,
se mueve el documento entero hasta un
área vacía del archivo de datos (evitando
la fragmentación del mismo).
¿Cómo funciona?
¿Qué lo diferencia de otros?
 Un aspecto relevante de MongoDB es que
soporta consultas dinámicas ,pudiendo
formular sobre cualquier valor de los
documentos y no solamente en los
indexados.
 También dispone de MapReduce, por lo
que las diferencias más visibles entre
ambas bases de datos son la interfaz
entre estas y el desarrollador.
Ejemplo de un documento en
MongoDb
{
“_id” : “4da2c0e2e999fb56bf000002”
“title” : “Una introducción a MongoDB”,
“body” : “Lorem ipsum dolor sit amet…”,
“published_at” : “2011-05-09T18:17:07-07:00”,
“author_info” : {
“_id” : “4dc8919331c0c00001000002”
“name” : “Carlos Paramio”
},
“tags” : [“MongoDB”, “NoSQL”, “Bases de datos”]
“comments” : [
{
“author_info” : { “name” : “Jorge Rubira”, “email” :
“email1@example.com” },
“body” : “Test”,
“created_at” : “2011-05-10T10:14:01-07:00”
},
{
“author_info” : { “name” : “Txema Rodríguez”, “email” :
“email2@example.com” },
“body” : “Otro test”,
“created_at” : “2011-05-10T10:14:09-07:00”
}
]
“liked_by” : [“4d7cf768e999fb67c0000001”,
“4da34c62ba875a19d4000001”]
}
Consulta De Datos
 MongoDB permite utilizar funciones Map y
Reduce que estan escritas en Javascript para
seleccionar los atributos que nos interesan de
los datos, y agregarlos de la manera
deseada, respectivamente.
 Esto es algo habitual en muchos sistemas
NoSQL, y en algunos casos es incluso la
única forma posible de consultar datos. Claro
está que muchas veces necesitamos algo
bastante más sencillo que esto
 MongoDB se pueden utilizar consultas al
valor de un atributo específico.
 Por ejemplo, podemos capturar el post
que tiene un determinado título:
db.posts.find({„title‟ : „Una
introducción a MongoDB‟})
 El valor a consultar puede estar anidado
en un tipo de datos más completo en el
atributo del documento.
Consulta De Datos
 Se utiliza un punto como separador de los
nombres de las claves de los diferentes
hashes que hay que recorrer hasta llegar al
valor deseado.
◦ Por ejemplo, la siguiente consulta devolvería todos
los posts escritos por un determinado autor:
db.posts.find({„author_info._id‟ :
„4da2c0e2e999fb56bf000002‟})
 Y esta otra los posts etiquetados con
MongoDB:
db.posts.find({„tags‟ : „MongoDB‟})
Consulta De Datos
El HASH
 Utilizado como conjunto de condiciones que deben cumplir los
documentos a devolver puede incluir operadores de muy diversos
tipos, no sólo comparadores del valor absoluto buscado. Algunos
de ellos son:
•$all : Para indicar que el array almacenado como valor del
atributo debe tener los mismos elementos que el
proporcionado en la condición.
•$exists : Para comprobar que el atributo existe en el
documento.
•$mod : Para comprobar el resto de una división del valor del
atributo por un número.
•$ne : Para indicar que el valor no puede ser el proporcionado.
•$in : Para indicar que el valor debe estar entre alguno de los
proporcionados.
•$nin : Contrario de $in.
MongoDB Introducción Base de Datos NoSQL

Más contenido relacionado

La actualidad más candente

Maual de instalacion mongodb
Maual de instalacion mongodbMaual de instalacion mongodb
Maual de instalacion mongodbGerzair García
 
MongoDB (Conceptos Básicos) - Junio 2010
MongoDB (Conceptos Básicos) - Junio 2010MongoDB (Conceptos Básicos) - Junio 2010
MongoDB (Conceptos Básicos) - Junio 2010Rafael Hernamperez
 
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBScalia
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db.. ..
 
NOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDBNOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDBVictor Cuervo
 
servicios de almacenamiento en linea gratuitos
servicios de almacenamiento en linea gratuitosservicios de almacenamiento en linea gratuitos
servicios de almacenamiento en linea gratuitosJohanna Culcay
 
Navegación y búsqueda en el cyberespacio
Navegación y búsqueda en el cyberespacioNavegación y búsqueda en el cyberespacio
Navegación y búsqueda en el cyberespacioanesantivale
 
Actividad de aprendizaje 4 .Principales bases de datos existentes
Actividad de aprendizaje 4 .Principales bases de datos existentesActividad de aprendizaje 4 .Principales bases de datos existentes
Actividad de aprendizaje 4 .Principales bases de datos existentesingalbertocastrejon
 
Principales Bases de Datos
Principales Bases de DatosPrincipales Bases de Datos
Principales Bases de Datosreynayuc
 
Practica 2 base de datos
Practica 2 base de datosPractica 2 base de datos
Practica 2 base de datosBalta Rdz
 

La actualidad más candente (20)

Mongo db
Mongo dbMongo db
Mongo db
 
MONGODB - NOSQL
MONGODB - NOSQLMONGODB - NOSQL
MONGODB - NOSQL
 
Maual de instalacion mongodb
Maual de instalacion mongodbMaual de instalacion mongodb
Maual de instalacion mongodb
 
MongoDB
MongoDBMongoDB
MongoDB
 
MongoDB - Madrid Devops Febrero
MongoDB - Madrid Devops FebreroMongoDB - Madrid Devops Febrero
MongoDB - Madrid Devops Febrero
 
MongoDB (Conceptos Básicos) - Junio 2010
MongoDB (Conceptos Básicos) - Junio 2010MongoDB (Conceptos Básicos) - Junio 2010
MongoDB (Conceptos Básicos) - Junio 2010
 
Instalacion nosql "mongodb"
Instalacion nosql "mongodb"Instalacion nosql "mongodb"
Instalacion nosql "mongodb"
 
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db
 
NOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDBNOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDB
 
servicios de almacenamiento en linea gratuitos
servicios de almacenamiento en linea gratuitosservicios de almacenamiento en linea gratuitos
servicios de almacenamiento en linea gratuitos
 
Navegación y búsqueda en el cyberespacio
Navegación y búsqueda en el cyberespacioNavegación y búsqueda en el cyberespacio
Navegación y búsqueda en el cyberespacio
 
Actividad de aprendizaje 4 .Principales bases de datos existentes
Actividad de aprendizaje 4 .Principales bases de datos existentesActividad de aprendizaje 4 .Principales bases de datos existentes
Actividad de aprendizaje 4 .Principales bases de datos existentes
 
Mongodb
MongodbMongodb
Mongodb
 
NoSQL - MongoDB
NoSQL - MongoDBNoSQL - MongoDB
NoSQL - MongoDB
 
Googledrive
GoogledriveGoogledrive
Googledrive
 
MID MANAJER RECURSO
MID MANAJER RECURSOMID MANAJER RECURSO
MID MANAJER RECURSO
 
Principales Bases de Datos
Principales Bases de DatosPrincipales Bases de Datos
Principales Bases de Datos
 
Fundamentos de html
Fundamentos de htmlFundamentos de html
Fundamentos de html
 
Practica 2 base de datos
Practica 2 base de datosPractica 2 base de datos
Practica 2 base de datos
 

Destacado

Dispositivos computación david yan
Dispositivos computación david yanDispositivos computación david yan
Dispositivos computación david yandavidmauy
 
Case columbia vfinal
Case columbia vfinalCase columbia vfinal
Case columbia vfinalMaria Suarez
 
Presentación(1).ppt
 Presentación(1).ppt  Presentación(1).ppt
Presentación(1).ppt lulijira2
 
Maria belen torres
Maria belen torresMaria belen torres
Maria belen torresmaribe07
 
Els san antonio spurs
Els san antonio spursEls san antonio spurs
Els san antonio spurssensini10
 
Que es la química
Que es la químicaQue es la química
Que es la químicavaaleeeria
 
Reial club marítim de barcelona
Reial club marítim de barcelonaReial club marítim de barcelona
Reial club marítim de barcelonasensini10
 
Articulo de economia
Articulo de economiaArticulo de economia
Articulo de economiaWil Mer
 
Análisis de lecturas
Análisis de lecturasAnálisis de lecturas
Análisis de lecturasyorielar
 
Pruebapresentacion 110216120432-phpapp02
Pruebapresentacion 110216120432-phpapp02Pruebapresentacion 110216120432-phpapp02
Pruebapresentacion 110216120432-phpapp02Elena Serrano
 
Técnicas y estrategias
Técnicas y estrategiasTécnicas y estrategias
Técnicas y estrategiasKwendu
 

Destacado (20)

Jovan
JovanJovan
Jovan
 
Remembranzas maria tereza de velazquez
Remembranzas maria tereza de velazquezRemembranzas maria tereza de velazquez
Remembranzas maria tereza de velazquez
 
Dispositivos computación david yan
Dispositivos computación david yanDispositivos computación david yan
Dispositivos computación david yan
 
Trabajo 1
Trabajo 1Trabajo 1
Trabajo 1
 
Case columbia vfinal
Case columbia vfinalCase columbia vfinal
Case columbia vfinal
 
Google2
Google2Google2
Google2
 
Citación y plagio
Citación y plagio Citación y plagio
Citación y plagio
 
Menu
MenuMenu
Menu
 
Presentación(1).ppt
 Presentación(1).ppt  Presentación(1).ppt
Presentación(1).ppt
 
Maria belen torres
Maria belen torresMaria belen torres
Maria belen torres
 
Els san antonio spurs
Els san antonio spursEls san antonio spurs
Els san antonio spurs
 
Instrucciones
InstruccionesInstrucciones
Instrucciones
 
Que es la química
Que es la químicaQue es la química
Que es la química
 
Reial club marítim de barcelona
Reial club marítim de barcelonaReial club marítim de barcelona
Reial club marítim de barcelona
 
Articulo de economia
Articulo de economiaArticulo de economia
Articulo de economia
 
Tutoria
TutoriaTutoria
Tutoria
 
Análisis de lecturas
Análisis de lecturasAnálisis de lecturas
Análisis de lecturas
 
Actividad 7
Actividad 7Actividad 7
Actividad 7
 
Pruebapresentacion 110216120432-phpapp02
Pruebapresentacion 110216120432-phpapp02Pruebapresentacion 110216120432-phpapp02
Pruebapresentacion 110216120432-phpapp02
 
Técnicas y estrategias
Técnicas y estrategiasTécnicas y estrategias
Técnicas y estrategias
 

Similar a MongoDB Introducción Base de Datos NoSQL

Similar a MongoDB Introducción Base de Datos NoSQL (20)

Características MONGO DB
Características MONGO DBCaracterísticas MONGO DB
Características MONGO DB
 
Mongo db
Mongo dbMongo db
Mongo db
 
Mongo db
Mongo dbMongo db
Mongo db
 
MongoDB
MongoDBMongoDB
MongoDB
 
Diapositva
DiapositvaDiapositva
Diapositva
 
Mongo db
Mongo dbMongo db
Mongo db
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos rodrigo
Base de datos rodrigoBase de datos rodrigo
Base de datos rodrigo
 
Base de datos
Base de datosBase de datos
Base de datos
 
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
 
Mongo bd michael landeo vargas
Mongo bd michael landeo vargasMongo bd michael landeo vargas
Mongo bd michael landeo vargas
 
MongoDB
MongoDBMongoDB
MongoDB
 
Semana 3 Mongodb
Semana 3   MongodbSemana 3   Mongodb
Semana 3 Mongodb
 
Mongodb
MongodbMongodb
Mongodb
 
Tipos de bases de datos por Juan del Ángel Oláez González
Tipos de bases de datos por Juan del Ángel Oláez GonzálezTipos de bases de datos por Juan del Ángel Oláez González
Tipos de bases de datos por Juan del Ángel Oláez González
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Act 04 rivera_alfredo_bd
Act 04 rivera_alfredo_bdAct 04 rivera_alfredo_bd
Act 04 rivera_alfredo_bd
 
Servicios de base de datos multimodelo NoSQL con Azure CosmosDB y aplicación...
Servicios de base de datos multimodelo  NoSQL con Azure CosmosDB y aplicación...Servicios de base de datos multimodelo  NoSQL con Azure CosmosDB y aplicación...
Servicios de base de datos multimodelo NoSQL con Azure CosmosDB y aplicación...
 
Pricipales bases de datos
Pricipales bases de datosPricipales bases de datos
Pricipales bases de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 

MongoDB Introducción Base de Datos NoSQL

  • 2. ¿Qué es MongoDb?  MongoDB es una bases de datos NoSQL cuya particularidad es que intenta unir las ventajas de los almacenes clave-valor y de las bases de datos relacionales clásicas (RBDMS).  Esta desarrollada en C++
  • 3. Terminología básica  En MongoDB, cada registro o conjunto de datos se denomina documento, que se pueden agrupar en colecciones, las cuales son el equivalente a las tablas en una base de datos relacional (sólo que las colecciones pueden almacenar documentos con muy diferentes formatos, en lugar de estar sometidos a un esquema fijo).  Se pueden crear índices para algunos atributos de los documentos, de modo que se mantendrá una estructura interna eficiente para el acceso a la información por los contenidos de estos atributos.
  • 4. ¿Cómo funciona?  Para almacenar los documentos, se 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.
  • 5.  En el área funcional, MongoDB permite la realización de operaciones de modificación de documentos enviando solamente el diferencial de datos, esto es, la modificación del mismo se realiza dentro del servidor, no en la parte cliente.  Las escrituras a disco no son simultáneas a la realización de la operación, sino que difieren unos 2 segundos, en los que se puede modificar varias veces el registro antes de ser persistido. ¿Cómo funciona?
  • 6.  En el caso de incrementar el tamaño del documento y de que los nuevos datos no se puedan almacenar junto los antiguos, se mueve el documento entero hasta un área vacía del archivo de datos (evitando la fragmentación del mismo). ¿Cómo funciona?
  • 7. ¿Qué lo diferencia de otros?  Un aspecto relevante de MongoDB es que soporta consultas dinámicas ,pudiendo formular sobre cualquier valor de los documentos y no solamente en los indexados.  También dispone de MapReduce, por lo que las diferencias más visibles entre ambas bases de datos son la interfaz entre estas y el desarrollador.
  • 8. Ejemplo de un documento en MongoDb
  • 9. { “_id” : “4da2c0e2e999fb56bf000002” “title” : “Una introducción a MongoDB”, “body” : “Lorem ipsum dolor sit amet…”, “published_at” : “2011-05-09T18:17:07-07:00”, “author_info” : { “_id” : “4dc8919331c0c00001000002” “name” : “Carlos Paramio” }, “tags” : [“MongoDB”, “NoSQL”, “Bases de datos”] “comments” : [ { “author_info” : { “name” : “Jorge Rubira”, “email” : “email1@example.com” }, “body” : “Test”, “created_at” : “2011-05-10T10:14:01-07:00” }, { “author_info” : { “name” : “Txema Rodríguez”, “email” : “email2@example.com” }, “body” : “Otro test”, “created_at” : “2011-05-10T10:14:09-07:00” } ] “liked_by” : [“4d7cf768e999fb67c0000001”, “4da34c62ba875a19d4000001”] }
  • 10. Consulta De Datos  MongoDB permite utilizar funciones Map y Reduce que estan escritas en Javascript para seleccionar los atributos que nos interesan de los datos, y agregarlos de la manera deseada, respectivamente.  Esto es algo habitual en muchos sistemas NoSQL, y en algunos casos es incluso la única forma posible de consultar datos. Claro está que muchas veces necesitamos algo bastante más sencillo que esto  MongoDB se pueden utilizar consultas al valor de un atributo específico.
  • 11.  Por ejemplo, podemos capturar el post que tiene un determinado título: db.posts.find({„title‟ : „Una introducción a MongoDB‟})  El valor a consultar puede estar anidado en un tipo de datos más completo en el atributo del documento. Consulta De Datos
  • 12.  Se utiliza un punto como separador de los nombres de las claves de los diferentes hashes que hay que recorrer hasta llegar al valor deseado. ◦ Por ejemplo, la siguiente consulta devolvería todos los posts escritos por un determinado autor: db.posts.find({„author_info._id‟ : „4da2c0e2e999fb56bf000002‟})  Y esta otra los posts etiquetados con MongoDB: db.posts.find({„tags‟ : „MongoDB‟}) Consulta De Datos
  • 13. El HASH  Utilizado como conjunto de condiciones que deben cumplir los documentos a devolver puede incluir operadores de muy diversos tipos, no sólo comparadores del valor absoluto buscado. Algunos de ellos son: •$all : Para indicar que el array almacenado como valor del atributo debe tener los mismos elementos que el proporcionado en la condición. •$exists : Para comprobar que el atributo existe en el documento. •$mod : Para comprobar el resto de una división del valor del atributo por un número. •$ne : Para indicar que el valor no puede ser el proporcionado. •$in : Para indicar que el valor debe estar entre alguno de los proporcionados. •$nin : Contrario de $in.