describe las diferencias entre mongodb y couchdb respecto a varias caracterícticas:
•Capacidad de modelación.
•Capacidad de consulta
•Replicación
•Fragmentación
•Tiempos de Respuestas
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