Si de verdad quieres aprender de cualquier tema, tienes que escuchar y leer a los mejores en ese campo. Si quieres aprender de escalabilidad y rendimiento de bases de datos de gran carga y tamaño, escuchar al arquitecto de bases de datos de un gigante en expansión continua parece una gran idea. Pues bien, Jeremy Cole, uno de los arquitectos de bases de datos de Twitter impartió una charla en el ámbito de la O’Reilly MySQL Conference
titulada ‘Big and Small Data in @Twitter’. La tienes completa en el
vídeo de arriba pero podemos sacar unas cuantas revelaciones de lo que
comenta a lo largo de la media hora larga que dura la charla:
- Al principio en Twitter usaban sharding
(particionado de datos horizontal agrupando por alguna característica
lógica) temporal. Pronto se dieron cuenta de que se trataba de un error
debido a: logística compleja, caro y problemas con la carga de
balanceado.
- Entonces pasaron a utilizar FlockDB (para el mapeo de ids) y Glizzard, un framework propio sobre MySQL (usando como tecnología de almacenamiento InnoDB, no MyIsam) para el almacenamiento.
- Con Glizzard no hay datos corruptos y el rendimiento mejora
sustancialmente… lo que redunda en unos administradores de bases de
datos viviendo un poco mejor.
- ¿Por qué MySQL y no otra? Principalmente porque es estable: funciona bien la mayoría del tiempo y no se suele corromper.
- Además de MySQL / Glizzard: Vertica para analisis y grandes agregaciones, Cassandra para escrituras de alta velocidad y el cada vez más en boga Hadoop para consultas que afecten a una gran cantidad de filas.
Se podrá estar más o menos de acuerdo pero desde luego se trata de aspectos muy interesantes.