fbpx
Wikipedia

Apache Cassandra

Apache Cassandra se trata de un software NoSQL distribuido y basado en un modelo de almacenamiento de «clave-valor», de código abierto que está escrita en Java. Permite grandes volúmenes de datos en forma distribuida. Por ejemplo, lo usa Twitter para su plataforma. Su objetivo principal es la escalabilidad lineal y la disponibilidad. La arquitectura distribuida de Cassandra está basada en una serie de nodos iguales que se comunican con un protocolo P2P con lo que la redundancia es máxima. Está desarrollada por Apache Software Foundation.

Apache Cassandra
Información general
Tipo de programa sistema de gestión de bases de datos
Autor Avinash Lakshman, Prashant Malik
Desarrollador Apache Software Foundation
Lanzamiento inicial 2008
Licencia Apache License 2.0
Estado actual Activo
Información técnica
Programado en Java
Versiones
Última versión estable 3.11.7 (25 de julio de 2020)
Enlaces
Sitio web oficial
Repositorio de código
Seguimiento de errores

Cassandra ofrece soporte robusto para múltiples centros de datos,[1]​ con la replicación asincrónica sin necesidad de un servidor maestro, que permiten operaciones de baja latencia para todos los clientes.

Cassandra también ofrece un gran rendimiento. En 2012, investigadores de la Universidad de Toronto que estudian los sistemas NoSQL concluyeron que "En términos de escalabilidad, hay un claro ganador a través de nuestros experimentos. Cassandra logra el más alto rendimiento para el número máximo de nodos en todos los experimentos", aunque "esto tiene como precio una alta latencia de escritura y lectura". [2]

El modelo de datos de Cassandra consiste en particionar las filas, que son reorganizadas en tablas .[3]​ Las claves primarias de cada tabla tiene un primer componente que es la clave de partición. Dentro de una partición, las filas son agrupadas por las columnas restantes de la clave. [4]​ Las demás columnas pueden ser indexadas por separado de la clave primaria.[5]

Las tablas se pueden crear, eliminar y alterar en tiempo de ejecución sin bloquear actualizaciones y consultas. [6]

Cassandra no soporta la sentencia JOIN o subqueries, sino que enfatiza en la desnormalización a través de características como colecciones.[7]

En las versiones iniciales utilizaba un API propia para poder acceder a la base de datos. En los últimos tiempos están apostando por un lenguaje denominado CQL (Cassandra Query Language, no confundir con Contextual Query Language) que posee una sintaxis similar a SQL aunque con muchas menos funcionalidades. Esto hace que iniciarse en el uso de la misma sea más sencillo. Permite acceder en Java desde JDBC.

Historia

Apache Cassandra fue inicialmente desarrollada en Facebook para impulsar las búsqueda en la bandeja de entrada por Avinash Lakshman (uno de los autores de Amazon's Dynamo) y Prashant Malik. Fue lanzada como un proyecto open source de Google code en julio de 2008.[8]​ En marzo de 2009, se transformó en un proyecto de Apache Incubator.[9]​ El 17 de febrero de 2010 se graduó como un proyecto de alto nivel.[10]

Publicaciones después de la graduación:

  • 0.6, 12 de abril de 2010, añaden soporte para cacheo integrado y para Apache Hadoop MapReduce[11]
  • 0.7, 8 de enero de 2011, añaden índices secundarios y cambios en línea en el "scheme" de la base de datos[12]
  • 0.8, 2 de junio de 2011, añaden el Cassandra Query Language (CQL), "self-tuning memtables", y soporte para mantenerse funcionando durante actualizaciones de versión[13]
  • 1.0, 17 de octubre de 2011, añaden compresión integrada, compactación por niveles y se mejora el desempeño de lectura[14]
  • 1.1, 23 de abril de 2012, añaden cache "self-tuning", aislamiento a nivel de fila y soporte para desarrollo en múltiples sistemas de disco[15]
  • 1.2, 2 de enero de 2013, añaden clustering a través de nodos virtuales, comunicación entre nodos, procesos "batch" atómicos y traza de solicitudes[16]
  • 2.0, 4 de septiembre de 2013, añaden transacciones livianas (basadas en el protocolo Paxos), triggers, y compactaciones improvisadas.
  • 2.0.4, 30 de diciembre de 2013, añaden la especificación de los centros de datos para participar en una reparación, soporte de encriptación del cliente para el "sstableloader" y remover snapshots que no existen más.[17]
  • 2.1.0 10 de septiembre de 2014 [18]
  • 2.1.5 29 de abril de 2015 [19]
  • 2.1.6 nueva versión Junio 8, 2015
  • 2.1.7 nueva versión Junio 22, 2015
  • 2.2.0 nueva versión Julio 20, 2015
  • 2.2.2 nueva versión Octubre 5, 2015
  • 3.0 nueva versión y luego se comienzan a realizar liberaciones mensualmente usando el tick-tock model.[20]
  • 3.2.2 nueva versión Enero 18, 2016
  • 3.7 nueva versión Junio 13, 2016
  • 3.11.1 nueva versión Octubre 10, 2017
Versión Fecha liberación original Última versión Fecha liberación Estado[21]
Versión antigua, sin servicio técnico: 0.6 2010-04-12 0.6.13 2011-04-18 Ya no tiene soporte
Versión antigua, sin servicio técnico: 0.7 2011-01-10 0.7.10 2011-10-31 Ya no tiene soporte
Versión antigua, sin servicio técnico: 0.8 2011-06-03 0.8.10 2012-02-13 Ya no tiene soporte
Versión antigua, sin servicio técnico: 1.0 2011-10-18 1.0.12 2012-10-04 Ya no tiene soporte
Versión antigua, sin servicio técnico: 1.1 2012-04-24 1.1.12 2013-05-27 Ya no tiene soporte
Versión antigua, sin servicio técnico: 1.2 2013-01-02 1.2.19 2014-09-18 Ya no tiene soporte
Versión antigua, sin servicio técnico: 2.0 2013-09-03 2.0.17 2015-09-21 Ya no tiene soporte
Versión antigua, con servicio técnico: 2.1 2014-09-16 2.1.13 2016-02-08 Tiene soporte
Versión antigua, con servicio técnico: 2.2 2015-07-20 2.2.5 2016-02-08 Tiene soporte
Versión antigua, con servicio técnico: 3.0 2015-11-09 3.0.5 2016-04-11 Tiene soporte
Versión antigua, con servicio técnico: 3.2 2015-11-09 3.2.1 2016-01-18 Ya no tiene soporte
Versión antigua, con servicio técnico: 3.7 2016-06-13 3.7 2016-06-13 Ya no tiene soporte
Versión estable actual: 3.11 2017-06-23 3.11.7 2020-07-25 Última liberación
Leyenda:
Versión antigua
Versión antigua, con soporte técnico
Última versión
Última versión previa
Lanzamiento futuro

Características principales

Descentralizado
Todos los nodos del clúster tiene el mismo rol. No hay un único punto de fallo. Los datos se distribuyen a través del clúster (por lo que cada nodo contiene datos diferentes). No existe un nodo maestro por lo que cada nodo puede dar servicio a cualquier solicitud.
Soporta replicación y replicación de múltiples data center
Las estrategias de replicación son configurables .[22]​ Cassandra está diseñado como un sistema distribuido, para el despliegue de un gran número de nodos a través de múltiples centros de datos. La arquitectura distribuida de Cassandra está diseñado para desplegarse sobre múltiples data center, tener redundancia y recuperarse ante desastres.
Escalabilidad
El rendimiento de leer y escribir aumenta linealmente a medida que se añaden nuevos nodos. Se pueden agregar nuevos nodos sin necesidad de interrumpir la ejecución de la aplicación.
Tolerancia a fallos
Los datos se replican automáticamente a múltiples nodos para recuperarse frente a fallos. Cassandra soporta replicación a través de múltiples datacenter. Se puede reemplazar nodos que presenten fallos sin tiempo de inactividad o interrupción de la aplicación.
Consistencia
Se ofrece la elección del nivel de consistencia para las lecturas y escrituras.

Un ejemplo posible de consulta utilizando consistencia es el siguiente: SELECT * FROM users WHERE state='TX' USING CONSISTENCY QUORUM;

Lectura
Nivel Descripción
ONE Retorna una respuesta de la réplica más cercana.
QUORUM Retorna la grabación con la fecha de creación más reciente en el quorum de réplicas de respuesta.
LOCAL_QUORUM Retorna la grabación con la fecha de creación más reciente en el quorum de réplicas que se encuentran en el mismo nodo que el nodo coordinador solicitante.  Evita el retardo de comunicación entre data-centers.
EACH_QUORUM Retorna la grabación con la fecha de creación más reciente en el quorum de réplicas de cada data-cetner del cluster que responda.
ALL Retorna la grabación con la fecha de creación más reciente de todas las réplicas que respondan. Fallará si alguna replica no responde.
Escritura
Nivel Descripción
ANY Una escritura debe ser realizada en al menos un nodo.
ONE Una escritura debe ser escrita en el Commit Log y MemTable de al menos un nodo de replicación.
QUORUM Una escritura debe ser escrita en el Commit Log y MemTable en un quorum de nodos de réplica
LOCAL_QUORUM Una escritura debe ser escrita en el Commit Log y MemTable en un quorum de nodos de réplica en el mismo data-center que el nodo coordinador.

Evita el retardo de comunicación entre data-centers.

EACH_QUORUM Una escritura debe ser escrita en el Commit Log y MemTable en un quorum de nodos de réplica en todos los data-centers.
ALL Una escritura debe ser escrita en el Commit Log y MemTable en todos las réplicas de nodos en el clúster para esa clave de fila.
Soporte MapReduce
Cassandra está integrado con Apache Hadoop para soportar MapReduce. También existe soporte para Apache Pig y Apache Hive.[23]
Lenguaje de consulta
Cassandra introduce CQL (Cassandra Query Language), una alternativa similar a SQL para la interfaz RPC tradicional. Existen drivers disponibles para Java (JDBC), Python (DBAPI2), Node.JS (Helenus), Go (gocql) y C++.[24]
Ejemplo de creación de un keyspace, incluyendo una columna en CQL 3.0:[25]
CREATE KEYSPACE MiEspacioClaves WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 }; USE MiEspacioClaves; CREATE COLUMNFAMILY MisColumnas (id text, Apellido text, Nombre text, PRIMARY KEY(id)); INSERT INTO MisColumnas (id, Apellido, Nombre) VALUES ('1', 'Perez', 'Juan'); SELECT * FROM MisColumnas; 
Resultado:
 id | nombre | apellido ----+--------+--------- 1 | Juan | Perez (1 fila) 

Modelo de Datos

Cassandra es esencialmente un híbrido entre un modelo Clave-Valor y una base de datos Tabular (Orientado a columnas).

La familia de columnas (llamada “Tabla” desde CQL3) se asemeja a una tabla en un RDBMS. Estas contienen filas y columnas. Cada fila tiene múltiples columnas, cada una de estas tiene a su vez un nombre, un valor y un timestamp. A diferencia de una tabla en un RDBMS, diferentes filas en una misma familia de columnas, no tiene por qué compartir el mismo conjunto de columnas, y además, una columna puede ser añadida a una o a múltiples filas en cualquier momento. Cada clave en Cassandra, corresponde a un valor que es a su vez un objeto. Cada clave tiene valores como columnas, y las columnas son agrupadas en sets que son llamados familias de columnas. Así, cada clave identifica una fila con un número variable de elementos. Estas familias de columnas, pueden ser consideradas como tablas. Una tabla en Cassandra es un mapa multi-dimensional distribuido, indexado por una clave. Además, las aplicaciones pueden especificar el orden de las columnas dentro de una Súper Columna, o una Familia de Columnas Simples.

Clustering

Cuando se diseña el clúster para Apache Cassandra, un punto importante es seleccionar la partición correcta. Existen dos tipos de partición:

  • 1. Partición Aleatoria (RP): Esta partición distribuye los pares Clave-Valor de una forma aleatoria sobre la red, resultando en un buen balanceo de la carga. Si lo comparamos con OPP, en este modelo (RP) se debe accede a más nodos para obtener un número de claves.
  • 2. Partición con Preservación del Orden (OPP): Este tipo de partición distribuye las tuplas Clave-Valor en una forma natural, donde las claves similares no se separan demasiado. La ventaja es que solo se debe acceder a unos pocos nodos. La desventaja es la distribución irregular de claves-valor en los distintos nodos.

Licenciamiento y Soporte

Apache Cassandra es un proyecto de Apache Software Foundation, por lo que tiene una Apache License (version 2.0).

Administración y Monitoreo

Cassandra en un sistema a base de Java que puede ser administrado y monitoreado con Java Management Extensions (JMX). Nodetool, por ejemplo, puede ser usado para administrar un clúster de Cassandra (agregando nodos a un aro, etc.).[26]​ Nodetool también ofrece varias comandos para conseguir métricas de Casandra perteneciente a uso de disco, estado latente, compactación, recolección de basura, entre otras.[27]

