Cassandra ArchiFactor de tecnología y replicación

Cassandra está diseñado para manejar Big Data. CassandraLa característica principal de es almacenar datos en múltiples nodos sin un único punto de falla.

La razón de este tipo de CassandraLa arquitectura de 's era tal que la falla del hardware podía ocurrir en cualquier momento. Cualquier nodo podía dejar de funcionar. En caso de falla, se podían utilizar los datos almacenados en otro nodo. Por lo tanto, Cassandra está diseñado con su arquitectura distribuida.

Cassandra almacena datos en diferentes nodos con una arquitectura distribuida de igual a igual.

Todos los nodos intercambian información entre sí mediante Protocolo de chismes. El chisme es un protocolo en Cassandra mediante el cual los nodos pueden comunicarse entre sí.

Componentes de Cassandra Architectura

Hay los siguientes componentes en el Cassandra Architectura:

Cassandra Architectura
Cassandra ArchiDiagrama de tecnología

Nodo

El nodo es el lugar donde se almacenan los datos. Es el componente básico de Cassandra.

Data Center

Un conjunto de nodos se denomina centro de datos. Muchos nodos se clasifican como centros de datos.

Cluster

El clúster es la colección de muchos centros de datos.

Registro de confirmación

Cada operación de escritura se escribe en el registro de confirmación. El registro de confirmación se utiliza para la recuperación de fallos.

tabla de memoria

Después de escribir los datos en el registro de confirmación, los datos se escriben en la tabla de memoria. Los datos se escriben temporalmente en la tabla Mem.

SSTable

Cuando Mem-table alcanza un cierto umbral, los datos se descargan en un archivo de disco SSTable.

Replicación de datos en Cassandra

Como pueden ocurrir problemas de hardware o el enlace puede fallar en cualquier momento durante el proceso de datos, se requiere una solución para proporcionar una copia de seguridad cuando ocurra el problema. Por lo tanto, los datos se replican para garantizar que no haya ningún punto único de falla.

Cassandra coloca réplicas de datos en diferentes nodos en función de estos dos factores.

  • Dónde colocar la siguiente réplica está determinado por el Estrategia de replicación.
  • Si bien el número total de réplicas colocadas en diferentes nodos está determinado por el Factor de replicación.

Un factor de replicación significa que hay solo una copia de los datos, mientras que tres factores de replicación significa que hay tres copias de los datos en tres nodos diferentes.

Para garantizar que no haya un único punto de fallo, El factor de replicación debe ser tres.

Hay dos tipos de estrategias de replicación en Cassandra.

Estrategia Simple en Cassandra

SimpleEstrategia Se utiliza cuando solo se tiene un centro de datos. SimpleStrategy coloca la primera réplica en el nodo seleccionado por el particionador. Después de eso, las réplicas restantes se colocan en el sentido de las agujas del reloj en el anillo de nodos.

Aquí está la representación pictórica de SimpleStrategy:

Estrategia Simple en Cassandra
Estrategia Simple en Cassandra

Estrategia de topología de red en Cassandra

RedTopologíaEstrategia Se utiliza cuando hay más de dos centros de datos. En NetworkTopologyStrategy, las réplicas se configuran para cada centro de datos por separado. NetworkTopologyStrategy coloca las réplicas en el sentido de las agujas del reloj en el anillo hasta que llega al primer nodo en otro rack. Esta estrategia intenta colocar réplicas en diferentes racks en el mismo centro de datos.

Esto se debe a que a veces pueden ocurrir fallas o problemas en el bastidor. Entonces las réplicas en otros nodos pueden proporcionar datos.

Aquí está la representación gráfica de la estrategia de topología de red:

Estrategia de topología de red en Cassandra
Estrategia de topología de red en Cassandra

Escribe. Operación en Cassandra

El coordinador envía una solicitud de escritura a las réplicas. Si todas las réplicas están activas, recibirán una solicitud de escritura independientemente de su nivel de coherencia.

Nivel de consistencia determina cuántos nodos responderán con el reconocimiento de éxito.

El nodo responderá con el reconocimiento de éxito si los datos se escriben correctamente en el registro de confirmación y memTable.

Por ejemplo, en un único centro de datos con un factor de replicación igual a tres, tres réplicas recibirán una solicitud de escritura. Si el nivel de coherencia es uno, solo una réplica responderá con el reconocimiento de éxito y las dos restantes permanecerán inactivas.

Supongamos que si las dos réplicas restantes pierden datos debido a caídas de nodos o algún otro problema, Cassandra hará que la fila sea consistente mediante el mecanismo de reparación incorporado en Cassandra.

Aquí se explica cómo ocurre el proceso de escritura en Cassandra,

  1. Cuando la solicitud de escritura llega al nodo, en primer lugar, se registra en el registro de confirmación.
  2. Entonces Cassandra Escribe los datos en la tabla de memoria. Los datos escritos en la tabla de memoria en cada solicitud de escritura también se escriben en el registro de confirmación por separado. La tabla de memoria son datos almacenados temporalmente en la memoria, mientras que el registro de confirmación registra los registros de transacciones con fines de copia de seguridad.
  3. Cuando la tabla de memoria está llena, los datos se vacían en el archivo de datos SSTable.
Escribe. Operación en Cassandra
Escribe. Operación en Cassandra

Leer Operación en Cassandra

Hay tres tipos de solicitudes de lectura que un coordinador envía a las réplicas.

  1. Solicitud directa
  2. Solicitud de resumen
  3. Leer solicitud de reparación

El coordinador envía una solicitud directa a una de las réplicas. Después de eso, el coordinador envía la solicitud de resumen al número de réplicas especificadas por el nivel de coherencia y verifica si los datos devueltos son datos actualizados.

Después de eso, el coordinador envía una solicitud de resumen a todas las réplicas restantes. Si algún nodo proporciona un valor desactualizado, una solicitud de reparación de lectura en segundo plano actualizará esos datos. Este proceso se llama mecanismo de reparación de lectura.

Resumen

  • Este tutorial explica el Cassandra arquitectura interna y como Cassandra replica, escribe y lee datos en diferentes etapas.
  • Además, aquí se explica cómo Cassandra mantiene el nivel de consistencia durante todo el proceso.
  • Componentes de Cassandra Architectura: Nodo, Centro de Datos, Cluster, Registro de confirmación, tabla de memoria, SSTable
  • Un factor de replicación significa que hay solo una copia de los datos, mientras que tres factores de replicación significa que hay tres copias de los datos en tres nodos diferentes.
  • SimpleStrategy se utiliza cuando solo tienes un centro de datos.
  • NetworkTopologyStrategy se utiliza cuando tiene más de dos centros de datos.