Mostrando entradas con la etiqueta Componentes clave para la configuración de Cassandra. Mostrar todas las entradas
Mostrando entradas con la etiqueta Componentes clave para la configuración de Cassandra. Mostrar todas las entradas

miércoles, 15 de enero de 2014

Apache Cassandra



Arquitectura de Cassandra.


      Cassandra está diseñada para cargas de trabajo grandes a través de múltiples nodos sin ningún punto único de fallo,  su arquitectura se basa en el entendimiento que puede ocurrir un fallo en los servidores o los sistemas, Cassandra afronta este problema mediante el uso de sistema de replicación peer-to-peer, Cassandra se basa en que todos los nodos son iguales y los datos se distribuyen entre  todos los nodos del clúster. En cada segundo se hace un intercambio de información entre los nodos del clúster. En cada nodo se registra la confirmación de la actividad de captura o persistencia con la finalidad de asegurar la durabilidad e integridad de los datos.

      Los datos se escriben en una estructura en la memoria RAM llamada “Memtable” y posteriormente escribe en disco en un archivo de datos llamado “SSTable” este proceso se lleva a cabo una vez que la memoria está llena, todas las escrituras se distribuyen automáticamente entre todos los nodos del clúster.

     Cassandra es una base de datos por filas, la arquitectura de Cassandra  permite a cualquier usuario autorizado para conectarse a cualquier nodo del clúster o datacenter y a también tiene acceso a utilizar el lenguaje CQL. CQL utiliza lenguaje muy similar a SQL. Desde la prespectiva de CQL los “KeySpaces” representan una “Base de Datos” que contiene “FamilyColumn” represetadas como tablas.


       En la arquitectura de Cassandra todas las solicitudes del cliente leer o escribir pueden ir a cualquier nodo del clúster, cuando un cliente se conecta a un nodo con una solicitud, este nodo se convierte coordinador para la solicitud  del cliente en particular. El coordinador  actúa como un proxy entre la aplicación del cliente y los nodos que son dueños de los datos que solicitan. El coordinador determina qué nodos del anillo deben revivirla solicitud en función de cómo estén configurado el clúster.

ver también
Componentes clave para la configuración de Cassandra

Configuración de Cassandra


Componentes clave para la configuración de Cassandra





Gossip: (Chisme) Protocolo de comunicación  Peer-to-Peer para describir y compartir la ubicación de la información acerca de los otros nodos en el clúster de cassandra.
La información Gossip también se genera localmente en cada nodo para su uso inmediato.

Partitioner: (Particionamiento)  Es una herramienta para particionar y determina la forma de distribución de la información entre los nodos del clúster de cassandra. La elección de una herramienta de particionamiento determina que copia de datos va sobre que nodo.

Replica Placement Strategy: (Replicas) Cassandra almacena réplicas de datos en múltiples nodos para garantizar la fiabilidad y tolerancia a fallos, una estrategia de réplica determina en que nodo colocar la copias de la información. Cuando se crea un KeySpace se determina la estrategia de réplica y el número de réplicas que desea.

Snitch: (soplón)  un soplón define la estrategia de replicación en una topologia de reds, un soplón sirve para administrar la distribución eficiente de las solicitudes.
Es necesario configurar un soplón al crear un clúster, el soplón es responsable de conocer la ubicación de los nodos en topología de red y coordinar las réplicas entre nodos de otros datacenter  o rack.

Cassandra.yaml: Es el archivo de configuración principal de cassandra. En este archivo, se establecen las propiedades de inicialización para el clúster, parámetros de almacenamiento de las tablas en caché, configuración de la utilización de los recursos y ajustes, configuración de los tiempos de espera, conexiones de clientes, configuración de las propiedades de los respaldos, y la configuración de la seguridad.