Bases de datos NoSQL
MongoDB
NoSQL
Introducción
Eras de las Bases de Datos
 RDBMS para sistemas
transaccionales.
 Data Warehouse para
aplicaciones analíticas.
 NoSQL para cualquier
contenido.
Evolución de las Bases de Datos
Previo a NoSQL Posterior a NoSQL
Evolución de las Bases de Datos:
RDBMS
 Los datos usualmente son
almancenados en filas.
 Lenguaje estandarizado de
consultas (SQL).
 El modelo de datos se define
antes de poder agregar los
datos.
 Las relaciones unen datos
desde distintas tablas (joins).
 Los resultados son tablas.
Oracle, MySql, PostgresSQL, MSSql,
IBM DB/2
 Pros: transacciones con alto nivel
de control de seguridad (ACID).
 Cons: diseño previo, no son muy
escalables.
Evolución de las Bases de Datos:
Analytical
 Basadas en un esquema estrella
con una tabla central para cada
evento.
 Optimizadas para análisis de
datos históricos.
 Uso de lenguaje MDX para
consultar las medidas para cada
categoría de datos.
Cognos, Hyperion,
Microstrategy, Pentaho, SAP
BO, Microsoft, Oracle.
 Pros: consultas rápidas para
grandes volúmenes.
 Cons: no optimizado para
transacciones y actualizaciones.
Evolución de las Bases de Datos:
Key Value
 Utilizan valores claves para
acceder a BLOBs (Binary Large
Objects) de datos.
 Los valores pueden contener
cualquier tipo de datos
(imágenes, audio, video).
Berkley DB, Memcache,
DynamoDB, S3, Redis, Riak
 Pros: escalable, API simple
(insertar, leer, eliminar).
 Cons: no es posible consultar
basado en el contenido del valor.
Evolución de las Bases de Datos:
Column-Family
 La clave incluye una fila, familia
de columna y nombre de
columna.
 Almacenar blob versionado en
una tabla.
 Las consultas se pueden realizar a
nivel de fila, familia o nombre de
columna.
Cassandra, HBase,
Hypertable, Apache
Accumulo, Bigtable
 Pros: escalable, permite
versionado.
 Cons: no es posible consultar
basado en el contenido del valor.
Evolución de las Bases de Datos:
Graph
 Los datos son almacenados en
una serie de nodos, relaciones y
propiedades.
 Las consultas son a través de los
grafos.
 Ideal para cuando las relaciones
entre los datos es clave: ej. Redes
sociales.
Neo4J, AllegroGraph,
Bigdata triple store,
InfiniteGraph, StarDog
 Pros: consultas rápidas en la red.
 Cons: Mala escalabilidad cuando
el grafo no cabe en memoria,
lenguaje de consulta
especializado.
Evolución de las Bases de Datos:
Document
 Los datos son almacenados en
jerarquías anidadas.
 Los datos se guardan como una
unidad.
 Cualquier ítem en el documento
puede ser consultado.
MarkLogic, MongoDB,
CouchBase, CouchDB,
eXist-db
 Pros: capa de mapeo, ideal para
búsqueda.
 Cons: Complejo para
implementar, incompatible con
SQL.
SQL vs NoSQL
Document Database
MongoDB
MongoDB: Casos de estudio
MongoDB: Conceptos
 Base de Datos multiplataforma, que provee alta performance, alta
disponibilidad y escalamiento automático.
 Un registro en MongoDB es un documento, el cual es una estructura
compuesta de pares campo: valor. Los documentos son similares a
los objetos JSON.
JSON: Conceptos
 JavaScript Object Notation, es un formato liviano para intercambio
de datos.
 Es un formato de texto completamente independiente del
lenguaje.
 Está constituido por dos estructuras:
 Colección de pares de nombre / valor.
 Una lista ordenada de valores.
{ : }
value
string
object
,
object
JSON: Values
 Un valor puede ser una cadena de caracteres, un número, un
boolean, un objeto o un array.
number
string
value
object
false
null
array
true
value
JSON: Array
 Un arreglo es una colección de valores,
