Cassandra

Solo disponible en BuenasTareas
  • Páginas : 5 (1168 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de junio de 2011
Leer documento completo
Vista previa del texto
CASSANDRA

Dentro de las bases de datos encasilladas dentro del movimiento NoSQL, existen varios acercamientos:
• Orientadas a documento como CouchDB o MongoDB
• Orientadas a grafos como Neo4j
• Clave/valor, como SimpleDB o Voldemort
• Orientadas a objetos como Db4o
• Tabulares como Cassandra o Hypertable
• Otros acercamientos como GT.M
Uno de los aspectos más positivosdel movimiento NoSQL es que al no estar amparadas bajo un mismo funcionamiento (relacional) y un lenguaje de acceso a los datos (SQL), existe una mayor diversidad de acercamientos y, con ello, distintas soluciones, cada cual más adaptada a un problema o situación concreto. Por lo que no acaba de tener sentido el decir cuál es el mejor acercamiento hablando desde una perspectiva genérica, ya que,por ejemplo, para situaciones en las que necesitemos trabajar de forma intensiva con grafos, nos vendrá mejor utilizar un acercamiento como el de Neo4j, pero en otras situaciones preferiremos otras bases de datos que nos permitan realizar otro tipo de tareas de una forma más eficiente y/o efectiva.
Teniendo claro el comentario anterior, si que merece la pena estudiar el posicionamiento de lasgrandes empresas de Internet, al menos aquellas que manejan más cantidad de datos, para estudiar sus elecciones. A este respecto, estos días se habla mucho de que Twitter abandona MySQL para empezar a utilizar Cassandra como base de datos, y no es el único que se ha decidido por Cassandra, ya que tanto Facebook (quien desarrollo Cassandra inicialmente), Digg, Cisco, y muhos otros grandes en cuanto agestión de datos, se han decidido por esta opción.
¿Qué nos ofrece Cassandra?
Algunas de las características más importantes de Cassandra son:
• Tolerante a fallos, ya que los datos se replican de forma automática en distintos nodos, o incluso en distintos centros de datos.
• Descentralizada, ya que cada nodo del cluster de datos es idéntico a otros (y se evitan cuellos de botella).
•Eventualmente consistente.
• Modelo de datos ricos, más allá del mero par de clave/valor.
• Elástica, ya que el rendimiento de lectura y escritura crece linealmente al ir añadiendo máquinas.
• Alta disponibilidad.
¿Por qué la desarrolló Facebook?
El por qué Facebook usa Cassandra es una cuestión simple de responder, ya que ellos son los desarrolladores iniciales y lo han desarrollado de acuerdo consus necesidades. Aún así, merece la pena leerse algunos de los posts que ingenieros de Facebook han escrito con respecto a Casandra para hacerse una idea de los conceptos e ideas que hay detrás de Cassandra. Avinash Lakshman, uno de los ingenieros de Facebook, comentaba en su día la motivación para el desarrollo inicial de Cassandra:
Prashant Malik, del equipo de búsqueda, estaba pensando cómoresolver el problema de la ‘bandeja de entrada’. El desafío se centraba en cómo almacenar índices inversos de los mensajes que los usuarios de Facebook envían y reciben entre ellos. La gran cantidad de datos almacenados, su ratio de crecimiento y los requerimientos para servir la información, hacían aparente la necesidad de una nueva solución de almacenamiento, que fuera capaz de escalarincrementalmente. Las soluciones de almacenamiento de datos tradicionales símplemente no encajaban, así que tuvimos que diseñar una solución que fuera capaz de resolver el problema de la ‘bandeja de entrada’, pero que también proporcionaran una infraestructura de almacenamiento para muchos otros problemas de la misma naturaleza. Y con esto nació Cassandra.
El modelo de datos de Cassandra es simple pero muyflexible. Cada fila se identifica con una clave única, que es un string que no tiene un tamaño límite. Una instancia de Cassandra tiene una tabla que se constituye de una o más familias de columnas definidas por el usuario. Cada familia de columnas puede contener una o dos estructuras: supercolumnas o columnas. Las dos se crean de forma dinámica y no hay límite en cuanto al número que pueden ser...
tracking img