SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Bases de datos NoSQL
Orientadas a documentos
Anthony R. Sotolongo León
asotolongo@uci.cu
Sumario
•
•
•
•

Introducción a BDs orientadas a documentos.
Teorema CAP
MongoDB y CouchDB.
Modelación con NoSQL- orientadas a
documentos.
• Proyectos relacionados.
• Artículos relacionados
• Documentación relacionada.
¿Qué son las BDs- NoSQL orientada a
documentos?
• Almacena la información en pares(KeyValue)
• Almacenan documentos!!! – JSON
{ "_id": "doc#", “attributeN”:”valor”}
• Se describen ellos mismo(libres de
esquemas).
• Los documentos se aproxima a las filas de
las tablas de BD-Relacionales
Algunas…

ravendb
Teorema CAP

• Consistency : Todos los clientes ven la misma
versión de los datos

• Availability: Todos los clientes pueden
acceder a alguna versión de los datos(en
tiempo adecuado)

• Partition tolerance: Los datos pueden estar
particionados en varios servidores y si alguno
cae sigue funcionando el sistema
NoSQL-orientadas a documentos en
CAP

C

Sistemas Relacionales

P

A
Language
C++
Object Store Collection, Documents
concurrency
Map/reduce
support
Replication
interface
Store Files

Write in place
Yes

Erlang
Documents,
Views
MVCC
Yes

Master-Slave
TCP/IP
GridFS

Master -Master
HTTP
Attachments
Almacenamiento de objetos
Collections

Function

document
document

document
document
V IEWS

document

document

document
document

ensureIndex(Atributo)

Índices
Concurrencia
Function

Collections
document
document

document
document
V IEWS

document

document

document
document

UPDATE
Concurrencia
Function

Collections
document
document

document
document
V IEWS

document

document

document

document

UPDATE

UPDATE
Concurrencia
Function

Collections
document
document

document
document
V IEWS

document

document

document

document
document
UPDATE

UPDATE

_rev
Map/Reduce
function() {
if ( this.contenido==‘HOLA
MUNDO’ )
emit(this.contenido,this.titulo}

function(doc) {
if(doc.contenido==‘HOLA MUNDO’)
emit(null,{doc.titulo,doc.contenido}
);}
Replicación

Maestro-esclavo
Replica-Set
Shared Mode

Maestro-Maestro
-Filtros (funciones)
Estudio del comportamiento con concurrencia

Escritura 100 docs
Estudio del comportamiento con concurrencia

lectura 100000 docs
Estudio del comportamiento con concurrencia

Lectura - Map/Reduce100000 docs
Estudio del comportamiento con concurrencia

Subida de archivos- 9.62 MB
¿Se trata de?
¿Quienes los utilizan?

Métricas y trazas
de sus app

Replicación
¿Quienes los utilizan en la UCI?

Naire
Modelación con NoSQL orientado a
documentos

• Desnormalización
• Agregación (nested entities)
E-Commerce System with MongoDB
• Christian Kvalheim, Node.js driver developer.
Categoría

Producto

Modelo relacional
Carro_compra

Usuarios
Ejemplo E-Commerce MongoDB
• Christian Kvalheim, Node.js driver developer.
Colección-productos

Modelo MongoDB
Colección-carro_compra

{Id_product,
name,
details(weight,
height) ,
price ,
quantity,
Categorie}

Desnormalizacion
Agregación

{ id_user,
Status,
quantity: 2,
total: 2000,
products: [] }
Proyectos…
• CouchBase : Couchdb+Memcached
• BigCouch: Couchdb + Cluster
• Humongous: Standalone Mongo Browser for
Ruby, using HTML5.

• MonjaDB: MongoDB GUI client.
Artículos …
• From ISIS to CouchDB: Databases and
Data Models for Bibliographic Records.

• Moving Towards Non-Relational
Databases
Documentación
Bases de datos NoSQL
Orientadas a documentos
Anthony R. Sotolongo León
asotolongo@uci.cu

Más contenido relacionado

La actualidad más candente

Back to Basics 1: Thinking in documents
Back to Basics 1: Thinking in documentsBack to Basics 1: Thinking in documents
Back to Basics 1: Thinking in documents
MongoDB
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
josecuartas
 
Design your application using Persistent Graphs and OrientDB
Design your application using Persistent Graphs and OrientDBDesign your application using Persistent Graphs and OrientDB
Design your application using Persistent Graphs and OrientDB
Luca Garulli
 

La actualidad más candente (20)

Back to Basics 1: Thinking in documents
Back to Basics 1: Thinking in documentsBack to Basics 1: Thinking in documents
Back to Basics 1: Thinking in documents
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
mongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y ComponentesmongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y Componentes
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Dfd
DfdDfd
Dfd
 
Diapositivas de base de datos
Diapositivas de base de datosDiapositivas de base de datos
Diapositivas de base de datos
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Fundamentos de BD - unidad 3 modelo relacional
Fundamentos de BD - unidad 3 modelo relacionalFundamentos de BD - unidad 3 modelo relacional
Fundamentos de BD - unidad 3 modelo relacional
 
Design your application using Persistent Graphs and OrientDB
Design your application using Persistent Graphs and OrientDBDesign your application using Persistent Graphs and OrientDB
Design your application using Persistent Graphs and OrientDB
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
NoSQL - MongoDB
NoSQL - MongoDBNoSQL - MongoDB
NoSQL - MongoDB
 
Cardinalidad
CardinalidadCardinalidad
Cardinalidad
 
Fundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - IntroducciónFundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - Introducción
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)
 