Usuarios Conocidos

  • WalmartLabs[28]​ (anteriormente Kosmix) usa Cassandra con SSD
  • Apple usa 75,000 nodos de Cassandra, como se reveló en el Cassandra Summit San Francisco 2014.[29]
  • AppScale usa Cassandra como back-end para aplicaciones de Google App Engine[30]
  • CERN usa un prototipo basado en Cassandra para el experimento ATLAS para archivar su sistema de monitoreo en línea.[31]
  • Cisco WebEx usa Cassandra para almacenar la retroalimentación y actividades de los usuarios en tiempo real.[32]
  • Cloudkick usa Cassandra para almacenar métricas de los servidores de sus usuarios.[33]
  • Constant Contact usa Cassandra en sus aplicaciones de correo electrónico y redes sociales.[34]
  • Digg, un gran sitio web de noticias, anunció el 9 de setiembre de 2009 que empezó a usar Cassandra[35]
  • Facebook usa Cassandra para su sistema de búsquedas en la bandeja de entrada, con una implemetanción de más de 200 nodos.[36]
  • Formspring usa Cassandra para contar respuestas, así como para almacenar datos como seguidores, usuarios bloqueados, etc.[37]
  • IBM realizó investigaciones para desarrollar un sistema de correo electrónico basado en Cassandra.[38]
  • Mahalo.com usa Cassandra para guardar la actividad de sus usuarios y temas para su sitio Q&A[39][40]
  • Netflix usa Cassandra como base de datos de back-end para su servicio de streaming[41][42]
  • Nutanix usa Cassandra para almacenar metadatos y estadísticas. [43]
  • Openwave usa Cassandra como base de datos distribuida y como mecanismo de almacenamiento para su plataforma de mensajes de próxima generación[44]
  • OpenX tiene más de 130 nodos de Cassandra para OpenX Enterprise, donde almacena y replica anuncios y datos para propaganda[45]
  • PostRank usa Cassandra como base de datos de backend[46]
  • Rackspace usa Cassandra internamente.[47]
  • Reddit se cambió a Cassandra de memcacheDB el 12 de marzo de 2010[48]​ y experimentó algunos problemas en mayo por comenzar con pocos nodos.[49]
  • RockYou usa Cassandra para grabar cada canción[50]
  • SoundCloud usa Cassandra para almacenar el dashboard de sus usuarios[51]
  • Talentica Software usa Cassandra como back-end para hacer análisis de datos, con más de 30 nodos insertando alrededor de 200GB de datos diariamente.[52]
  • Twitter anunció que está planificando cambiar MySQL por Cassandra[53][54]
  • Urban Airship usa Cassandra con el servicio de almacenamiento movie, con más de 160 millones de aplicaciones instaladas en más de 80 millones de dispositivos[55]
  • Wikimedia usa Cassandra como base de datos de backend.[56]
  • Zoho usa Cassandra para una pre-visualización de su bandeja de entrada de Zoho Mail.

Facebook cambió su desarrollo de la versión preliminar de Apache Cassandra a finales de 2010, cuando reemplazaron la búsqueda en la bandeja de entrada por su plataforma de mensajería. En 2012, Facebook comenzó a usar Apache Cassandra en Instagram.[57]

Véase también

Uso académico

  • BigTable
  • Distributed database
  • Distributed hash table (DHT)
  • Dynamo (storage system) - Cassandra toma muchos elementos de Dynamo
  • NoSQL

Alternativas populares

Otras alternativas

  • Apache Accumulo - Secure Apache Hadoop Basada en bases de datos distribuidas.
  • Berkeley DB
  • Druid (open-source data store)
  • Hypertable - Apache Hadoop Basada en bases de datos distribuidas. Similar a BigTable
  • Riak

Alternativas comerciales

