Bases de datos NoSQL orientadas a documentos
-
Upload
anthony-sotolongo -
Category
Technology
-
view
802 -
download
0
description
Transcript of Bases de datos NoSQL orientadas a documentos
![Page 2: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/2.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/3.jpg)
¿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](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/4.jpg)
Algunas…
ravendb
![Page 5: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/5.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/6.jpg)
NoSQL-orientadas a documentos en CAP
C
AP
Sistemas Relacionales
![Page 7: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/7.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/8.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/9.jpg)
ConcurrenciaCollections
document
documentdocument
document
document
document
document
V IEWS
Function
UPDATE
document
![Page 10: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/10.jpg)
ConcurrenciaCollections
document
documentdocument
document
document
document
document
V IEWS
Function
UPDATEUPDATE
document
![Page 11: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/11.jpg)
ConcurrenciaCollections
document
documentdocument
document
document
document
document
V IEWS
Function
UPDATEUPDATE
document
_rev
document
![Page 12: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/12.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/13.jpg)
Replicación
Maestro-Maestro
-Filtros (funciones)
Maestro-esclavoReplica-SetShared Mode
![Page 14: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/14.jpg)
Estudio del comportamiento con concurrencia
Escritura 100 docs
![Page 15: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/15.jpg)
Estudio del comportamiento con concurrencia
lectura 100000 docs
![Page 16: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/16.jpg)
Estudio del comportamiento con concurrencia
Lectura - Map/Reduce100000 docs
![Page 17: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/17.jpg)
Estudio del comportamiento con concurrencia
Subida de archivos- 9.62 MB
![Page 18: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/18.jpg)
¿Se trata de?
![Page 19: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/19.jpg)
![Page 20: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/20.jpg)
¿Quienes los utilizan?
Métricas y trazas de sus app
Replicación
![Page 21: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/21.jpg)
¿Quienes los utilizan en la UCI?
Naire
![Page 22: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/22.jpg)
Modelación con NoSQL orientado a documentos
• Desnormalización
• Agregación (nested entities)
![Page 23: Bases de datos NoSQL orientadas a documentos](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/23.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/24.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/25.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/26.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042813/5474f94bb4af9fcd0a8b582d/html5/thumbnails/27.jpg)
Documentación