
Señoras y señores, la Copa del Mundo ha finalizado, felicitaciones a nuestros hermanos españoles. Pero si hay un grupo de señores que se deben haber puesto contentos con el final (no importa el resultado, me refiero al final del torneo en sí) son los ingenieros de Twitter, sitio que vivió este mes terrible. No sólo no se podía acceder al servicio sino que los momentos en los que sí funcionaba, gran cantidad de tuits quedaban perdidos en alguna esfera extraña del cyberespacio, debido a límites impuestos en la API. La culpa eran de las transmisiones vía Twitter de los partidos, es decir del aumento impresionante de tuits que se vio en estas semanas. Me he quejado en un par de ocasiones de estos problemas pero siempre recalqué el hecho de que Twitter se encontraba migrando sus bases de datos de MySQL a Cassandra, proyecto NoSQL de Apache.
Pues bien, días antes de la hazaña de la “Furia”, ingenieros de Twitter anunciaron en el blog oficial de la compañía que finalmente utilizarán Cassandra sólo para su futuro producto de análisis web en tiempo real. Y a un mes de la adquisición de Smallthought Systems, el lanzamiento del servicio de análisis de Twitter parece estar a la vuelta de la esquina. Por ahora, entonces, utilizarán Cassandra en nuevos e importantes proyectos como el mencionado análisis, además de la base de datos de geolocalización y para data mining. No almacenarán los tuits en Cassandra pues piensan que no es momento para efectuar “migraciones a gran escala a una nueva tecnología”. Esto quiere decir, por lo tanto, que seguirán utilizando la tecnología actual y que al primer acontecimiento importante volverá a caerse el servicio.
Vía: TechCrunch










El problema de Twitter no es la BD. Según tengo entendido es la saturación de las redes internas que conectan los servidores.
Es claro que Twitter está muy mal diseñado técnicamente. Pero la culpa no es de MySQL.
Tengo entendido que el problema de Twitter tiene que ver con el lenguaje utilizado por su plataforma. Si mal no recuerdo, el proyecto funciona sobre Ruby y eso es lo que provoca los cuellos de botella.
Solo la interface web de twitter.com está en Ruby, todos los servicios de la API y búsqueda están en lenguaje Scala.
¡¡¡ Gracias Federico !!! … creo que nos lo merecíamos …
No creo q el problema tenga q ver con RoR, seguramente debe ser como mencionaron por las interconexiones internas
interesante nota, gracias por compartirla. Bookmarked!
¿Qué te hace creer que cambiar a Cassandrá hará que Twitter vaya mejor?
En una aplicación web y más del tamaño de Twitter intervienen cientos de factores y sin poder hacer un analisis del problema no se como muchos osan a jugar de esta manera.
Lo mismo pasa con los que dicen “Es claro que Twitter está muy mal diseñado técnicamente.” o “El problema es de Ruby”.
Esto cada vez parece más un partido de futbol en donde es facil criticar sin nisiquiera haber tocado un balón.
Claro que sé que Twitter está mal diseñado. No necesito ser un Ingeniero de software con 10 años de experiencia para saberlo.
Sólo viendo como se cae por no poder soportar el tráfico (De solo texto) de 40 millones de personas, mientras, por ejemplo, Facebook maneja vídeo, imágenes, texto de 200 millones de usuarios.
La aplicación está mal diseñada y no ha podido escalarla a las necesidades actuales.
Facebook es un gran monstruo, pero su uso debe ser más o menos constante. Twitter sufre el problema de que de un día para otro su uso puede verse aunmentado varias veces por un acontenimiento nacional o mundial, como con el mundíal.
Es verdad que tienen problemas, pero sigo pensando que no es que esté mal diseñada, simplemente no he visto como está hecha para poder juzgarla.
No podría decir jamás que una aplicación que soporta “solo” 40 millones de usuarios (según tus datos) está mal diseñada tan facilmente como lo decís algunos.
PD: ni soy ingeniero de software, ni llevo 10 años desarrollando aplicaciones webs.