Apache CouchDB™ es el gestor de base de datos principal utilizado por Parrot CRM y nuestra gran mayoría de sistemas. En este articulo intentaré detallar las distintas necesidades y motivaciones que nos llevaron utilizar CouchDB como principal almacenamiento de datos.

"Amongst all the panic and horror [of a power outage], I was smiling." "En contra del pánico y el horror (de una interrupción eléctrica), estaba sonriendo."

"The replication in CouchDB is really the killer feature that sets it apart from other databases." "La replicación en CouchDB es realmente la funcionalidad clave que le separa de otras bases de datos."

"Even if the internet was very bad our databases in the two locations would eventually sync." "Incluso si el internet era bastante malo nuestras bases de datos en dos ubicaciones se sincronizaban eventualmente."

Historias de usuarios en https://couchdb.apache.org/

CouchDB has started. Time to relax

Algo peculiarmente característico de CouchDB es el mensaje que aparece justo al iniciarlo.

Apache CouchDB has started. Time to relax.

En español podríamos traducir esto como:

"Apache CouchDB ha iniciado, Es tiempo de relajarse. "

Y más que palabras publicitarias, relajarse, en este contexto, tiene un profundo significado intrínsecamente relacionado a varias de las propiedades características de CouchDB:

Por estas y algunas otras razones, en Parrot decidimos utilizar CouchDB para crear soluciones dentro de nuestra plataforma en la nube , especialmente herramientas para CRM y atención al cliente a través de un inbox unificado.

Parrot + CouchDB = Parrot Party

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/4303fe01-7433-4b16-b5a7-7bee94665e74/middleparrot.gif

Cada uno de nuestros clientes tiene una plataforma en la nube con todos sus datos y algunas herramientas para CRM, cada uno de estos parrots tiene por consecuencia su propia base de datos CouchDB, individual y única.

Este hecho nos permite aislar, proteger y aprovechar la base de datos como almacenamiento de documentos, así como para modelar y guardar datos de cualquier tipo de manera eficiente y directa desde el navegador, sin sistemas intermediarios.

CouchDB junto a una serie de sistemas secundarios que hemos desarrollado en Parrot y una web-app construida en React JS es el stack que da vida a nuestro software CRM + bandeja de entrada multi canal.

Desde otra perspectiva diría que ayudamos a nuestros clientes a adoptar CouchDB como base de datos y les proveemos de sistemas e interfaces de usuario que les permitan interactuar y aprovechar sus datos.

Eventualidad

Cuando me refiero a eventualidad, quiero decir: algún tiempo indefinido en el futuro.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/70c39a6d-3ee6-4904-91b9-e7d91a70c172/screenrecording_(4).webm

La importancia de la Replicación Eventual

Una de las características de CouchDB, quizá incluso la más relevante, es el protocolo de replicación.