SlideShare a Scribd company logo
1 of 9
Download to read offline
MsC. Anthony Rafael Sotolongo León
MsC. Yudisney Vazquez Ortíz
Universidad de las Ciencias
Informáticas(UCI)
MongoDB vs CouchDB: selección de
una base de datos NoSQL para las
aplicaciones de comercio
electrónico
asotolongo@uci.cu
LAS BASES DE DATOS ACORDE A NECESIDADES DE
APLICACIONES DE COMERCIO ELECTRÓNICO HAN
IDO POCO A POCO MOVIÉNDOSE A LAS NOSQL
DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA 2
Relacional NoSQL
Principales tendencias tecnológicas desde el 2102
http://www.infoq.com/news/2012/03/top-technologies-qcon-london
EMPLEO DE BASES DE DATOS NOSQL
3DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA
Facebook
Google
Amazon
Yabblr
Bet Ha Bracha
CouchDB
Bases de datos NoSQL
MongoDB CouchDB
¿CUÁL BASE DE DATOS SELECCIONAR?
4DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA
Características
Funcionalidades
Necesidades
Características MongoDB 2.0 CouchDB 1.0.1
Lenguaje C++ Erlang
Objetos Colecciones,
documentos(JSON)
Documentos(JSON),
vistas
Actualización En el lugar MVCC
Acceso TCP/IP HTTP
Archivos GridFS Attachments
CAPACIDAD DE MODELACIÓN DE DATOS Y
CONSULTA
5DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA
•Capacidad de modelación.
Christian Kvalheim presenta: “Sample e-commerce system with
MongoDB”.
•Capacidad de consulta:
Ambas soportan funciones Map/Reduce, o especificidades de las API de
acceso a las BD.
CAPACIDAD DE REPLICACIÓN Y FRAGMENTACIÓN
6DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA
•Replicación.
-MongoDB permite la replicación maestro-esclavo.
-CouchDB permite la replicación maestro-maestro, contando con un
algoritmo de resolución de conflictos para evitar los problemas con la
consistencia de la información.
•Fragmentación :
-MongoDB permite la fragmentación nativa de datos mediante el
mecanismo autoshardind con los llamados Shard Keys.
-CouchDB, no posee uno nativo de fragmentación, pero se puede lograr
mediante aplicaciones intermediarias o utilizando el mecanismo de
Map/Reduce o filtros.
TIEMPOS DE RESPUESTA EN «INSERCIÓN Y
SELECCIÓN DE DOCUMENTOS»
7DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA
0
0.1
0.2
0.3
0.4
10 40 70 100
Segundos
Usuarios
MongoDB (100 doc)
0
20
40
60
80
10 40 70 100
Segundos
Usuarios
CouchDB (100 doc)
0
0.002
0.004
0.006
0.008
10 40 70 100
Segundos
Usuarios
find_one()-MongoDB (100000 doc)
0
0.02
0.04
0.06
0.08
10 40 70 100
Segundos
Usuarios
get()-CouchDB (100000 doc)
Experimento:
Python | Pentium 4
a 3.00 GHz | 2 GB de
RAM | Ubuntu 11.10
HD a 7200 rpm
TIEMPOS DE RESPUESTA EN «CONSULTAS
MAP/REDUCE Y ENVÍO DE ARCHIVOS»
8DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA
0.10
0.11
0.11
0.12
0.12
0.13
0.13
0.14
10 40 70 100
Map/Reduce CouchDB (100 000 doc)
0
5
10
15
20
25
30
35
10 40 70 100
Map/Reduce MongoDB(100000 doc)
0
5
10
15
20
25
30
35
40
45
10 40 70 100
Segundos
Usuarios
0
10
20
30
40
50
60
70
80
10 40 70 100
Segundos
Usuarios
Envío de archivos
Experimento:
Python | Pentium 4
a 3.00 GHz | 2 GB de
RAM | Ubuntu 11.10
HD a 7200 rpm
CONCLUSIONES
 Las aplicaciones de comercio electrónico están tendiendo al uso de bases
de datos NoSQL orientadas a documentos.
 En la comparación de dichas bases de datos se concluyó que:
 Tienen características similares respecto a la capacidad de modelación y consulta, no
siendo así en la fragmentación y replicación.
 Las velocidades de inserción y selección de un documento en MongoDB son superiores
a las de CouchDB.
 Mientras que en las peticiones con funciones Map/Reduce para la selección de varios
documentos CouchDB se comporta mejor.
9DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA

More Related Content

What's hot

Non Relational Databases
Non Relational DatabasesNon Relational Databases
Non Relational DatabasesChris Baglieri
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualSergio Sanchez
 
Implementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlPipe Muñoz
 
Diapositivas sobre BD (Base de Datos)
Diapositivas sobre BD (Base de Datos)Diapositivas sobre BD (Base de Datos)
Diapositivas sobre BD (Base de Datos)angeljlp08
 
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzanoEsquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzanoJuan Anaya
 
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ónManuel Padilla
 
2016 Power BI Training
2016   Power BI Training2016   Power BI Training
2016 Power BI TrainingGaston Cruz
 
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 ...José Antonio Sandoval Acosta
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSdfgdfgs
 
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaLiz Armenteros
 
Bases de datos temporales
Bases de datos temporalesBases de datos temporales
Bases de datos temporalesjosecuartas
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db.. ..
 
Big Data Testing: Ensuring MongoDB Data Quality
Big Data Testing: Ensuring MongoDB Data QualityBig Data Testing: Ensuring MongoDB Data Quality
Big Data Testing: Ensuring MongoDB Data QualityRTTS
 
Bases de datos temporales
Bases de datos temporalesBases de datos temporales
Bases de datos temporalesPablo Aragón
 
Base de datos temporales
Base de datos temporalesBase de datos temporales
Base de datos temporalesYeider Torres
 

What's hot (20)

MongoDB
MongoDBMongoDB
MongoDB
 
Non Relational Databases
Non Relational DatabasesNon Relational Databases
Non Relational Databases
 
NoSQL - MongoDB
NoSQL - MongoDBNoSQL - MongoDB
NoSQL - MongoDB
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 
Implementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysql
 
Diapositivas sobre BD (Base de Datos)
Diapositivas sobre BD (Base de Datos)Diapositivas sobre BD (Base de Datos)
Diapositivas sobre BD (Base de Datos)
 
SENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVERSENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVER
 
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzanoEsquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzano
 
Diseño de bases de datos
Diseño de bases de datosDiseño de bases de datos
Diseño de bases de datos
 
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
 
2016 Power BI Training
2016   Power BI Training2016   Power BI Training
2016 Power BI Training
 
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 ...
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOS
 
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática Médica
 
Bases de datos temporales
Bases de datos temporalesBases de datos temporales
Bases de datos temporales
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db
 
Introduction to mongodb
Introduction to mongodbIntroduction to mongodb
Introduction to mongodb
 
Big Data Testing: Ensuring MongoDB Data Quality
Big Data Testing: Ensuring MongoDB Data QualityBig Data Testing: Ensuring MongoDB Data Quality
Big Data Testing: Ensuring MongoDB Data Quality
 
Bases de datos temporales
Bases de datos temporalesBases de datos temporales
Bases de datos temporales
 
Base de datos temporales
Base de datos temporalesBase de datos temporales
Base de datos temporales
 

Similar to Mongodb vs couchdb

Cursos Big Data Open Source
Cursos Big Data Open SourceCursos Big Data Open Source
Cursos Big Data Open SourceStratebi
 
Proyecto big data
Proyecto big dataProyecto big data
Proyecto big dataDiegoMeja27
 
Linux en súperservidores
Linux en súperservidoresLinux en súperservidores
Linux en súperservidoresprofesorgavit0
 
INFRAESTRUCTURA-CECAD v6.pptx
INFRAESTRUCTURA-CECAD v6.pptxINFRAESTRUCTURA-CECAD v6.pptx
INFRAESTRUCTURA-CECAD v6.pptxEthicforWater
 
Un acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQLUn acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQLJavier Guillot Jiménez
 
Desmitificando el Big Data
Desmitificando el Big DataDesmitificando el Big Data
Desmitificando el Big DataStratebi
 
Unidad 4: Administración de datos en dispositivos móviles
Unidad 4: Administración de datos en dispositivos móvilesUnidad 4: Administración de datos en dispositivos móviles
Unidad 4: Administración de datos en dispositivos móvilesJuan Anaya
 
Santiago Trujillo Piter Marcelino.pdf
Santiago Trujillo Piter Marcelino.pdfSantiago Trujillo Piter Marcelino.pdf
Santiago Trujillo Piter Marcelino.pdfronald flores
 
Internet de las Cosas, por Ulises Gascón - Parte II
Internet de las Cosas, por Ulises Gascón - Parte IIInternet de las Cosas, por Ulises Gascón - Parte II
Internet de las Cosas, por Ulises Gascón - Parte IIHuelva Inteligente
 
William cloud computing
William cloud computingWilliam cloud computing
William cloud computingwilliPerez12
 
Pablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open DataPablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open DataSmash Tech
 