Educación y datos masivos (Big Data)
Educación y datos masivos (Big Data)Educación y datos masivos (Big Data)
Educación y datos masivos (Big Data)
 
Migrating from RDBMS to MongoDB
Migrating from RDBMS to MongoDBMigrating from RDBMS to MongoDB
Migrating from RDBMS to MongoDB
 
NOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDBNOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDB
 
Diseño logico de una base de datos
Diseño logico de  una base de datosDiseño logico de  una base de datos
Diseño logico de una base de datos
 
Bases De Datos Paralelas
Bases De Datos ParalelasBases De Datos Paralelas
Bases De Datos Paralelas
 

Similar a Bases de datos NoSQL orientadas a documentos

Mongo bd michael landeo vargas
Mongo bd michael landeo vargasMongo bd michael landeo vargas
Mongo bd michael landeo vargas
MichaelAngel1000
 

Similar a Bases de datos NoSQL orientadas a documentos (20)

NoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de DatosNoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de Datos
 
NoSql introducción -Innova4j
NoSql introducción -Innova4jNoSql introducción -Innova4j
NoSql introducción -Innova4j
 
Bases de Datos No Relacionales
Bases de Datos No RelacionalesBases de Datos No Relacionales
Bases de Datos No Relacionales
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
Mongo bd michael landeo vargas
Mongo bd michael landeo vargasMongo bd michael landeo vargas
Mongo bd michael landeo vargas
 
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...
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Video_MartinFowler.pptx
Video_MartinFowler.pptxVideo_MartinFowler.pptx
Video_MartinFowler.pptx
 
Video_MartinFowler.pptx
Video_MartinFowler.pptxVideo_MartinFowler.pptx
Video_MartinFowler.pptx
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Que una base de datos
Que una base de datosQue una base de datos
Que una base de datos
 
Principales bases de datos
Principales bases de datosPrincipales bases de datos
Principales bases de datos
 
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
 
Base de datos
Base de datosBase de datos
Base de datos
 
PHP y NoSQL PHPConMX 2012
PHP y NoSQL   PHPConMX 2012PHP y NoSQL   PHPConMX 2012
PHP y NoSQL PHPConMX 2012
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Fundamentos de NoSQL
Fundamentos de NoSQLFundamentos de NoSQL
Fundamentos de NoSQL
 
MongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercadoMongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercado
 
Bases de Datos SQL y NoSQL
Bases de Datos SQL y NoSQLBases de Datos SQL y NoSQL
Bases de Datos SQL y NoSQL
 

Más de Anthony Sotolongo (6)

Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4
 
Evolución y avances del Gestor PostgreSQL
Evolución y avances del  Gestor PostgreSQLEvolución y avances del  Gestor PostgreSQL
Evolución y avances del Gestor PostgreSQL
 
Características nosql de postgresql
Características nosql de postgresqlCaracterísticas nosql de postgresql
Características nosql de postgresql
 
Mongodb vs couchdb
Mongodb vs couchdb Mongodb vs couchdb
Mongodb vs couchdb
 
Operadores para json en pg 9.2
Operadores para json en pg 9.2Operadores para json en pg 9.2
Operadores para json en pg 9.2
 
Pgpymongo y pgpycouch
Pgpymongo y pgpycouchPgpymongo y pgpycouch
Pgpymongo y pgpycouch
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
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
FagnerLisboa3
 

Último (11)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
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
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 

Bases de datos NoSQL orientadas a documentos