Apache Cassandra puede ser una base de datos distribuida altamente escalable y de alto rendimiento diseñada para manejar grandes cantidades de conocimiento a través de muchos servidores de productos básicos, proporcionando una alta disponibilidad sin un solo punto de fallo. es una especie de base de datos NoSQL. nos permite entender primero lo que hace una base de datos NoSQL.

Base de datos NoSQL

Una base de datos NoSQL (a veces llamada No Sólo SQL) puede ser una base de datos que ofrece un mecanismo para almacenar y recuperar datos aparte de las relaciones tabulares utilizadas en las bases de datos relacionales. Estas bases de datos no tienen esquemas, admiten una fácil replicación, tienen una API simple, eventualmente consistente, y pueden manejar grandes cantidades de conocimiento .

El objetivo principal de una base de datos NoSQL es poseer

la simplicidad del diseño,

la escala horizontal, y

un control más fino sobre la disponibilidad.

Las bases de datos NoSql utilizan estructuras de datos diferentes en comparación con las bases de datos relacionales. Esto hace que algunas operaciones sean más rápidas en NoSQL. La idoneidad de una determinada base de datos NoSQL depende de la materia que debe resolver.

NoSQL vs. base de datos electrónica

En el siguiente cuadro se enumeran los puntos que diferencian una base de datos electrónica de una base de datos NoSQL.

Base de datos relacional Base de datos NoSql

Soporta un poderoso lenguaje de comandos. Soporta un lenguaje de comandos muy simple.

Tiene un esquema duro y rápido. No hay un esquema fijo.

Sigue el ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad). Sólo es “eventualmente consistente”.

Soporta transacciones. No soporta transacciones.

Además de Cassandra, tenemos las subsiguientes bases de datos NoSQL que son bastante populares –

Apache HBase – HBase es una base de datos distribuida de código abierto, no relacional, modelada según la BigTable de Google y está escrita en Java. Está desarrollada como un proyecto de Apache Hadoop y funciona sobre HDFS, proporcionando capacidades similares a las de BigTable para Hadoop.

MongoDB – MongoDB puede ser un sistema de base de datos multi-plataforma orientado a documentos que evita el uso de la estructura normal de base de datos electrónica basada en tablas en favor de documentos tipo JSON con esquemas dinámicos que hacen la mezcla de conocimientos en ciertos tipos de aplicaciones más fácil y rápida.

¿Qué es Apache Cassandra?

Apache Cassandra es un sistema de almacenamiento (base de datos) de código abierto, distribuido y descentralizado/distribuido, para manejar grandes cantidades de datos estructurados abiertos en todo el planeta. Proporciona un servicio de alta disponibilidad sin un solo punto de fallo.

A continuación se enumeran algunos de los puntos notables de Apache Cassandra –

Es escalable, tolerante a las fallas y consistente.

Es una base de datos orientada a columnas.

Su diseño de distribución se basa en el Dynamo de Amazon y su modelo de datos en la Bigtable de Google.

Creada en Facebook, difiere mucho de los sistemas electrónicos de gestión de bases de datos.

Cassandra implementa un modelo de replicación al estilo de Dynamo sin ningún punto de falla, pero agrega un modelo de datos más poderoso de “familia de columnas”.

Cassandra está siendo utilizada por varias de las empresas más importantes como Facebook, Twitter, Cisco, Rackspace, ebay, Twitter, Netflix, y más.

Características de Cassandra

Cassandra se ha vuelto tan popular debido a sus sobresalientes características técnicas. A continuación se presentan algunas de las características de Cassandra:

Escalabilidad elástica – Cassandra es muy escalable; permite tener más hardware para acomodar más clientes y más datos según los requerimientos.

Siempre en la arquitectura – Cassandra no tiene un solo punto de falla y está continuamente disponible para las aplicaciones críticas de negocios que no pueden permitirse un fallo.

Rendimiento rápido a escala lineal – Cassandra es escalable linealmente, es decir, aumenta su rendimiento a medida que aumenta la cantidad de nodos dentro del clúster. Por lo tanto, mantiene un rápido tiempo de reacción.

Almacenamiento de datos flexible – Cassandra acomoda todos los formatos de datos posibles, incluyendo: estructurados, semi-estructurados y no estructurados. Puede acomodar dinámicamente los cambios en sus estructuras de datos de acuerdo con sus necesidades.

Fácil distribución de datos – Cassandra proporciona la flexibilidad de distribuir los datos donde usted quiera replicando los datos a través de múltiples centros de datos.

Compatibilidad con las transacciones: Cassandra admite propiedades como la atomicidad, la consistencia, el aislamiento y la solidez (ACID).

Escritura rápida – Cassandra fue diseñada para funcionar con hardware barato. Realiza una escritura increíblemente rápida y puede almacenar muchos terabytes de conocimiento, sin sacrificar la eficiencia de lectura.