Cassandra. La base de datos de Facebook, Twitter y Digg.

Echando un vistazo a las grandes compañías que manejan en sus aplicaciones un enorme número de registros, tales como Google1, Amazon2 o Facebook3, podemos rápidamente darnos cuenta que sus sistemas de datos no están basados en bases de datos relacionales. Google utiliza BigTable4, Amazon usa Dynamo5, HBase6 es la tecnología usada por Apache7 y Facebook y Digg8 gestionan sus datos con Cassandra9. Actualmente, Twitter10 se encuentra destinando recursos para migrar sus datos a esta tecnología. Todas estos sistemas se basan básicamente en pares clave/valor para almacenar los datos. 
 
¿Por qué las compañías más relevantes del mundo de la tecnología abandonan las bases de datos relacionales? Principalmente, porque son muy costosas y lentas cuando manejan tal cantidad de datos. Poniendo un ejemplo, Cassandra es capaz de escribir en disco 50GB de datos en tan sólo 0.12 milisegundos, 2500 veces más rápido que MySQL11, una de las bases de datos relacionales más utilizadas.
Dentro de estos sistemas de almacenamiento de datos, Cassandra se erige como una seria garantía ya que aúna ventajas de varias de las alternativas. Sus características son:

– Dispone de consistencia eventual, al igual que el sistema Dynamo de Amazon.
– Proporciona un modelo de datos basados en ColumnFamily, más rico que el tradicional modelo de clave/valor, al igual que el modelo BigTable de Google.
– Es altamente escalable y distribuida. Normalmente se ejecutan en clusters de servidores formados por ordenadores baratos, por lo que la expansión del sistema es realmente sencilla.
– Es rápida ya que elimina el cuello de botella que supone el tener que traducir las consultas a lenguaje SQL.

La historia de Cassandra nace directamente de la experiencia que supuso Dynamo para Amazon. Facebook contrató a uno de sus autores y le encargó diseñar un nuevo sistema para sus datos. Este ingeniero desarrolló Cassandra y, en 2008, Facebook liberó su código.
En 2009 nació un movimiento en contra de las bases de datos relacionales, llamado NoSQL, que agrupa a todos estos sistemas alternativos.

Para que ste blog siga creciendo:


Visitenos en:

Instagram