[ ]
value
array
,
JSON: Ejemplo
{ "nombre": "Juan Perez",
"alumno": true,
"carrera": "Licenciatura en Informatica",
"materias":
[
{ "materia": "Laboratorio 2",
"nota": 7,
"fecha": "2106-09-20"
},
{ "materia": "Base de Datos",
"nota": 9,
"fecha": "2015-12-20" }
]
}
MongoDB: Definiciones
MongoDB: Documents
 MongoDB almacena los registros de datos como documentos
BSON (Binary JSON).
 El valor de un campo puede ser cualquier tipo de dato BSON,
incluyendo otro documento, array o un array de documentos.
 Cada documento incluye un ID para identificarlo univocamente.
MongoDB: Modelado
 Al momento de modelar un documento, se deben considerar la
decisión de embeber los datos o utilizar referencias.
MongoDB: Modelado
 Es posible embeber datos relacionados en una estructura simple o
documento, estos esquemas son desnormalizados.
 Los modelos de datos embebidos se utilizan cuando:
 Existe una relación “contiene” entre las entidades.
 Existe una relación uno-a-muchos entre las entidades.
MongoDB: Modelado
 Relaciones uno-a-uno entre entidades, es posible embeber
directamente los datos en el documento.
 En el ejemplo, el domicilio del cliente está embebido en la entidad.
MongoDB: Modelado
 Es posible resolver relaciones uno-a-muchos embebiendo la
información en el documento.
MongoDB: Modelado
 Es posible (para evitar la redundancia), resolver las relaciones uno-
a-muchos utilizando referencias.
MongoDB: CRUD
 Create Operation:
 db.collection.insert()
 db.collection.insertOne()
 db.collection.insertMany()
 Read Operation:
 db.collection.find()
 Update Operation:
 db.collection.update()
 db.collection.updateOne()
 db.collection.updateMany()
 db.collection.replaceOne()
 Delete Operation:
 db.collection.remove()
 db.collection.deleteOne()
 db.collection.deleteMany()
MongoDB: Correspondencia con
SQL
MongoDB: Correspondencia con
SQL
MongoDB: Correspondencia con
SQL

Más contenido relacionado

PPTX
NoSQL - MongoDB
PPTX
Introducción a NoSQL
PDF
INTRODUCCION BASES DE DATOS - NOSQL - MONGODB
PPTX
Presentacion de power point
PPTX
Presentacion de power point
PPTX
DOCX
Base de datos no sql
NoSQL - MongoDB
Introducción a NoSQL
INTRODUCCION BASES DE DATOS - NOSQL - MONGODB
Presentacion de power point
Presentacion de power point
Base de datos no sql

Similar a 2016-10-mongodb-v1-1610311318504545.pptx (20)

PPSX
Bases de datos
PPTX
Bases de datos
PPTX
Base de datos
PPTX
Exposición de base de datos en programación
PPTX
NoSQL: la siguiente generación de Base de Datos
PPTX
PPTX
Santiago presentacion
PPTX
Pricipales bases de datos
PPTX
02 base de datos hernandez_luis
PPTX
Base de datos
PPTX
Bases de datos
PPTX
Principales bases de datos
PPTX
Base de datos 1
PPTX
Jean piere sarumo mongodb
PPTX
Bases de Datos - Act4_Gonzalez_Desirena_JuanCarlos
PDF
00-Bases+de+dato+noSQL (3).pdf
PPTX
PPTX
Act4 presentación reynoso_enrique
PPTX
Principales bases de datos
PPTX
Principales bases de datos
Bases de datos
Bases de datos
Base de datos
Exposición de base de datos en programación
NoSQL: la siguiente generación de Base de Datos
Santiago presentacion
Pricipales bases de datos
02 base de datos hernandez_luis
Base de datos
Bases de datos
Principales bases de datos
Base de datos 1
Jean piere sarumo mongodb
Bases de Datos - Act4_Gonzalez_Desirena_JuanCarlos
00-Bases+de+dato+noSQL (3).pdf
Act4 presentación reynoso_enrique
Principales bases de datos
Principales bases de datos
Publicidad

