SlideShare una empresa de Scribd logo
1 de 29
Bases de datos NoSQL
MongoDB
Lic. Juan Azcurra
/jazcurra
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.
{ : }valuestring
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

La actualidad más candente

Mongodb basics and architecture
Mongodb basics and architectureMongodb basics and architecture
Mongodb basics and architectureBishal Khanal
 
An Intro to NoSQL Databases
An Intro to NoSQL DatabasesAn Intro to NoSQL Databases
An Intro to NoSQL DatabasesRajith Pemabandu
 
An introduction to MongoDB
An introduction to MongoDBAn introduction to MongoDB
An introduction to MongoDBCésar Trigo
 
Apache Cassandra - Base de datos
Apache Cassandra - Base de datosApache Cassandra - Base de datos
Apache Cassandra - Base de datosZteeven Zalinas
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrolloJuan Ladetto
 
Introduction to MongoDB.pptx
Introduction to MongoDB.pptxIntroduction to MongoDB.pptx
Introduction to MongoDB.pptxSurya937648
 
introduction to NOSQL Database
introduction to NOSQL Databaseintroduction to NOSQL Database
introduction to NOSQL Databasenehabsairam
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBMongoDB
 
Historia de la tecnologia de base de datos
Historia de la tecnologia de base de datosHistoria de la tecnologia de base de datos
Historia de la tecnologia de base de datosralbarracin
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisisinnovalabcun
 
Introducing MongoDB Atlas
Introducing MongoDB AtlasIntroducing MongoDB Atlas
Introducing MongoDB AtlasMongoDB
 
Common MongoDB Use Cases
Common MongoDB Use CasesCommon MongoDB Use Cases
Common MongoDB Use CasesDATAVERSITY
 
MongoDB Atlas
MongoDB AtlasMongoDB Atlas
MongoDB AtlasMongoDB
 

La actualidad más candente (20)

Mongodb basics and architecture
Mongodb basics and architectureMongodb basics and architecture
Mongodb basics and architecture
 
An Intro to NoSQL Databases
An Intro to NoSQL DatabasesAn Intro to NoSQL Databases
An Intro to NoSQL Databases
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
An introduction to MongoDB
An introduction to MongoDBAn introduction to MongoDB
An introduction to MongoDB
 
MongoDB
MongoDBMongoDB
MongoDB
 
Apache Cassandra - Base de datos
Apache Cassandra - Base de datosApache Cassandra - Base de datos
Apache Cassandra - Base de datos
 
Mongo DB
Mongo DBMongo DB
Mongo DB
 
¿que es mongodb?
¿que es mongodb?¿que es mongodb?
¿que es mongodb?
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
Introduction to MongoDB.pptx
Introduction to MongoDB.pptxIntroduction to MongoDB.pptx
Introduction to MongoDB.pptx
 
MongoDB Avanzado
MongoDB AvanzadoMongoDB Avanzado
MongoDB Avanzado
 
introduction to NOSQL Database
introduction to NOSQL Databaseintroduction to NOSQL Database
introduction to NOSQL Database
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jBases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
 
Historia de la tecnologia de base de datos
Historia de la tecnologia de base de datosHistoria de la tecnologia de base de datos
Historia de la tecnologia de base de datos
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 
Introducing MongoDB Atlas
Introducing MongoDB AtlasIntroducing MongoDB Atlas
Introducing MongoDB Atlas
 
Common MongoDB Use Cases
Common MongoDB Use CasesCommon MongoDB Use Cases
Common MongoDB Use Cases
 
MongoDB Atlas
MongoDB AtlasMongoDB Atlas
MongoDB Atlas
 

Destacado

Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBScalia
 
3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguaje3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguajeLaura Folgado Galache
 
5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formularios5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formulariosLaura Folgado Galache
 
4. Programación con arrays, funciones, y objetos definidos por el usuario
4. Programación con arrays, funciones, y objetos definidos por el usuario4. Programación con arrays, funciones, y objetos definidos por el usuario
4. Programación con arrays, funciones, y objetos definidos por el usuarioLaura Folgado Galache
 
7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncrona7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncronaLaura Folgado Galache
 
1. Arquitecturas y Herramientas de Programación
1. Arquitecturas y Herramientas de Programación1. Arquitecturas y Herramientas de Programación
1. Arquitecturas y Herramientas de ProgramaciónLaura Folgado Galache
 
2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguajeLaura Folgado Galache
 
6. Utilización del modelo de objetos del documento (DOM)
6. Utilización del modelo de objetos del documento (DOM)6. Utilización del modelo de objetos del documento (DOM)
6. Utilización del modelo de objetos del documento (DOM)Laura Folgado Galache
 

