Cassandra es un sistema de administración de bases de datos distribuidas que es de código abierto con almacenamiento de columna ancha, base de datos NoSQL para manejar una gran cantidad de datos en muchos servidores de productos básicos que brinda alta disponibilidad sin un punto único de falla. Está escrito en Java y desarrollado por Apache Software Foundation.
Avinash Lakshman y Prashant Malik inicialmente desarrollaron Cassandra en Facebook para potenciar la función de búsqueda en la bandeja de entrada de Facebook. Facebook lanzó Cassandra como un proyecto de código abierto en el código de Google en julio de 2008. En marzo de 2009 se convirtió en un proyecto Apache Incubator y en febrero de 2010 se convierte en un proyecto de primer nivel. Debido a sus excelentes características técnicas, Cassandra se vuelve tan popular.
Apache Cassandra se utiliza para administrar grandes cantidades de datos de estructura repartidos por todo el mundo. Proporciona un servicio de alta disponibilidad sin un único punto de falla. A continuación se enumeran algunos puntos de Apache Cassandra:
- Es escalable, tolerante a fallas y consistente.
- Es una base de datos orientada a columnas.
- Su diseño distribuido se basa en Dynamo de Amazon y su modelo de datos en Big table de Google.
- Se crea en Facebook y se diferencia mucho de los sistemas de gestión de bases de datos relacionales.
Cassandra implementa un modelo de replicación estilo Dynamo sin un único punto de falla, pero agrega un modelo de datos de «familia de columnas» más poderoso. Cassandra está siendo utilizada por algunas de las empresas más grandes, como Facebook, Twitter, Cisco, Rackspace, eBay, Netflix y más.
El objetivo de diseño de Cassandra es manejar grandes cargas de trabajo de datos en múltiples Nodes sin ningún punto único de falla. Cassandra tiene un sistema distribuido peer-to-peer en sus Nodes y los datos se distribuyen entre todos los Nodes del clúster.
Todos los Nodes de Cassandra en un clúster juegan el mismo papel. Cada Node es independiente, al mismo tiempo interconectado con otros Nodes. Cada Node en un clúster puede aceptar requests de lectura y escritura, independientemente de dónde se encuentren realmente los datos en el clúster. Cuando un Node deja de funcionar, la solicitud de lectura/escritura se puede atender desde otros Nodes en la red.
Características de Cassandra:
Cassandra se ha hecho popular por sus características técnicas. Estas son algunas de las características de Cassandra:
- Fácil distribución de datos:
proporciona la flexibilidad para distribuir datos donde los necesite mediante la replicación de datos en varios centros de datos.
por ejemplo:
si hay 5 Nodes, digamos N1, N2, N3, N4, N5 y al usar el algoritmo de partición, decidiremos el rango del token y distribuiremos los datos en consecuencia. Cada Node tiene un rango de token específico en el que se distribuirán los datos. echemos un vistazo al diagrama para una mejor comprensión. - Almacenamiento de datos flexible:
Cassandra se adapta a todos los formatos de datos posibles, incluidos: estructurados, semiestructurados y no estructurados. Puede adaptarse dinámicamente a los cambios en sus estructuras de datos de acuerdo con sus necesidades. - Escalabilidad elástica:
Cassandra es altamente escalable y permite agregar más hardware para adaptarse a más clientes y más datos según los requisitos. - Escrituras rápidas:
Cassandra se diseñó para ejecutarse en hardware básico económico. Cassandra realiza escrituras increíblemente rápidas y puede almacenar cientos de terabytes de datos, sin sacrificar la eficiencia de lectura. - Arquitectura siempre activa:
Cassandra no tiene un único punto de falla y está continuamente disponible para aplicaciones críticas para el negocio que no pueden permitirse una falla. - Rápido rendimiento de escala lineal:
Cassandra es linealmente escalable, por lo tanto, aumenta su rendimiento a medida que aumenta la cantidad de Nodes en el clúster. Mantiene un tiempo de respuesta rápido. - Compatibilidad con transacciones:
Cassandra admite propiedades de transacciones como Atomicidad, Consistencia, Aislamiento y Durabilidad (ACID).
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA