Sistema de almacenamiento Apache Cassandra 3
El sistema de almacenamiento Apache Cassandra 3 es un sistema de almacenamiento distribuido de valor clave de código abierto. Originalmente fue desarrollado por Facebook para almacenar cantidades de datos particularmente grandes.
Características principales
1. Distribuido
La característica principal de Cassandra es que no es una base de datos única, sino un servicio de red distribuido compuesto por un grupo de nodos de base de datos. Las operaciones de escritura en Cassandra se replican en otros nodos, mientras que las operaciones de lectura se enrutan a un nodo específico para su lectura.
2. Estructuración basada en columnas
Cassandra utiliza un modelo de datos basado en columnas, similar al BigTable de Google. Este modelo permite a los usuarios almacenar y consultar datos según sea necesario sin tener que definir toda la estructura de datos de antemano.
3. Alta elasticidad
Cassandra es altamente escalable y se pueden agregar nodos fácilmente para expandir la capacidad del clúster sin reiniciar ningún proceso, cambiar consultas de aplicaciones o migrar datos manualmente.
Características de Cassandra en comparación con otras bases de datos.
Cassandra es una base de datos híbrida no relacional, similar a BigTable de Google. Tiene funciones más ricas que Dynomite (sistema de almacenamiento distribuido de valores clave), pero su soporte no es tan bueno como el almacenamiento de documentos MongoDB (entre una base de datos relacional y una no relacional). base de datos relacional). Un producto de código abierto entre las bases de datos relacionales, es el más rico en funciones entre las bases de datos no relacionales y es más similar a una base de datos relacional. La estructura de datos admitida es muy flexible y tiene un formato bjson similar a json. puede almacenar tipos de datos más complejos).
Cassandra fue desarrollada originalmente por Facebook y luego se convirtió en un proyecto de código abierto. Es muy adecuado para las necesidades de bases de datos en la computación en la nube social en red. Se basa en Dynamo, totalmente distribuido, propiedad de Amazon, y combina el modelo de datos basado en familias de columnas de Google BigTable. El almacenamiento descentralizado P2P puede denominarse Dynamo 2.0 en muchos aspectos.
En comparación con otras bases de datos, Cassandra tiene las siguientes características destacadas:
1. Flexibilidad de esquema: con Cassandra, al igual que con un almacén de documentos, no es necesario determinar los campos de un registro de antemano. Puede agregar o eliminar campos a voluntad mientras el sistema se está ejecutando. Esta es una enorme ganancia de eficiencia en implementaciones grandes.
2. Verdadera escalabilidad: Cassandra es escalable horizontalmente en un sentido puro. Para agregar más capacidad al clúster, simplemente apunte a otra máquina. No es necesario reiniciar ningún proceso, cambiar las consultas de la aplicación ni migrar manualmente ningún dato.
3. Identificación de múltiples centros de datos: puede ajustar el diseño del nodo para evitar fallas en un centro de datos. El centro de datos de respaldo contendrá al menos una copia completa de cada registro, lo que garantizará la seguridad de los datos.
Otras funciones
Además de las características principales mencionadas anteriormente, Cassandra también ofrece algunas otras características:
1. Consulta de rango: si no desea realizar todas las consultas de valores clave, puede configurar el rango de claves para consultar.
2. Estructura de datos de lista: en modo mixto, se pueden agregar supercolumnas a la estructura de datos de cinco dimensiones. Esto es muy conveniente para la indexación por usuario.
3. Operaciones de escritura distribuida: Cassandra le permite leer o escribir de forma centralizada cualquier dato en cualquier lugar, en cualquier momento, sin ningún punto único de falla.
Resumir
Apache Cassandra 3 es un potente sistema de almacenamiento distribuido de valores clave de código abierto que proporciona alta escalabilidad, flexibilidad de esquema y confiabilidad, lo que lo hace ideal para aplicaciones que necesitan almacenar y procesar grandes cantidades de datos.