Destacado (8)

Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
 
3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguaje3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguaje
 
5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formularios5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formularios
 
4. Programación con arrays, funciones, y objetos definidos por el usuario
4. Programación con arrays, funciones, y objetos definidos por el usuario4. Programación con arrays, funciones, y objetos definidos por el usuario
4. Programación con arrays, funciones, y objetos definidos por el usuario
 
7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncrona7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncrona
 
1. Arquitecturas y Herramientas de Programación
1. Arquitecturas y Herramientas de Programación1. Arquitecturas y Herramientas de Programación
1. Arquitecturas y Herramientas de Programación
 
2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje
 
6. Utilización del modelo de objetos del documento (DOM)
6. Utilización del modelo de objetos del documento (DOM)6. Utilización del modelo de objetos del documento (DOM)
6. Utilización del modelo de objetos del documento (DOM)
 

Similar a NoSQL - MongoDB

00-Bases+de+dato+noSQL (3).pdf
00-Bases+de+dato+noSQL (3).pdf00-Bases+de+dato+noSQL (3).pdf
00-Bases+de+dato+noSQL (3).pdfVictor Zapata
 
Piensa en grande: Big data para programadores
Piensa en grande: Big data para programadoresPiensa en grande: Big data para programadores
Piensa en grande: Big data para programadoresRafael Bermúdez Míguez
 
El mundo Big Data y las APIs
El mundo Big Data y las APIsEl mundo Big Data y las APIs
El mundo Big Data y las APIsBig Data Spain
 
Big data y las apis (big data spain)
Big data y las apis (big data spain)Big data y las apis (big data spain)
Big data y las apis (big data spain)CloudAppi
 
Jean piere sarumo mongodb
Jean piere sarumo mongodbJean piere sarumo mongodb
Jean piere sarumo mongodbJean Sarumo
 
NoSql introducción -Innova4j
NoSql introducción -Innova4jNoSql introducción -Innova4j
NoSql introducción -Innova4jInnova4j
 
Apache Cassandra
Apache CassandraApache Cassandra
Apache CassandraLuis Ojeda
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db.. ..
 
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...Daniel Gomez Jaramillo
 
Greach 2011 - Engrandeciendo Grails con Mongo DB
Greach 2011 - Engrandeciendo Grails con Mongo DBGreach 2011 - Engrandeciendo Grails con Mongo DB
Greach 2011 - Engrandeciendo Grails con Mongo DBgreach_es
 

Similar a NoSQL - MongoDB (20)

00-Bases+de+dato+noSQL (3).pdf
00-Bases+de+dato+noSQL (3).pdf00-Bases+de+dato+noSQL (3).pdf
00-Bases+de+dato+noSQL (3).pdf
 
Big data presentación
Big data presentaciónBig data presentación
Big data presentación
 
Piensa en grande: Big data para programadores
Piensa en grande: Big data para programadoresPiensa en grande: Big data para programadores
Piensa en grande: Big data para programadores
 
El mundo Big Data y las APIs
El mundo Big Data y las APIsEl mundo Big Data y las APIs
El mundo Big Data y las APIs
 
Big data y las apis (big data spain)
Big data y las apis (big data spain)Big data y las apis (big data spain)
Big data y las apis (big data spain)
 
005-Proceso-ETL-Carga.pdf
005-Proceso-ETL-Carga.pdf005-Proceso-ETL-Carga.pdf
005-Proceso-ETL-Carga.pdf
 
Jean piere sarumo mongodb
Jean piere sarumo mongodbJean piere sarumo mongodb
Jean piere sarumo mongodb
 
NoSql introducción -Innova4j
NoSql introducción -Innova4jNoSql introducción -Innova4j
NoSql introducción -Innova4j
 
DB4O + BIRT
DB4O + BIRTDB4O + BIRT
DB4O + BIRT
 
MONGODB - NOSQL
MONGODB - NOSQLMONGODB - NOSQL
MONGODB - NOSQL
 
Apache Cassandra
Apache CassandraApache Cassandra
Apache Cassandra
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db
 
No sql
No sqlNo sql
No sql
 
Bases de datos no sql
Bases de datos no sqlBases de datos no sql
Bases de datos no sql
 
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...
 
NoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradasNoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradas
 
Tipos dba chmj_22082018
Tipos dba chmj_22082018Tipos dba chmj_22082018
Tipos dba chmj_22082018
 
Mongo db course introduction
Mongo db course   introductionMongo db course   introduction
Mongo db course introduction
 