Más de JuancarlosHuertasNio1 (20)

PPTX
presentacion_metodologiap_PROYECTOS.pptx
PPTX
Presentacióntransac_Ingeniería_Webb.pptx
PPTX
2 SISTEMAS TRANSACCIONALE-TEST ACID.pptx
PPTX
PresentaciónAsign_evolucion_digital.pptx
PPTX
PresentaciónAsignaturaa_Realidadvya.pptx
PPTX
PresentaciónAsign_evolucion_digital.pptx
PPTX
Revolucion_Digitalmaximaexp_3_MARZO.pptx
PPTX
Presentación-FOROo-COMUNIDAD-ANDINA.pptx
PPT
oesrpresentacion_contador_enelmundod.ppt
PPTX
Plantilla PowerPoint 2025_trcional.pptx
PPTX
presentacion_laboratorio_N22_maxima.pptx
PPTX
Proceso de Matrículadelsena año2025.pptx
PPTX
Ambientes diverso deaprendizaje (2).pptx
PPT
introduccion_ingdelsoftwaareeeeeere2.ppt
PPT
Pres01BDIbasesdedatosestructuralllll.ppt
PPT
introduccion_ingdelsoftwaresoftware2.ppt
PPT
Pres01BDI.basesdedatosestructuramximappt
PPTX
PresentaciónAsignatura_SSACCIONALES.pptx
PPTX
2 SISTEMAS TRANSACCIONLES-TEST ACID.pptx
PPTX
Presentac_ALGORITMOS Y PROGRAMACION.pptx
presentacion_metodologiap_PROYECTOS.pptx
Presentacióntransac_Ingeniería_Webb.pptx
2 SISTEMAS TRANSACCIONALE-TEST ACID.pptx
PresentaciónAsign_evolucion_digital.pptx
PresentaciónAsignaturaa_Realidadvya.pptx
PresentaciónAsign_evolucion_digital.pptx
Revolucion_Digitalmaximaexp_3_MARZO.pptx
Presentación-FOROo-COMUNIDAD-ANDINA.pptx
oesrpresentacion_contador_enelmundod.ppt
Plantilla PowerPoint 2025_trcional.pptx
presentacion_laboratorio_N22_maxima.pptx
Proceso de Matrículadelsena año2025.pptx
Ambientes diverso deaprendizaje (2).pptx
introduccion_ingdelsoftwaareeeeeere2.ppt
Pres01BDIbasesdedatosestructuralllll.ppt
introduccion_ingdelsoftwaresoftware2.ppt
Pres01BDI.basesdedatosestructuramximappt
PresentaciónAsignatura_SSACCIONALES.pptx
2 SISTEMAS TRANSACCIONLES-TEST ACID.pptx
Presentac_ALGORITMOS Y PROGRAMACION.pptx
Publicidad

Último (20)

