¿Cuándo utilizar MongoDB y cuándo utilizar CouchDB?

Verónica de Miguel
Hacer Marketing
Published in
3 min readFeb 18, 2016

En el anterior post del blog buscamos y encontramos muchas y grandes diferencias entre una base de datos orientada a objetos, como es el caso de MongoDB y otra de clave-valor, la conocida como HBase.

En esta ocasión pretendo afinar un poco más, para ello analizaremos los pros y los contras y las posibles aplicaciones de negocio de MongoDB y CouchDB, dos gestores de bases de datos orientadas a documentos.

CouchDB es la base de datos orientada a documentos de Apache. Se diferencia de MongoDB en que se puede acceder a sus datos a través de una API Rest.

El Teorema CAP, también conocido como Teorema Brewer, demuestra que “es imposible garantizar a la vez consistencia, disponibilidad y tolerancia a particiones”. Este teorema establece las características de cada una de las bases de datos NoSQL y nos ayuda a elegir, de entre las múltiples posibilidades, qué sistema de bases de datos es el más adecuado para satisfacer nuestras necesidades de negocio.

Según el Teorema CAP, MongoDB garantiza consistencia y tolerancia a particiones, pero para lograr la consistencia y replicar los datos a través de los nodos necesita disminuir su disponibilidad. Sus puntos fuertes son que al lanzar una consulta siempre se recibe la misma información, independientemente del nodo o servidor que procese la petición. Además el sistema siempre funciona aunque tengan lugar fallos o caídas parciales. El problema que presenta es que el cliente no puede leer o escribir si se cae alguno de los nodos.

En lo que se refiere a CouchDB, el Teorema CAP determina que esta base de datos garantiza la disponibilidad y la tolerancia a particiones, pero no puede asegurar una total consistencia. A veces se puede llegar a conseguir una consistencia parcial gracias a la replicación y a la verificación. En este caso los clientes serán capaces de leer y escribir siempre, aunque se haya caído un nodo y el sistema continuará funcionado aunque existan caídas parciales o fallos que lo dividan.

El Teorema CAP se convertirá, entonces, en nuestro aliado en la búsqueda de las diferencias entre estas dos bases de datos y nos dará luz para la toma de decisiones.

En cuanto a las aplicaciones de negocio, Según el Arquitecto de Software Kristof Kovacs, MongoDB se debe utilizar en los casos en los que se necesita hacer consultas dinámicas o si prefiere definir índices. Está pensado para los casos en los que se necesita un buen rendimiento en una gran base de datos. A su vez, el experto indica que Hadoop sigue siendo, probablemente, la mejor forma de ejecutar trabajos de MapReduce en grandes sets de datos.

Kristof Kovacs señala también que utilizaremos CouchDB cuando las necesidades de nuestro negocio nos obliguen a hacer numerosos cambios en los datos en los que ejecutaremos las consultas predefinidas. Este será el caso de CRM, sistemas CMS, etc.

--

--

Verónica de Miguel
Hacer Marketing

Maestra de vocación y Comunicadora, especializada en Account Management, PR y eventos.