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".
[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.
Sistema de archivos En la actualidad, Cassandra es compatible con HDFS (Hadoop Distributed File System), sin embargo, DataStax que es la compañía que da soporte y distribuye a Apache Cassandra a través de contribuciones abiertas, creó Cassandra File System (CFS) que tiene como objetivo ser el reemplazo de HDFS.
• Es compatible con otras herramientas, como MapReduce, Apache Spark que permiten trabajar el Big Data.
Cuando la lectura se necesita para un archivo o parte de un archivo, es necesario que se lea la información del inode para encontrar el bloque y el sub bloque que debe de leer.
Esto es necesario debido a que durante una tarea de tipo “Mapreduce”, el rastreador de trabajos intenta colocar cada cálculo que se ha realizado en el nodo con la información actual.
Una vez que un archivo llega, en él se escriben los atributos estáticos en la columna familia del “inode”.
Posteriormente, un nuevo bloque de objeto y se ejecuta “dfs.block.size” por cada dato.
Cassandra es esencialmente un híbrido entre un modelo Clave-Valor y una base de datos Tabular (Orientado a columnas).
Cada fila tiene múltiples columnas, cada una de estas tiene a su vez un nombre, un valor y un timestamp.
Cuando se diseña el clúster para Apache Cassandra, un punto importante es seleccionar la partición correcta.
Nodetool, por ejemplo, puede ser usado para administrar un clúster de Cassandra (agregando nodos a un aro, etc.).
CQL proporciona una interfaz flexible para administrar y manipular datos en Apache Cassandra.