PDF
4° Dosificación anual (2025-2026) - Profe Diaz.pdf
PDF
Temas a elegir para desarrollar oralmente 2do cuatri 2025.pdf
PDF
CUADERNILLO_PROGRESIONES_HUMANIDADES_II.
PDF
Guía de Genética de aces descargado de manera libre
DOCX
PROGRAMA ANALITICO ESCUela en san luis potosi 25-26.docx
PPTX
Programa analitico 2024-2025 Jardín de niños Ramón Gonzáles Villarreal. T.M. ...
PDF
1er Grado - Dosificación Anual con Contenidos y PDA (2025-2026) (1).pdf
PDF
tu hijo tu espejo: libro que te ayudará a comprender la relación padres e hij...
DOCX
Programa Analítico- Lenguajes-Ingles 3º (1).docx
PPTX
contenidosypda-faase-3-230824191024-49ac7ac3.pptx
PDF
Libro-Libroferia-Encarnación-una-experiencia-de-alfabetizacion-cultural-Nadia...
PDF
el ACERTIJO y ROMPECABEZAS “El Reto de los Novios Matemáticos por un Amor Inf...
DOCX
Área transición documento word el m ejor
PDF
50000 mil words en inglés más usados.pdf
PDF
CUIDADOS DE PERIOPERATORIO I-ENFERMERIA I
PDF
GUÍA INTEGRADA PROMOCIÓN HORIZONTAL 2024-2025 (1).pdf
PPTX
CTE PARA LOS MIEMBROS COLECTIVOS DOCENTES.pptx
PDF
UNIDAD 2 | Parte 2 | Informar con precisión y criterio
PPTX
Evaluación de Programa analitico 2024-2025 Jardín de niños Ramón González Vil...
PDF
FASE-4-Tercero-y-Cuarto_Vinculacion-entre-Contenidos-del-Programa-Sintetico-y...
4° Dosificación anual (2025-2026) - Profe Diaz.pdf
Temas a elegir para desarrollar oralmente 2do cuatri 2025.pdf
CUADERNILLO_PROGRESIONES_HUMANIDADES_II.
Guía de Genética de aces descargado de manera libre
PROGRAMA ANALITICO ESCUela en san luis potosi 25-26.docx
Programa analitico 2024-2025 Jardín de niños Ramón Gonzáles Villarreal. T.M. ...
1er Grado - Dosificación Anual con Contenidos y PDA (2025-2026) (1).pdf
tu hijo tu espejo: libro que te ayudará a comprender la relación padres e hij...
Programa Analítico- Lenguajes-Ingles 3º (1).docx
contenidosypda-faase-3-230824191024-49ac7ac3.pptx
Libro-Libroferia-Encarnación-una-experiencia-de-alfabetizacion-cultural-Nadia...
el ACERTIJO y ROMPECABEZAS “El Reto de los Novios Matemáticos por un Amor Inf...
Área transición documento word el m ejor
50000 mil words en inglés más usados.pdf
CUIDADOS DE PERIOPERATORIO I-ENFERMERIA I
GUÍA INTEGRADA PROMOCIÓN HORIZONTAL 2024-2025 (1).pdf
CTE PARA LOS MIEMBROS COLECTIVOS DOCENTES.pptx
UNIDAD 2 | Parte 2 | Informar con precisión y criterio
Evaluación de Programa analitico 2024-2025 Jardín de niños Ramón González Vil...
FASE-4-Tercero-y-Cuarto_Vinculacion-entre-Contenidos-del-Programa-Sintetico-y...