Arquitectura de Data Fabric: Clave en proyectos de Big Data y Machine Learning
Arquitectura de Data Fabric: Clave en proyectos de Big Data y Machine LearningArquitectura de Data Fabric: Clave en proyectos de Big Data y Machine Learning
Arquitectura de Data Fabric: Clave en proyectos de Big Data y Machine LearningDenodo
 
SDN (Software Define Networking) - The evolution of the Network
SDN (Software Define Networking) - The evolution of the NetworkSDN (Software Define Networking) - The evolution of the Network
SDN (Software Define Networking) - The evolution of the NetworkLogicalis Latam
 
La norma IEC 61850: estándar de comunicación para subestaciones eléctricas
La norma IEC 61850: estándar de comunicación para subestaciones eléctricasLa norma IEC 61850: estándar de comunicación para subestaciones eléctricas
La norma IEC 61850: estándar de comunicación para subestaciones eléctricasfernando nuño
 

Similar to Mongodb vs couchdb (20)

Cursos Big Data Open Source
Cursos Big Data Open SourceCursos Big Data Open Source
Cursos Big Data Open Source
 
Proyecto big data
Proyecto big dataProyecto big data
Proyecto big data
 
Linux en súperservidores
Linux en súperservidoresLinux en súperservidores
Linux en súperservidores
 
Data as a Service
Data as a ServiceData as a Service
Data as a Service
 
Sistemas sena
Sistemas senaSistemas sena
Sistemas sena
 
INFRAESTRUCTURA-CECAD v6.pptx
INFRAESTRUCTURA-CECAD v6.pptxINFRAESTRUCTURA-CECAD v6.pptx
INFRAESTRUCTURA-CECAD v6.pptx
 
DSpace Workshop
DSpace Workshop DSpace Workshop
DSpace Workshop
 
Un acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQLUn acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQL
 
Desmitificando el Big Data
Desmitificando el Big DataDesmitificando el Big Data
Desmitificando el Big Data
 
Unidad 4: Administración de datos en dispositivos móviles
Unidad 4: Administración de datos en dispositivos móvilesUnidad 4: Administración de datos en dispositivos móviles
Unidad 4: Administración de datos en dispositivos móviles
 
Santiago Trujillo Piter Marcelino.pdf
Santiago Trujillo Piter Marcelino.pdfSantiago Trujillo Piter Marcelino.pdf
Santiago Trujillo Piter Marcelino.pdf
 
Internet de las Cosas, por Ulises Gascón - Parte II
Internet de las Cosas, por Ulises Gascón - Parte IIInternet de las Cosas, por Ulises Gascón - Parte II
Internet de las Cosas, por Ulises Gascón - Parte II
 
William cloud computing
William cloud computingWilliam cloud computing
William cloud computing
 
Pablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open DataPablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open Data
 
Arquitectura de Data Fabric: Clave en proyectos de Big Data y Machine Learning
Arquitectura de Data Fabric: Clave en proyectos de Big Data y Machine LearningArquitectura de Data Fabric: Clave en proyectos de Big Data y Machine Learning
Arquitectura de Data Fabric: Clave en proyectos de Big Data y Machine Learning
 
SDN (Software Define Networking) - The evolution of the Network
SDN (Software Define Networking) - The evolution of the NetworkSDN (Software Define Networking) - The evolution of the Network
SDN (Software Define Networking) - The evolution of the Network
 
La norma IEC 61850: estándar de comunicación para subestaciones eléctricas
La norma IEC 61850: estándar de comunicación para subestaciones eléctricasLa norma IEC 61850: estándar de comunicación para subestaciones eléctricas
La norma IEC 61850: estándar de comunicación para subestaciones eléctricas
 
Primera capacitación en sdn para el proyecto Bella-T
Primera capacitación en sdn para el proyecto Bella-TPrimera capacitación en sdn para el proyecto Bella-T
Primera capacitación en sdn para el proyecto Bella-T
 
Mitigación de ataques DDoS en la Anella Científica
Mitigación de ataques DDoS en la Anella CientíficaMitigación de ataques DDoS en la Anella Científica
Mitigación de ataques DDoS en la Anella Científica
 
2-CapaPercepción.pdf
2-CapaPercepción.pdf2-CapaPercepción.pdf
2-CapaPercepción.pdf
 

More from Anthony Sotolongo

Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4Anthony Sotolongo
 
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 PostgreSQLAnthony Sotolongo
 
Bases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosBases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosAnthony Sotolongo
 
Características nosql de postgresql
Características nosql de postgresqlCaracterísticas nosql de postgresql
Características nosql de postgresqlAnthony Sotolongo
 
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.2Anthony Sotolongo
 

