Altenwald Blog
Blog sobre programación, software libre, redes, servidores, ...
Menú
Acerca de... ¿Quiénes somos? RSS
Categorías
sistemas (70) desarrollo (128) historias (25) productividad (49) seguridad (10) libros (25) noticias (45) opinión (35) humor (3)
Etiquetas
programación (111) desarrollo de software (79) erlang (75) opinión (37) noticia (36) libros (28) servidores (26) desarrollo web (24) base de datos (24) administración de sistemas (23) php (22) desarrollo ágil (22) empresa (21) otp (20) ruby (19) ingeniería de negocio (18) elixir (18) desarrollo profesional (16) redes (16) seguridad (14)
2017-05-30
2 min historias
Viber y Couchbase
[ empresa ]  [ viber ]  [ couchbase ]  [ mongodb ]  [ redis ] 

Viber es una de las compañías de mensajería que ha abrazado Erlang/OTP a través de uno de sus productos destacados: Couchbase. En 2014 cambió todos sus MongoDB y Redis por Couchbase, ¿sabes los beneficios que obtuvo?

Hay varias presentaciones en la web de CouchBase hablando de el cambio de Viber hacia Couchbase dejando atrás MongoDB y Redis. Viber es una plataforma que maneja millones de mensajes de sus usuarios. MongoDB era una solución ideal dada su velocidad de almacenage a diferencia de Redis que es ideal para el manejo de información en vivo.

El problema que comenzaron a experimentar fue al escalar. MongoDB se comporta bien con un servidor de aplicación pero a medida que los servidores que hacen consultas se incrementan el rendimiento baja muy drásticamente. Tras intentar paliar un poco la bajada de rendimiento con caché y varias tecnologías de sharding en Redis donde perdían datos ocasionalmente, decidieron migrar.

Las ventajas que encontraron en Couchbase fueron las siguientes:

Al mismo tiempo encontraron desventajas. En Redis se pueden emplear tipos de datos que facilitan al programador operaciones cotidianas en base a listas, hash, pilas, etc. Estas estructuras tuvieron que cambiarse para emplear los documentos en su lugar. Realmente nada grave.

Además tener en cuenta que en 2014 muchas de las características de Couchbase actuales como N1QL (níquel) aún no estaban disponibles.

En conclusión, considero este caso de éxito de Couchbase como un buen ejemplo del empleo de una herramienta justo en el caso para la que fue creada facilitando la escalabilidad de un sistema que necesita crecer y no centrarse en luchar contra los límites de otras tecnologías.

¿Conoces Couchbase? ¿Has empleado esta base de datos en algún proyecto? ¿Te interesaría recibir información y entrenamiento para su implementación? ¡Déjanos un comentario!

Autor
Manuel Rubio
Programación Concurrente & Erlanger