bases de datos nosql orientadas a documentos

28
Bases de datos NoSQL Orientadas a documentos Anthony R. Sotolongo León [email protected]

Upload: anthony-sotolongo

Post on 22-Nov-2014

801 views

Category:

Technology


0 download

DESCRIPTION

Bases de datos NoSQL orientadas a documentos detallando en particularidades de mongoDB y CouchDB

TRANSCRIPT

Page 1: Bases de datos NoSQL orientadas a documentos

Bases de datos NoSQLOrientadas a documentos

Anthony R. Sotolongo León

[email protected]

Page 2: Bases de datos NoSQL orientadas a documentos

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.

Page 3: Bases de datos NoSQL orientadas a documentos

¿Qué son las BDs- NoSQL orientada a documentos?

• Almacena la información en pares(Key-Value)

• 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

Page 4: Bases de datos NoSQL orientadas a documentos

Algunas…

ravendb

Page 5: Bases de datos NoSQL orientadas a documentos

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

Page 6: Bases de datos NoSQL orientadas a documentos

NoSQL-orientadas a documentos en CAP

C

AP

Sistemas Relacionales

Page 7: Bases de datos NoSQL orientadas a documentos

Language C++ Erlang

Object Store Collection, Documents Documents, Views

concurrency Write in place MVCC

Map/reduce

support

Yes Yes

Replication Master-Slave Master -Master

interface TCP/IP HTTP

Store Files GridFS Attachments

Page 8: Bases de datos NoSQL orientadas a documentos

Almacenamiento de objetosCollections

document document

documentdocument

document

document

document

document

V IEWS

Function

Índices ensureIndex(Atributo)

Page 9: Bases de datos NoSQL orientadas a documentos

ConcurrenciaCollections

document

documentdocument

document

document

document

document

V IEWS

Function

UPDATE

document

Page 10: Bases de datos NoSQL orientadas a documentos

ConcurrenciaCollections

document

documentdocument

document

document

document

document

V IEWS

Function

UPDATEUPDATE

document

Page 11: Bases de datos NoSQL orientadas a documentos

ConcurrenciaCollections

document

documentdocument

document

document

document

document

V IEWS

Function

UPDATEUPDATE

document

_rev

document

Page 12: Bases de datos NoSQL orientadas a documentos

Map/Reduce

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

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

Page 13: Bases de datos NoSQL orientadas a documentos

Replicación

Maestro-Maestro

-Filtros (funciones)

Maestro-esclavoReplica-SetShared Mode

Page 14: Bases de datos NoSQL orientadas a documentos

Estudio del comportamiento con concurrencia

Escritura 100 docs

Page 15: Bases de datos NoSQL orientadas a documentos

Estudio del comportamiento con concurrencia

lectura 100000 docs

Page 16: Bases de datos NoSQL orientadas a documentos

Estudio del comportamiento con concurrencia

Lectura - Map/Reduce100000 docs

Page 17: Bases de datos NoSQL orientadas a documentos

Estudio del comportamiento con concurrencia

Subida de archivos- 9.62 MB

Page 18: Bases de datos NoSQL orientadas a documentos

¿Se trata de?

Page 19: Bases de datos NoSQL orientadas a documentos
Page 20: Bases de datos NoSQL orientadas a documentos

¿Quienes los utilizan?

Métricas y trazas de sus app

Replicación

Page 21: Bases de datos NoSQL orientadas a documentos

¿Quienes los utilizan en la UCI?

Naire

Page 22: Bases de datos NoSQL orientadas a documentos

Modelación con NoSQL orientado a documentos

• Desnormalización

• Agregación (nested entities)

Page 23: Bases de datos NoSQL orientadas a documentos

E-Commerce System with MongoDB

• Christian Kvalheim, Node.js driver developer.

Categoría

Producto Carro_compra Usuarios

Modelo relacional

Page 24: Bases de datos NoSQL orientadas a documentos

Ejemplo E-Commerce MongoDB

• Christian Kvalheim, Node.js driver developer.

Modelo MongoDBColección-productos

Colección-carro_compra

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

{ id_user,Status,quantity: 2, total: 2000, products: [] }

Agregación

Desnormalizacion

Page 25: Bases de datos NoSQL orientadas a documentos

Proyectos…

• CouchBase : Couchdb+Memcached

• BigCouch: Couchdb + Cluster

• Humongous: Standalone Mongo Browser for

Ruby, using HTML5.

• MonjaDB: MongoDB GUI client.

Page 26: Bases de datos NoSQL orientadas a documentos

Artículos …

• From ISIS to CouchDB: Databases and Data Models for Bibliographic Records.

• Moving Towards Non-Relational Databases

Page 27: Bases de datos NoSQL orientadas a documentos

Documentación

Page 28: Bases de datos NoSQL orientadas a documentos

Bases de datos NoSQLOrientadas a documentos

Anthony R. Sotolongo León

[email protected]