2016-10-mongodb-v1-1610311318504545.pptx

  • 1. Bases de datos NoSQL MongoDB
  • 3. Eras de las Bases de Datos  RDBMS para sistemas transaccionales.  Data Warehouse para aplicaciones analíticas.  NoSQL para cualquier contenido.
  • 4. Evolución de las Bases de Datos Previo a NoSQL Posterior a NoSQL
  • 5. Evolución de las Bases de Datos: RDBMS  Los datos usualmente son almancenados en filas.  Lenguaje estandarizado de consultas (SQL).  El modelo de datos se define antes de poder agregar los datos.  Las relaciones unen datos desde distintas tablas (joins).  Los resultados son tablas. Oracle, MySql, PostgresSQL, MSSql, IBM DB/2  Pros: transacciones con alto nivel de control de seguridad (ACID).  Cons: diseño previo, no son muy escalables.
  • 6. Evolución de las Bases de Datos: Analytical  Basadas en un esquema estrella con una tabla central para cada evento.  Optimizadas para análisis de datos históricos.  Uso de lenguaje MDX para consultar las medidas para cada categoría de datos. Cognos, Hyperion, Microstrategy, Pentaho, SAP BO, Microsoft, Oracle.  Pros: consultas rápidas para grandes volúmenes.  Cons: no optimizado para transacciones y actualizaciones.
  • 7. Evolución de las Bases de Datos: Key Value  Utilizan valores claves para acceder a BLOBs (Binary Large Objects) de datos.  Los valores pueden contener cualquier tipo de datos (imágenes, audio, video). Berkley DB, Memcache, DynamoDB, S3, Redis, Riak  Pros: escalable, API simple (insertar, leer, eliminar).  Cons: no es posible consultar basado en el contenido del valor.
  • 8. Evolución de las Bases de Datos: Column-Family  La clave incluye una fila, familia de columna y nombre de columna.  Almacenar blob versionado en una tabla.  Las consultas se pueden realizar a nivel de fila, familia o nombre de columna. Cassandra, HBase, Hypertable, Apache Accumulo, Bigtable  Pros: escalable, permite versionado.  Cons: no es posible consultar basado en el contenido del valor.
  • 9. Evolución de las Bases de Datos: Graph  Los datos son almacenados en una serie de nodos, relaciones y propiedades.  Las consultas son a través de los grafos.  Ideal para cuando las relaciones entre los datos es clave: ej. Redes sociales. Neo4J, AllegroGraph, Bigdata triple store, InfiniteGraph, StarDog  Pros: consultas rápidas en la red.  Cons: Mala escalabilidad cuando el grafo no cabe en memoria, lenguaje de consulta especializado.
  • 10. Evolución de las Bases de Datos: Document  Los datos son almacenados en jerarquías anidadas.  Los datos se guardan como una unidad.  Cualquier ítem en el documento puede ser consultado. MarkLogic, MongoDB, CouchBase, CouchDB, eXist-db  Pros: capa de mapeo, ideal para búsqueda.  Cons: Complejo para implementar, incompatible con SQL.
  • 13. MongoDB: Casos de estudio
  • 14. MongoDB: Conceptos  Base de Datos multiplataforma, que provee alta performance, alta disponibilidad y escalamiento automático.  Un registro en MongoDB es un documento, el cual es una estructura compuesta de pares campo: valor. Los documentos son similares a los objetos JSON.
  • 15. JSON: Conceptos  JavaScript Object Notation, es un formato liviano para intercambio de datos.  Es un formato de texto completamente independiente del lenguaje.  Está constituido por dos estructuras:  Colección de pares de nombre / valor.  Una lista ordenada de valores. { : } value string object , object
  • 16. JSON: Values  Un valor puede ser una cadena de caracteres, un número, un boolean, un objeto o un array. number string value object false null array true value
  • 17. JSON: Array  Un arreglo es una colección de valores, [ ] value array ,
  • 18. JSON: Ejemplo { "nombre": "Juan Perez", "alumno": true, "carrera": "Licenciatura en Informatica", "materias": [ { "materia": "Laboratorio 2", "nota": 7, "fecha": "2106-09-20" }, { "materia": "Base de Datos", "nota": 9, "fecha": "2015-12-20" } ] }
  • 20. MongoDB: Documents  MongoDB almacena los registros de datos como documentos BSON (Binary JSON).  El valor de un campo puede ser cualquier tipo de dato BSON, incluyendo otro documento, array o un array de documentos.  Cada documento incluye un ID para identificarlo univocamente.
  • 21. MongoDB: Modelado  Al momento de modelar un documento, se deben considerar la decisión de embeber los datos o utilizar referencias.
  • 22. MongoDB: Modelado  Es posible embeber datos relacionados en una estructura simple o documento, estos esquemas son desnormalizados.  Los modelos de datos embebidos se utilizan cuando:  Existe una relación “contiene” entre las entidades.  Existe una relación uno-a-muchos entre las entidades.
  • 23. MongoDB: Modelado  Relaciones uno-a-uno entre entidades, es posible embeber directamente los datos en el documento.  En el ejemplo, el domicilio del cliente está embebido en la entidad.
  • 24. MongoDB: Modelado  Es posible resolver relaciones uno-a-muchos embebiendo la información en el documento.
  • 25. MongoDB: Modelado  Es posible (para evitar la redundancia), resolver las relaciones uno- a-muchos utilizando referencias.
  • 26. MongoDB: CRUD  Create Operation:  db.collection.insert()  db.collection.insertOne()  db.collection.insertMany()  Read Operation:  db.collection.find()  Update Operation:  db.collection.update()  db.collection.updateOne()  db.collection.updateMany()  db.collection.replaceOne()  Delete Operation:  db.collection.remove()  db.collection.deleteOne()  db.collection.deleteMany()