Referencias

  1. Casares, Joaquin (5 de noviembre de 2012). «Multi-datacenter Replication in Cassandra». DataStax. Consultado el 25 de julio de 2013. «Cassandra’s innate datacenter concepts are important as they allow multiple workloads to be run across multiple datacenters…». 
  2. Rabl, Tilmann; Sadoghi, Mohammad; Jacobsen, Hans-Arno; Villamor, Sergio Gomez-; Mulero -, Victor Muntes; Mankovskii, Serge (27 de agosto de 2012). «Solving Big Data Challenges for Enterprise Application Performance Management». VLDB. Consultado el 25 de julio de 2013. «In terms of scalability, there is a clear winner throughout our experiments. Cassandra achieves the highest throughput for the maximum number of nodes in all experiments... this comes at the price of high write and read latencies». 
  3. DataStax (15 de enero de 2013). . Archivado desde el original el 26 de julio de 2013. Consultado el 25 de julio de 2013. 
  4. Ellis, Jonathan (15 de febrero de 2012). «Schema in Cassandra 1.1». DataStax. Consultado el 25 de julio de 2013. 
  5. Ellis, Jonathan (3 de diciembre de 2010). «What’s new in Cassandra 0.7: Secondary indexes». DataStax. Consultado el 25 de julio de 2013. 
  6. Ellis, Jonathan (2 de marzo de 2012). «The Schema Management Renaissance in Cassandra 1.1». DataStax. Consultado el 25 de julio de 2013. 
  7. Lebresne, Sylvain (5 de agosto de 2012). «Coming in 1.2: Collections support in CQL3». DataStax. Consultado el 25 de julio de 2013. 
  8. Hamilton, James (12 de julio de 2008). «Facebook Releases Cassandra as Open Source». Consultado el 4 de junio de 2009. 
  9. «Is this the new hotness now?». Mail-archive.com. 2 de marzo de 2009. desde el original el 25 de abril de 2010. Consultado el 29 de marzo de 2010. 
  10. «Cassandra is an Apache top level project». Mail-archive.com. 18 de febrero de 2010. desde el original el 28 de marzo de 2010. Consultado el 29 de marzo de 2010. 
  11. The Apache Software Foundation Announces Apache Cassandra Release 0.6 : The Apache Software Foundation Blog
  12. The Apache Software Foundation Announces Apache Cassandra 0.7 : The Apache Software Foundation Blog
  13. [https://web.archive.org/web/20150608075711/http://grokbase.com/t/cassandra/user/1162fkpwx2/release-0-8-0 Archivado el 8 de junio de 2015 en Wayback Machine. [Cassandra-user] [RELEASE] 0.8.0 - Grokbase]
  14. Cassandra 1.0.0. Is Ready for the Enterprise
  15. The Apache Software Foundation Announces Apache Cassandra™ v1.1 : The Apache Software Foundation Blog
  16. «The Apache Software Foundation Announces Apache Cassandra™ v1.2 : The Apache Software Foundation Blog». apache.org. Consultado el 11 de diciembre de 2014. 
  17. Eric Evans. . qnalist.com. Archivado desde el original el 13 de diciembre de 2014. Consultado el 11 de diciembre de 2014. 
  18. Sylvain Lebresne (10 de septiembre de 2014). «[VOTE SUCCESS] Release Apache Cassandra 2.1.0». mail-archive.com. Consultado el 11 de diciembre de 2014.  (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
  19. «Release Apache Cassandra 2.5.5». Consultado el 7 de junio de 2015. 
  20. «Cassandra 2.2, 3.0». 16 de junio de 2015. Consultado el 22 de abril de 2016. 
  21. «Cassandra Server Releases». cassandra.apache.org. Consultado el 15 de diciembre de 2015. 
  22. «Deploying Cassandra across Multiple Data Centers». DataStax. Consultado el 11 de diciembre de 2014. 
  23. "Hadoop Support" el 16 de noviembre de 2017 en Wayback Machine. article on Cassandra's wiki
  24. «DataStax C/C++ Driver for Apache Cassandra». DataStax. Consultado el 15 de diciembre de 2014. 
  25. . Archivado desde el original el 13 de enero de 2016. Consultado el 5 de enero de 2016. 
  26. . wiki.apache.org. Archivado desde el original el 13 de enero de 2016. Consultado el 28 de enero de 2016. 
  27. «Monitor Cassandra Performance Metrics». Datadog (en inglés estadounidense). Consultado el 28 de enero de 2016. 
  28. . walmartlabs.com. Archivado desde el original el 13 de diciembre de 2014. Consultado el 11 de diciembre de 2014. 
    • Lev Walker: A definition of "Massive scale" from Apple. #CassandraSummit en Twitter
  29. . Archivado desde el original el 7 de septiembre de 2013. 
  30. «A Persistent Back-End for the ATLAS Online Information Service (P-BEAST)». 
  31. «Re: Cassandra users survey». Mail-archive.com. 21 de noviembre de 2009. desde el original el 17 de abril de 2010. Consultado el 29 de marzo de 2010. 
  32. 4 Months with Cassandra, a love story |Cloudkick, manage servers better el 11 de mayo de 2011 en Wayback Machine.
  33. Finley, Klint (18 de febrero de 2011). «This Week in Consolidation: HP Buys Vertica, Constant Contact Buys Bantam Live and More». Read Write Enterprise. 
  34. Eure, Ian. «Looking to the future with Cassandra». 
  35. «Net compatibele browser». Facebook. Consultado el 29 de marzo de 2010. 
  36. Cozzi, Martin (31 de agosto de 2011). «Cassandra at Formspring». 
  37. «BlueRunner: Building an Email Service in the Cloud». ieee.org. 20 de julio de 2009. Consultado el 29 de marzo de 2010. 
  38. . DataStax.com. Santa Clara, CA, USA: DataStax. 10 de abril de 2012. Archivado desde el original el 17 de diciembre de 2014. Consultado el 13 de junio de 2014. 
  39. Cockcroft, Adrian (11 de julio de 2011). «Migrating Netflix from Datacenter Oracle to Global Cassandra». slideshare.net. Consultado el 13 de junio de 2014. 
  40. Izrailevsky, Yury (28 de enero de 2011). «NoSQL at Netflix». 
  41. . Archivado desde el original el 10 de diciembre de 2015. Consultado el 7 de junio de 2015. 
  42. Mainstay LLC (11 de noviembre de 2013). . DataStax.com. Santa Clara, CA, USA: DataStax. Archivado desde el original el 7 de septiembre de 2014. Consultado el 15 de junio de 2014. 
  43. Grigorik, Ilya (29 de marzo de 2011). . Archivado desde el original el 23 de septiembre de 2011. 
  44. «Hadoop and Cassandra (at Rackspace)». Stu Hood. 23 de abril de 2010. Consultado el 1 de septiembre de 2011. 
  45. david [ketralnis] (12 de marzo de 2010). «what's new on reddit: She who entangles men». blog.reddit. desde el original el 25 de marzo de 2010. Consultado el 29 de marzo de 2010. 
  46. Posted by the reddit admins at (11 de mayo de 2010). «blog.reddit -- what's new on reddit: reddit's May 2010 "State of the Servers" report». blog.reddit. desde el original el 14 de mayo de 2010. Consultado el 16 de mayo de 2010. 
  47. Pattishall, Dathan Vance (23 de marzo de 2011). «Cassandra is my NoSQL Solution but». 
  48. . Archivado desde el original el 5 de septiembre de 2013. 
  49. cite web|url=http://www.talentica.com
  50. Popescu, Alex. «Cassandra Twitter: An Interview with Ryan King». myNoSQL. desde el original el 1 de marzo de 2010. Consultado el 29 de marzo de 2010. 
  51. Babcock, Charles. «Twitter Drops MySQL For Cassandra - Cloud databases». InformationWeek. desde el original el 2 de abril de 2010. Consultado el 29 de marzo de 2010. 
  52. Onnen, Erik. «From 100s to 100s of Millions». 
  53. Wicke, Gabriel. «Wikimedia REST content API is now available in beta». 
  54. Rick Branson (26 de junio de 2013). «Cassandra at Instagram». DataStax. Consultado el 25 de julio de 2013. 

Bibliografía

  • Hewitt, Eben (15 de diciembre de 2010). Cassandra: The Definitive Guide (1st edición). O'Reilly Media. p. 300. ISBN 978-1-4493-9041-9. 
  • Capriolo, Edward (15 de julio de 2011). Cassandra High Performance Cookbook (1st edición). Packt Publishing. p. 324. ISBN 1-84951-512-3. 

Enlaces externos

  • Sitio web del proyecto
  • Proyecto Apache
  • Lakshman, Avinash (25 de agosto de 2008). «Cassandra - A structured storage system on a P2P Network». Engineering @ Facebook's Notes. Consultado el 17 de junio de 2014. 
  • «The Apache Cassandra Project». Forest Hill, MD, USA: The Apache Software Foundation. Consultado el 17 de junio de 2014. 
  • . Forest Hill, MD, USA: The Apache Software Foundation. Archivado desde el original el 14 de junio de 2014. Consultado el 17 de junio de 2014. 
  • Hewitt, Eben (1 de diciembre de 2010). «Adopting Apache Cassandra». infoq.com. InfoQ, C4Media Inc. Consultado el 17 de junio de 2014. 
  • Lakshman, Avinash; Malik, Prashant (15 de agosto de 2009). «Cassandra - A Decentralized Structured Storage System». cs.cornell.edu. The authors are from Facebook. Consultado el 17 de junio de 2014. 
  • Ellis, Jonathan (29 de julio de 2009). «What Every Developer Should Know About Database Scalability». slideshare.net. Consultado el 17 de junio de 2014.  From the OSCON 2009 talk on RDBMS vs. Dynamo, BigTable, and Cassandra.
  • «Cassandra-RPM - Red Hat Package Manager (RPM) build for the Apache Cassandra project». code.google.com. Menlo Park, CA, USA: Google Project Hosting. Consultado el 17 de junio de 2014. 
  • Roth, Gregor (14 de octubre de 2012). «Cassandra by example - the path of read and write requests». slideshare.net. Consultado el 17 de junio de 2014. 
  • Mansoor, Umer (4 de noviembre de 2012). «A collection of Cassandra tutorials». Consultado el 8 de febrero de 2015. 
  • Bushik, Sergey (22 de octubre de 2012). «A vendor-independent comparison of NoSQL databases: Cassandra, HBase, MongoDB, Riak». NetworkWorld. Framingham, MA, USA and Staines, Middlesex, UK: IDG. Consultado el 17 de junio de 2014. 
  •   Datos: Q616639
  •   Multimedia: Apache Cassandra

apache, cassandra, trata, software, nosql, distribuido, basado, modelo, almacenamiento, clave, valor, código, abierto, está, escrita, java, permite, grandes, volúmenes, datos, forma, distribuida, ejemplo, twitter, para, plataforma, objetivo, principal, escalab. Apache Cassandra se trata de un software NoSQL distribuido y basado en un modelo de almacenamiento de clave valor de codigo abierto que esta escrita en Java Permite grandes volumenes de datos en forma distribuida Por ejemplo lo usa Twitter para su plataforma Su objetivo principal es la escalabilidad lineal y la disponibilidad La arquitectura distribuida de Cassandra esta basada en una serie de nodos iguales que se comunican con un protocolo P2P con lo que la redundancia es maxima Esta desarrollada por Apache Software Foundation Apache CassandraInformacion generalTipo de programasistema de gestion de bases de datosAutorAvinash Lakshman Prashant MalikDesarrolladorApache Software FoundationLanzamiento inicial2008LicenciaApache License 2 0Estado actualActivoInformacion tecnicaProgramado enJavaVersionesUltima version estable3 11 7 25 de julio de 2020 EnlacesSitio web oficial Repositorio de codigo Seguimiento de errores editar datos en Wikidata Cassandra ofrece soporte robusto para multiples centros de datos 1 con la replicacion asincronica sin necesidad de un servidor maestro que permiten operaciones de baja latencia para todos los clientes Cassandra tambien ofrece un gran rendimiento En 2012 investigadores de la Universidad de Toronto que estudian los sistemas NoSQL concluyeron que En terminos de escalabilidad hay un claro ganador a traves de nuestros experimentos Cassandra logra el mas alto rendimiento para el numero maximo de nodos en todos los experimentos aunque esto tiene como precio una alta latencia de escritura y lectura 2 El modelo de datos de Cassandra consiste en particionar las filas que son reorganizadas en tablas 3 Las claves primarias de cada tabla tiene un primer componente que es la clave de particion Dentro de una particion las filas son agrupadas por las columnas restantes de la clave 4 Las demas columnas pueden ser indexadas por separado de la clave primaria 5 Las tablas se pueden crear eliminar y alterar en tiempo de ejecucion sin bloquear actualizaciones y consultas 6 Cassandra no soporta la sentencia JOIN o subqueries sino que enfatiza en la desnormalizacion a traves de caracteristicas como colecciones 7 En las versiones iniciales utilizaba un API propia para poder acceder a la base de datos En los ultimos tiempos estan apostando por un lenguaje denominado CQL Cassandra Query Language no confundir con Contextual Query Language que posee una sintaxis similar a SQL aunque con muchas menos funcionalidades Esto hace que iniciarse en el uso de la misma sea mas sencillo Permite acceder en Java desde JDBC Indice 1 Historia 2 Caracteristicas principales 3 Modelo de Datos 4 Clustering 5 Licenciamiento y Soporte 6 Administracion y Monitoreo 7 Usuarios Conocidos 8 Vease tambien 8 1 Uso academico 8 2 Alternativas populares 8 3 Otras alternativas 8 4 Alternativas comerciales 9 Referencias 10 Bibliografia 11 Enlaces externosHistoria EditarApache Cassandra fue inicialmente desarrollada en Facebook para impulsar las busqueda en la bandeja de entrada por Avinash Lakshman uno de los autores de Amazon s Dynamo y Prashant Malik Fue lanzada como un proyecto open source de Google code en julio de 2008 8 En marzo de 2009 se transformo en un proyecto de Apache Incubator 9 El 17 de febrero de 2010 se graduo como un proyecto de alto nivel 10 Publicaciones despues de la graduacion 0 6 12 de abril de 2010 anaden soporte para cacheo integrado y para Apache Hadoop MapReduce 11 0 7 8 de enero de 2011 anaden indices secundarios y cambios en linea en el scheme de la base de datos 12 0 8 2 de junio de 2011 anaden el Cassandra Query Language CQL self tuning memtables y soporte para mantenerse funcionando durante actualizaciones de version 13 1 0 17 de octubre de 2011 anaden compresion integrada compactacion por niveles y se mejora el desempeno de lectura 14 1 1 23 de abril de 2012 anaden cache self tuning aislamiento a nivel de fila y soporte para desarrollo en multiples sistemas de disco 15 1 2 2 de enero de 2013 anaden clustering a traves de nodos virtuales comunicacion entre nodos procesos batch atomicos y traza de solicitudes 16 2 0 4 de septiembre de 2013 anaden transacciones livianas basadas en el protocolo Paxos triggers y compactaciones improvisadas 2 0 4 30 de diciembre de 2013 anaden la especificacion de los centros de datos para participar en una reparacion soporte de encriptacion del cliente para el sstableloader y remover snapshots que no existen mas 17 2 1 0 10 de septiembre de 2014 18 2 1 5 29 de abril de 2015 19 2 1 6 nueva version Junio 8 2015 2 1 7 nueva version Junio 22 2015 2 2 0 nueva version Julio 20 2015 2 2 2 nueva version Octubre 5 2015 3 0 nueva version y luego se comienzan a realizar liberaciones mensualmente usando el tick tock model 20 3 2 2 nueva version Enero 18 2016 3 7 nueva version Junio 13 2016 3 11 1 nueva version Octubre 10 2017Version Fecha liberacion original Ultima version Fecha liberacion Estado 21 Version antigua sin servicio tecnico 0 6 2010 04 12 0 6 13 2011 04 18 Ya no tiene soporteVersion antigua sin servicio tecnico 0 7 2011 01 10 0 7 10 2011 10 31 Ya no tiene soporteVersion antigua sin servicio tecnico 0 8 2011 06 03 0 8 10 2012 02 13 Ya no tiene soporteVersion antigua sin servicio tecnico 1 0 2011 10 18 1 0 12 2012 10 04 Ya no tiene soporteVersion antigua sin servicio tecnico 1 1 2012 04 24 1 1 12 2013 05 27 Ya no tiene soporteVersion antigua sin servicio tecnico 1 2 2013 01 02 1 2 19 2014 09 18 Ya no tiene soporteVersion antigua sin servicio tecnico 2 0 2013 09 03 2 0 17 2015 09 21 Ya no tiene soporteVersion antigua con servicio tecnico 2 1 2014 09 16 2 1 13 2016 02 08 Tiene soporteVersion antigua con servicio tecnico 2 2 2015 07 20 2 2 5 2016 02 08 Tiene soporteVersion antigua con servicio tecnico 3 0 2015 11 09 3 0 5 2016 04 11 Tiene soporteVersion antigua con servicio tecnico 3 2 2015 11 09 3 2 1 2016 01 18 Ya no tiene soporteVersion antigua con servicio tecnico 3 7 2016 06 13 3 7 2016 06 13 Ya no tiene soporteVersion estable actual 3 11 2017 06 23 3 11 7 2020 07 25 Ultima liberacionLeyenda Version antiguaVersion antigua con soporte tecnicoUltima versionUltima version previaLanzamiento futuroCaracteristicas principales EditarDescentralizado Todos los nodos del cluster tiene el mismo rol No hay un unico punto de fallo Los datos se distribuyen a traves del cluster por lo que cada nodo contiene datos diferentes No existe un nodo maestro por lo que cada nodo puede dar servicio a cualquier solicitud Soporta replicacion y replicacion de multiples data center Las estrategias de replicacion son configurables 22 Cassandra esta disenado como un sistema distribuido para el despliegue de un gran numero de nodos a traves de multiples centros de datos La arquitectura distribuida de Cassandra esta disenado para desplegarse sobre multiples data center tener redundancia y recuperarse ante desastres Escalabilidad El rendimiento de leer y escribir aumenta linealmente a medida que se anaden nuevos nodos Se pueden agregar nuevos nodos sin necesidad de interrumpir la ejecucion de la aplicacion Tolerancia a fallos Los datos se replican automaticamente a multiples nodos para recuperarse frente a fallos Cassandra soporta replicacion a traves de multiples datacenter Se puede reemplazar nodos que presenten fallos sin tiempo de inactividad o interrupcion de la aplicacion Consistencia Se ofrece la eleccion del nivel de consistencia para las lecturas y escrituras Un ejemplo posible de consulta utilizando consistencia es el siguiente SELECT FROM users WHERE state TX USING CONSISTENCY QUORUM Lectura Nivel DescripcionONE Retorna una respuesta de la replica mas cercana QUORUM Retorna la grabacion con la fecha de creacion mas reciente en el quorum de replicas de respuesta LOCAL QUORUM Retorna la grabacion con la fecha de creacion mas reciente en el quorum de replicas que se encuentran en el mismo nodo que el nodo coordinador solicitante Evita el retardo de comunicacion entre data centers EACH QUORUM Retorna la grabacion con la fecha de creacion mas reciente en el quorum de replicas de cada data cetner del cluster que responda ALL Retorna la grabacion con la fecha de creacion mas reciente de todas las replicas que respondan Fallara si alguna replica no responde Escritura Nivel DescripcionANY Una escritura debe ser realizada en al menos un nodo ONE Una escritura debe ser escrita en el Commit Log y MemTable de al menos un nodo de replicacion QUORUM Una escritura debe ser escrita en el Commit Log y MemTable en un quorum de nodos de replicaLOCAL QUORUM Una escritura debe ser escrita en el Commit Log y MemTable en un quorum de nodos de replica en el mismo data center que el nodo coordinador Evita el retardo de comunicacion entre data centers EACH QUORUM Una escritura debe ser escrita en el Commit Log y MemTable en un quorum de nodos de replica en todos los data centers ALL Una escritura debe ser escrita en el Commit Log y MemTable en todos las replicas de nodos en el cluster para esa clave de fila Soporte MapReduce Cassandra esta integrado con Apache Hadoop para soportar MapReduce Tambien existe soporte para Apache Pig y Apache Hive 23 Lenguaje de consulta Cassandra introduce CQL Cassandra Query Language una alternativa similar a SQL para la interfaz RPC tradicional Existen drivers disponibles para Java JDBC Python DBAPI2 Node JS Helenus Go gocql y C 24 Ejemplo de creacion de un keyspace incluyendo una columna en CQL 3 0 25 CREATE KEYSPACE MiEspacioClaves WITH REPLICATION class SimpleStrategy replication factor 3 USE MiEspacioClaves CREATE COLUMNFAMILY MisColumnas id text Apellido text Nombre text PRIMARY KEY id INSERT INTO MisColumnas id Apellido Nombre VALUES 1 Perez Juan SELECT FROM MisColumnas Resultado id nombre apellido 1 Juan Perez 1 fila Modelo de Datos EditarCassandra es esencialmente un hibrido entre un modelo Clave Valor y una base de datos Tabular Orientado a columnas La familia de columnas llamada Tabla desde CQL3 se asemeja a una tabla en un RDBMS Estas contienen filas y columnas Cada fila tiene multiples columnas cada una de estas tiene a su vez un nombre un valor y un timestamp A diferencia de una tabla en un RDBMS diferentes filas en una misma familia de columnas no tiene por que compartir el mismo conjunto de columnas y ademas una columna puede ser anadida a una o a multiples filas en cualquier momento Cada clave en Cassandra corresponde a un valor que es a su vez un objeto Cada clave tiene valores como columnas y las columnas son agrupadas en sets que son llamados familias de columnas Asi cada clave identifica una fila con un numero variable de elementos Estas familias de columnas pueden ser consideradas como tablas Una tabla en Cassandra es un mapa multi dimensional distribuido indexado por una clave Ademas las aplicaciones pueden especificar el orden de las columnas dentro de una Super Columna o una Familia de Columnas Simples Clustering EditarCuando se disena el cluster para Apache Cassandra un punto importante es seleccionar la particion correcta Existen dos tipos de particion 1 Particion Aleatoria RP Esta particion distribuye los pares Clave Valor de una forma aleatoria sobre la red resultando en un buen balanceo de la carga Si lo comparamos con OPP en este modelo RP se debe accede a mas nodos para obtener un numero de claves 2 Particion con Preservacion del Orden OPP Este tipo de particion distribuye las tuplas Clave Valor en una forma natural donde las claves similares no se separan demasiado La ventaja es que solo se debe acceder a unos pocos nodos La desventaja es la distribucion irregular de claves valor en los distintos nodos Licenciamiento y Soporte EditarApache Cassandra es un proyecto de Apache Software Foundation por lo que tiene una Apache License version 2 0 Administracion y Monitoreo EditarCassandra en un sistema a base de Java que puede ser administrado y monitoreado con Java Management Extensions JMX Nodetool por ejemplo puede ser usado para administrar un cluster de Cassandra agregando nodos a un aro etc 26 Nodetool tambien ofrece varias comandos para conseguir metricas de Casandra perteneciente a uso de disco estado latente compactacion recoleccion de basura entre otras 27 Usuarios Conocidos EditarWalmartLabs 28 anteriormente Kosmix usa Cassandra con SSD Apple usa 75 000 nodos de Cassandra como se revelo en el Cassandra Summit San Francisco 2014 29 AppScale usa Cassandra como back end para aplicaciones de Google App Engine 30 CERN usa un prototipo basado en Cassandra para el experimento ATLAS para archivar su sistema de monitoreo en linea 31 Cisco WebEx usa Cassandra para almacenar la retroalimentacion y actividades de los usuarios en tiempo real 32 Cloudkick usa Cassandra para almacenar metricas de los servidores de sus usuarios 33 Constant Contact usa Cassandra en sus aplicaciones de correo electronico y redes sociales 34 Digg un gran sitio web de noticias anuncio el 9 de setiembre de 2009 que empezo a usar Cassandra 35 Facebook usa Cassandra para su sistema de busquedas en la bandeja de entrada con una implemetancion de mas de 200 nodos 36 Formspring usa Cassandra para contar respuestas asi como para almacenar datos como seguidores usuarios bloqueados etc 37 IBM realizo investigaciones para desarrollar un sistema de correo electronico basado en Cassandra 38 Mahalo com usa Cassandra para guardar la actividad de sus usuarios y temas para su sitio Q amp A 39 40 Netflix usa Cassandra como base de datos de back end para su servicio de streaming 41 42 Nutanix usa Cassandra para almacenar metadatos y estadisticas 43 Openwave usa Cassandra como base de datos distribuida y como mecanismo de almacenamiento para su plataforma de mensajes de proxima generacion 44 OpenX tiene mas de 130 nodos de Cassandra para OpenX Enterprise donde almacena y replica anuncios y datos para propaganda 45 PostRank usa Cassandra como base de datos de backend 46 Rackspace usa Cassandra internamente 47 Reddit se cambio a Cassandra de memcacheDB el 12 de marzo de 2010 48 y experimento algunos problemas en mayo por comenzar con pocos nodos 49 RockYou usa Cassandra para grabar cada cancion 50 SoundCloud usa Cassandra para almacenar el dashboard de sus usuarios 51 Talentica Software usa Cassandra como back end para hacer analisis de datos con mas de 30 nodos insertando alrededor de 200GB de datos diariamente 52 Twitter anuncio que esta planificando cambiar MySQL por Cassandra 53 54 Urban Airship usa Cassandra con el servicio de almacenamiento movie con mas de 160 millones de aplicaciones instaladas en mas de 80 millones de dispositivos 55 Wikimedia usa Cassandra como base de datos de backend 56 Zoho usa Cassandra para una pre visualizacion de su bandeja de entrada de Zoho Mail Facebook cambio su desarrollo de la version preliminar de Apache Cassandra a finales de 2010 cuando reemplazaron la busqueda en la bandeja de entrada por su plataforma de mensajeria En 2012 Facebook comenzo a usar Apache Cassandra en Instagram 57 Vease tambien EditarUso academico Editar BigTable Distributed database Distributed hash table DHT Dynamo storage system Cassandra toma muchos elementos de Dynamo NoSQLAlternativas populares Editar Aerospike HyperDex Apache HBase Apache Hadoop Basada en bases de datos distribuidas Similar a BigTable MongoDBOtras alternativas Editar Apache Accumulo Secure Apache Hadoop Basada en bases de datos distribuidas Berkeley DB Druid open source data store Hypertable Apache Hadoop Basada en bases de datos distribuidas Similar a BigTable RiakAlternativas comerciales Editar DataStax Impetus TechnologiesReferencias Editar Casares Joaquin 5 de noviembre de 2012 Multi datacenter Replication in Cassandra DataStax Consultado el 25 de julio de 2013 Cassandra s innate datacenter concepts are important as they allow multiple workloads to be run across multiple datacenters Rabl Tilmann Sadoghi Mohammad Jacobsen Hans Arno Villamor Sergio Gomez Mulero Victor Muntes Mankovskii Serge 27 de agosto de 2012 Solving Big Data Challenges for Enterprise Application Performance Management VLDB Consultado el 25 de julio de 2013 In terms of scalability there is a clear winner throughout our experiments Cassandra achieves the highest throughput for the maximum number of nodes in all experiments this comes at the price of high write and read latencies DataStax 15 de enero de 2013 About data consistency Archivado desde el original el 26 de julio de 2013 Consultado el 25 de julio de 2013 Ellis Jonathan 15 de febrero de 2012 Schema in Cassandra 1 1 DataStax Consultado el 25 de julio de 2013 Ellis Jonathan 3 de diciembre de 2010 What s new in Cassandra 0 7 Secondary indexes DataStax Consultado el 25 de julio de 2013 Ellis Jonathan 2 de marzo de 2012 The Schema Management Renaissance in Cassandra 1 1 DataStax Consultado el 25 de julio de 2013 Lebresne Sylvain 5 de agosto de 2012 Coming in 1 2 Collections support in CQL3 DataStax Consultado el 25 de julio de 2013 Hamilton James 12 de julio de 2008 Facebook Releases Cassandra as Open Source Consultado el 4 de junio de 2009 Is this the new hotness now Mail archive com 2 de marzo de 2009 Archivado desde el original el 25 de abril de 2010 Consultado el 29 de marzo de 2010 Cassandra is an Apache top level project Mail archive com 18 de febrero de 2010 Archivado desde el original el 28 de marzo de 2010 Consultado el 29 de marzo de 2010 The Apache Software Foundation Announces Apache Cassandra Release 0 6 The Apache Software Foundation Blog The Apache Software Foundation Announces Apache Cassandra 0 7 The Apache Software Foundation Blog https web archive org web 20150608075711 http grokbase com t cassandra user 1162fkpwx2 release 0 8 0 Archivado el 8 de junio de 2015 en Wayback Machine Cassandra user RELEASE 0 8 0 Grokbase Cassandra 1 0 0 Is Ready for the Enterprise The Apache Software Foundation Announces Apache Cassandra v1 1 The Apache Software Foundation Blog The Apache Software Foundation Announces Apache Cassandra v1 2 The Apache Software Foundation Blog apache org Consultado el 11 de diciembre de 2014 Eric Evans Cassandra User RELEASE Apache Cassandra 2 0 4 qnalist com Archivado desde el original el 13 de diciembre de 2014 Consultado el 11 de diciembre de 2014 Sylvain Lebresne 10 de septiembre de 2014 VOTE SUCCESS Release Apache Cassandra 2 1 0 mail archive com Consultado el 11 de diciembre de 2014 enlace roto disponible en Internet Archive vease el historial la primera version y la ultima Release Apache Cassandra 2 5 5 Consultado el 7 de junio de 2015 Cassandra 2 2 3 0 16 de junio de 2015 Consultado el 22 de abril de 2016 Cassandra Server Releases cassandra apache org Consultado el 15 de diciembre de 2015 Deploying Cassandra across Multiple Data Centers DataStax Consultado el 11 de diciembre de 2014 Hadoop Support Archivado el 16 de noviembre de 2017 en Wayback Machine article on Cassandra s wiki DataStax C C Driver for Apache Cassandra DataStax Consultado el 15 de diciembre de 2014 CQL Archivado desde el original el 13 de enero de 2016 Consultado el 5 de enero de 2016 NodeTool Cassandra Wiki wiki apache org Archivado desde el original el 13 de enero de 2016 Consultado el 28 de enero de 2016 Monitor Cassandra Performance Metrics Datadog en ingles estadounidense Consultado el 28 de enero de 2016 WalmartLabs walmartlabs com Archivado desde el original el 13 de diciembre de 2014 Consultado el 11 de diciembre de 2014 Lev Walker A definition of Massive scale from Apple CassandraSummit en Twitter Datastores on Appscale Archivado desde el original el 7 de septiembre de 2013 A Persistent Back End for the ATLAS Online Information Service P BEAST Re Cassandra users survey Mail archive com 21 de noviembre de 2009 Archivado desde el original el 17 de abril de 2010 Consultado el 29 de marzo de 2010 4 Months with Cassandra a love story Cloudkick manage servers better Archivado el 11 de mayo de 2011 en Wayback Machine Finley Klint 18 de febrero de 2011 This Week in Consolidation HP Buys Vertica Constant Contact Buys Bantam Live and More Read Write Enterprise Eure Ian Looking to the future with Cassandra Net compatibele browser Facebook Consultado el 29 de marzo de 2010 Cozzi Martin 31 de agosto de 2011 Cassandra at Formspring BlueRunner Building an Email Service in the Cloud ieee org 20 de julio de 2009 Consultado el 29 de marzo de 2010 Mahalo com powered by Apache Cassandra DataStax com Santa Clara CA USA DataStax 10 de abril de 2012 Archivado desde el original el 17 de diciembre de 2014 Consultado el 13 de junio de 2014 Watch Cassandra at Mahalo com DataStax Episodes Blip Cockcroft Adrian 11 de julio de 2011 Migrating Netflix from Datacenter Oracle to Global Cassandra slideshare net Consultado el 13 de junio de 2014 Izrailevsky Yury 28 de enero de 2011 NoSQL at Netflix Nutanix Bible Archivado desde el original el 10 de diciembre de 2015 Consultado el 7 de junio de 2015 Mainstay LLC 11 de noviembre de 2013 DataStax Case Study of Openwave Messaging DataStax com Santa Clara CA USA DataStax Archivado desde el original el 7 de septiembre de 2014 Consultado el 15 de junio de 2014 Ad Serving Technology Advanced Optimization Forecasting amp Targeting OpenX Grigorik Ilya 29 de marzo de 2011 Webpulp TV Scaling PostRank with Ilya Grigorik Archivado desde el original el 23 de septiembre de 2011 Hadoop and Cassandra at Rackspace Stu Hood 23 de abril de 2010 Consultado el 1 de septiembre de 2011 david ketralnis 12 de marzo de 2010 what s new on reddit She who entangles men blog reddit Archivado desde el original el 25 de marzo de 2010 Consultado el 29 de marzo de 2010 Posted by the reddit admins at 11 de mayo de 2010 blog reddit what s new on reddit reddit s May 2010 State of the Servers report blog reddit Archivado desde el original el 14 de mayo de 2010 Consultado el 16 de mayo de 2010 Pattishall Dathan Vance 23 de marzo de 2011 Cassandra is my NoSQL Solution but Cassandra at SoundCloud Archivado desde el original el 5 de septiembre de 2013 cite web url http www talentica com Popescu Alex Cassandra Twitter An Interview with Ryan King myNoSQL Archivado desde el original el 1 de marzo de 2010 Consultado el 29 de marzo de 2010 Babcock Charles Twitter Drops MySQL For Cassandra Cloud databases InformationWeek Archivado desde el original el 2 de abril de 2010 Consultado el 29 de marzo de 2010 Onnen Erik From 100s to 100s of Millions Wicke Gabriel Wikimedia REST content API is now available in beta Rick Branson 26 de junio de 2013 Cassandra at Instagram DataStax Consultado el 25 de julio de 2013 Bibliografia EditarHewitt Eben 15 de diciembre de 2010 Cassandra The Definitive Guide 1st edicion O Reilly Media p 300 ISBN 978 1 4493 9041 9 Capriolo Edward 15 de julio de 2011 Cassandra High Performance Cookbook 1st edicion Packt Publishing p 324 ISBN 1 84951 512 3 Enlaces externos EditarSitio web del proyecto Arquitectura de Cassandra Proyecto Apache Lakshman Avinash 25 de agosto de 2008 Cassandra A structured storage system on a P2P Network Engineering Facebook s Notes Consultado el 17 de junio de 2014 The Apache Cassandra Project Forest Hill MD USA The Apache Software Foundation Consultado el 17 de junio de 2014 Project Wiki Forest Hill MD USA The Apache Software Foundation Archivado desde el original el 14 de junio de 2014 Consultado el 17 de junio de 2014 Hewitt Eben 1 de diciembre de 2010 Adopting Apache Cassandra infoq com InfoQ C4Media Inc Consultado el 17 de junio de 2014 Lakshman Avinash Malik Prashant 15 de agosto de 2009 Cassandra A Decentralized Structured Storage System cs cornell edu The authors are from Facebook Consultado el 17 de junio de 2014 Ellis Jonathan 29 de julio de 2009 What Every Developer Should Know About Database Scalability slideshare net Consultado el 17 de junio de 2014 From the OSCON 2009 talk on RDBMS vs Dynamo BigTable and Cassandra Cassandra RPM Red Hat Package Manager RPM build for the Apache Cassandra project code google com Menlo Park CA USA Google Project Hosting Consultado el 17 de junio de 2014 Roth Gregor 14 de octubre de 2012 Cassandra by example the path of read and write requests slideshare net Consultado el 17 de junio de 2014 Mansoor Umer 4 de noviembre de 2012 A collection of Cassandra tutorials Consultado el 8 de febrero de 2015 Bushik Sergey 22 de octubre de 2012 A vendor independent comparison of NoSQL databases Cassandra HBase MongoDB Riak NetworkWorld Framingham MA USA and Staines Middlesex UK IDG Consultado el 17 de junio de 2014 Datos Q616639 Multimedia Apache CassandraObtenido de https es wikipedia org w index php title Apache Cassandra amp oldid 136842604, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos