Twitter liberó en estos días el código de un framework para el acceso a datos distribuidos, creado por el servicio de microblogging para lidiar con los 50 millones de tweets diarios que recibe.
El framework, denominado Gizzard (molleja en español - perdónenme, pero no veo la relación) y escrito en el lenguaje Scala, se ubica entre la aplicación web y la base de datos y tiene como objetivo dividir y replicar los datos almacenados de una manera tal que sea fácil y rápidamente accesible por el cliente. ¿Cómo funciona?
Las reglas de particionado son almacenadas en una tabla que mapea llaves a particiones, cada una de las cuales maneja su propia replicación a través de un árbol de replicación. Soporta migraciones y el agregado de ordenadores al servidor, supuestamente maneja "con gracia" los errores y puede trabajar con bases de datos SQL, si bien seguramente lo utilizarán con Cassandra, a la que todavía están migrando.
Me parece totalmente destacable la actitud de Twitter: enfrentados con un problema para el que no encontraban salida, desarrollaron su propia solución y la compartieron con el mundo. De eso se trata el open souce y no puedo evitar recordar BigTable, el sistema de almacenamiento de Google, todavía privativo, a pesar de los acercamientos constantes del buscador a la comunidad del código abierto. El código fuente de Gizzard lo pueden encontrar en GitHub.
Vía: HackerNews