More from 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
 
Bases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosBases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentos
 
Características nosql de postgresql
Características nosql de postgresqlCaracterísticas nosql de postgresql
Características nosql de postgresql
 
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
 

Mongodb vs couchdb

  • 1. MsC. Anthony Rafael Sotolongo León MsC. Yudisney Vazquez Ortíz Universidad de las Ciencias Informáticas(UCI) MongoDB vs CouchDB: selección de una base de datos NoSQL para las aplicaciones de comercio electrónico asotolongo@uci.cu
  • 2. LAS BASES DE DATOS ACORDE A NECESIDADES DE APLICACIONES DE COMERCIO ELECTRÓNICO HAN IDO POCO A POCO MOVIÉNDOSE A LAS NOSQL DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA 2 Relacional NoSQL Principales tendencias tecnológicas desde el 2102 http://www.infoq.com/news/2012/03/top-technologies-qcon-london
  • 3. EMPLEO DE BASES DE DATOS NOSQL 3DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA Facebook Google Amazon Yabblr Bet Ha Bracha CouchDB Bases de datos NoSQL
  • 4. MongoDB CouchDB ¿CUÁL BASE DE DATOS SELECCIONAR? 4DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA Características Funcionalidades Necesidades Características MongoDB 2.0 CouchDB 1.0.1 Lenguaje C++ Erlang Objetos Colecciones, documentos(JSON) Documentos(JSON), vistas Actualización En el lugar MVCC Acceso TCP/IP HTTP Archivos GridFS Attachments
  • 5. CAPACIDAD DE MODELACIÓN DE DATOS Y CONSULTA 5DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA •Capacidad de modelación. Christian Kvalheim presenta: “Sample e-commerce system with MongoDB”. •Capacidad de consulta: Ambas soportan funciones Map/Reduce, o especificidades de las API de acceso a las BD.
  • 6. CAPACIDAD DE REPLICACIÓN Y FRAGMENTACIÓN 6DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA •Replicación. -MongoDB permite la replicación maestro-esclavo. -CouchDB permite la replicación maestro-maestro, contando con un algoritmo de resolución de conflictos para evitar los problemas con la consistencia de la información. •Fragmentación : -MongoDB permite la fragmentación nativa de datos mediante el mecanismo autoshardind con los llamados Shard Keys. -CouchDB, no posee uno nativo de fragmentación, pero se puede lograr mediante aplicaciones intermediarias o utilizando el mecanismo de Map/Reduce o filtros.
  • 7. TIEMPOS DE RESPUESTA EN «INSERCIÓN Y SELECCIÓN DE DOCUMENTOS» 7DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA 0 0.1 0.2 0.3 0.4 10 40 70 100 Segundos Usuarios MongoDB (100 doc) 0 20 40 60 80 10 40 70 100 Segundos Usuarios CouchDB (100 doc) 0 0.002 0.004 0.006 0.008 10 40 70 100 Segundos Usuarios find_one()-MongoDB (100000 doc) 0 0.02 0.04 0.06 0.08 10 40 70 100 Segundos Usuarios get()-CouchDB (100000 doc) Experimento: Python | Pentium 4 a 3.00 GHz | 2 GB de RAM | Ubuntu 11.10 HD a 7200 rpm
  • 8. TIEMPOS DE RESPUESTA EN «CONSULTAS MAP/REDUCE Y ENVÍO DE ARCHIVOS» 8DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA 0.10 0.11 0.11 0.12 0.12 0.13 0.13 0.14 10 40 70 100 Map/Reduce CouchDB (100 000 doc) 0 5 10 15 20 25 30 35 10 40 70 100 Map/Reduce MongoDB(100000 doc) 0 5 10 15 20 25 30 35 40 45 10 40 70 100 Segundos Usuarios 0 10 20 30 40 50 60 70 80 10 40 70 100 Segundos Usuarios Envío de archivos Experimento: Python | Pentium 4 a 3.00 GHz | 2 GB de RAM | Ubuntu 11.10 HD a 7200 rpm
  • 9. CONCLUSIONES  Las aplicaciones de comercio electrónico están tendiendo al uso de bases de datos NoSQL orientadas a documentos.  En la comparación de dichas bases de datos se concluyó que:  Tienen características similares respecto a la capacidad de modelación y consulta, no siendo así en la fragmentación y replicación.  Las velocidades de inserción y selección de un documento en MongoDB son superiores a las de CouchDB.  Mientras que en las peticiones con funciones Map/Reduce para la selección de varios documentos CouchDB se comporta mejor. 9DATEC, UNIVERSIDAD DE LAS CIENCIAS INFORMÁTICAS,CUBA