Greach 2011 - Engrandeciendo Grails con Mongo DB
Greach 2011 - Engrandeciendo Grails con Mongo DBGreach 2011 - Engrandeciendo Grails con Mongo DB
Greach 2011 - Engrandeciendo Grails con Mongo DB
 
Semana 3 Mongodb
Semana 3   MongodbSemana 3   Mongodb
Semana 3 Mongodb
 

Más de Juan Azcurra

Gestión de la Calidad en Proyectos
Gestión de la Calidad en ProyectosGestión de la Calidad en Proyectos
Gestión de la Calidad en ProyectosJuan Azcurra
 
Gestión del Alcance en los Proyectos
Gestión del Alcance en los ProyectosGestión del Alcance en los Proyectos
Gestión del Alcance en los ProyectosJuan Azcurra
 
Fundamentos de Administración de Proyectos
Fundamentos de Administración de ProyectosFundamentos de Administración de Proyectos
Fundamentos de Administración de ProyectosJuan Azcurra
 
Introducción a Business Intelligence
Introducción a Business IntelligenceIntroducción a Business Intelligence
Introducción a Business IntelligenceJuan Azcurra
 
Web Log Analysis - AWK
Web Log Analysis - AWKWeb Log Analysis - AWK
Web Log Analysis - AWKJuan Azcurra
 
Web Usage Mining - Temas Avanzados
Web Usage Mining - Temas AvanzadosWeb Usage Mining - Temas Avanzados
Web Usage Mining - Temas AvanzadosJuan Azcurra
 
Web Content Mining - Information Retrieval
Web Content Mining - Information RetrievalWeb Content Mining - Information Retrieval
Web Content Mining - Information RetrievalJuan Azcurra
 
Web Content Mining - Datos estructurados
Web Content Mining - Datos estructuradosWeb Content Mining - Datos estructurados
Web Content Mining - Datos estructuradosJuan Azcurra
 
Introducción a Web Mining
Introducción a Web MiningIntroducción a Web Mining
Introducción a Web MiningJuan Azcurra
 
Introducción a Big Data
Introducción a Big DataIntroducción a Big Data
Introducción a Big DataJuan Azcurra
 
Introducción a Text Mining
Introducción a Text MiningIntroducción a Text Mining
Introducción a Text MiningJuan Azcurra
 

Más de Juan Azcurra (16)

Gestión de la Calidad en Proyectos
Gestión de la Calidad en ProyectosGestión de la Calidad en Proyectos
Gestión de la Calidad en Proyectos
 
Gestión del Alcance en los Proyectos
Gestión del Alcance en los ProyectosGestión del Alcance en los Proyectos
Gestión del Alcance en los Proyectos
 
Fundamentos de Administración de Proyectos
Fundamentos de Administración de ProyectosFundamentos de Administración de Proyectos
Fundamentos de Administración de Proyectos
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Introducción a Business Intelligence
Introducción a Business IntelligenceIntroducción a Business Intelligence
Introducción a Business Intelligence
 
Text mining
Text miningText mining
Text mining
 
Opinion mining
Opinion miningOpinion mining
Opinion mining
 
Web Link Analysis
Web Link AnalysisWeb Link Analysis
Web Link Analysis
 
Web Log Analysis - AWK
Web Log Analysis - AWKWeb Log Analysis - AWK
Web Log Analysis - AWK
 
Web Usage Mining
Web Usage MiningWeb Usage Mining
Web Usage Mining
 
Web Usage Mining - Temas Avanzados
Web Usage Mining - Temas AvanzadosWeb Usage Mining - Temas Avanzados
Web Usage Mining - Temas Avanzados
 
Web Content Mining - Information Retrieval
Web Content Mining - Information RetrievalWeb Content Mining - Information Retrieval
Web Content Mining - Information Retrieval
 
Web Content Mining - Datos estructurados
Web Content Mining - Datos estructuradosWeb Content Mining - Datos estructurados
Web Content Mining - Datos estructurados
 
Introducción a Web Mining
Introducción a Web MiningIntroducción a Web Mining
Introducción a Web Mining
 
Introducción a Big Data
Introducción a Big DataIntroducción a Big Data
Introducción a Big Data
 
Introducción a Text Mining
Introducción a Text MiningIntroducción a Text Mining
Introducción a Text Mining
 

Último

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 

Último (19)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 

NoSQL - MongoDB

  • 1. Bases de datos NoSQL MongoDB Lic. Juan Azcurra /jazcurra
  • 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. { : }valuestring 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()