GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo crear Keyspace en Cassandra

Introducción

Cassandra es un software para administrar bases de datos NoSQL. Las organizaciones lo utilizan para manejar grandes volúmenes de datos de forma distribuida. La popularidad de este software aumentó debido a su alta disponibilidad y tolerancia a fallas.

Para lograr esto, Cassandra pasó del concepto de nodos maestros o nombrados a nodos distribuidos P2P simétricos. Cada nodo en un clúster tiene uno o más espacios de claves que contienen datos.

En esta guía, aprenda qué es un espacio de claves, sus componentes y cómo crear, modificar y eliminar un espacio de claves.

Requisitos previos

  • Casandra instalado en su sistema
  • Acceso a una terminal o línea de comando
  • Permisos necesarios para ejecutar comandos CQL

¿Qué es un Keyspace en Cassandra?

Un espacio de claves es un contenedor de datos en Cassandra, similar a una base de datos en los sistemas de administración de bases de datos relacionales (RDMBS). Un clúster tiene un espacio de claves por aplicación, tantos como sea necesario, según los requisitos y el uso del sistema. Los espacios de claves son entidades completamente separadas y los datos que contienen no están relacionados entre sí.

En un clúster de Cassandra, un espacio de claves es un objeto más externo que determina cómo se replican los datos en los nodos. Los espacios de claves consisten en objetos centrales llamados familias de columnas (que son como tablas en RDBMS), filas indexadas por claves, tipos de datos, conocimiento del centro de datos, factor de replicación y estrategia de espacio de claves.

Componentes del espacio de claves de Cassandra

Hay algunos componentes esenciales del espacio de claves que debe especificar cuando crea un espacio de claves. Estos componentes son:

Estrategia de replicación

Al definir un espacio de claves, la estrategia de replicación especifica los nodos donde se colocarán las réplicas. Al usar múltiples nodos para colocar réplicas, logra tolerancia a fallas, alta disponibilidad y confiabilidad.

Hay dos estrategias posibles:

  1. Estrategia sencilla. Utilice esta estrategia para entornos de prueba y desarrollo, y si no tiene la intención de implementar un clúster en más de un centro de datos. El factor de replicación se aplica a todo el clúster. El particionador decide dónde colocar la primera réplica en un nodo. Luego, otras réplicas se distribuyen en el sentido de las agujas del reloj en los siguientes nodos, independientemente del centro de datos o la ubicación.
  2. Estrategia de topología de red. Esta estrategia es adecuada cuando necesita implementar su clúster en varios centros de datos. Sin embargo, puede usarlo incluso con un solo centro de datos para que pueda expandirse más adelante. La estrategia de topología de red funciona tanto para la producción como para el desarrollo. Tiende a colocar réplicas en nodos que no están en el mismo bastidor para evitar problemas cuando un bastidor deja de funcionar. Cada centro de datos puede tener un factor de replicación separado usando esta opción.

Factor de replicación

Esta configuración define cuántas réplicas de una fila almacenar en cada nodo.

El mínimo debe ser de dos réplicas por centro de datos. Esto significa que la falla de un nodo no afecta la operación de un grupo de replicación. Por lo tanto, la configuración recomendada es tener tres copias de cada fila en diferentes nodos para lograr una tolerancia a fallas satisfactoria.

La regla general es mantener el factor de replicación igual al número de nodos.

Sintaxis básica del espacio de claves

Puede crear un espacio de claves con diferentes configuraciones de replicación. A continuación se muestra la sintaxis básica para crear un espacio de claves:

CREATE KEYSPACE keypsace_name WITH replication = {properties};

Las propiedades incluyen diferentes configuraciones, como la estrategia de replicación, el factor o las escrituras duraderas.

Crear un espacio de claves usando Cqlsh

Para crear un espacio de claves, inicie el shell de CQL:

cqlsh

Luego, siguiendo la sintaxis básica, cree un espacio de claves con el nombre deseado y la configuración de replicación.

En este caso, crearemos test_keyspace con Estrategia Simple y factor_de_replicación 3 :

CREATE KEYSPACE test_keyspace
WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3};

Utilice el ejemplo anterior cuando no tenga la intención de expandirse a varios centros de datos. Además, si solo tiene un nodo y está utilizando Cassandra para realizar pruebas, puede establecer factor_de_replicación a 1 .

Para entornos de producción y múltiples centros de datos , cree un espacio de claves con la estrategia de replicación de topología de red.

Para hacerlo, ingrese:

CREATE KEYSPACE keyspace_network_topology
WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 3};

El nombre predeterminado del centro de datos es datacenter1 . Para verificar el nombre de su centro de datos, cierre el shell de CQL y use nodetool :

nodetool status

Si tiene varios centros de datos, enumérelos todos en la consulta con los factores de replicación respectivos.

Por ejemplo, la consulta de dos centros de datos se ve así:

CREATE KEYSPACE keyspace_network_topology
WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 3, 'datacenter2' : 3};

Verificar espacio de claves

Dado que no hay respuesta en la salida para la creación exitosa del espacio de claves, use este comando para verificar que el espacio de claves esté en la lista:

DESCRIBE KEYSPACES;

El sistema devuelve una lista de todos los espacios de claves de Cassandra disponibles. Resaltamos los dos espacios de teclas que creamos en los ejemplos anteriores. Hay un par de espacios de teclas predeterminados que vienen con la instalación de Cassandra.

Desactivar escrituras duraderas

En Cassandra, las durable_writes la configuración es verdadera por defecto. Puede deshabilitarlo, pero solo para NetworkTopologyStrategy . Esta opción le dice a Cassandra si debe usar commitlog para realizar actualizaciones en el espacio de claves seleccionado.

Cuando intenta deshabilitar durable_writes al crear un espacio de claves con SimpleStrategy, recibe una advertencia para que no lo haga. La razón es que puede perder sus datos si no sincronizó los datos de memtable a estable y su centro de datos falla.

Para deshabilitar durable_writes mientras crea un espacio de claves, ingrese esta consulta:

CREATE KEYSPACE keyspace_durwrites
WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 3}
AND DURABLE_WRITES = false;

Verificar escrituras duraderas

Puede comprobar la consulta que se utilizó durante la creación del espacio de claves describiendo el espacio de claves. Las grabaciones_duraderas parte también aparece:

DESCRIBE keyspace_durwrites

Para comprobar las durable_writes configuración para todos los espacios de claves, consulta system_schema :

SELECT * FROM system_schema.keyspaces;

El resultado muestra todos los espacios de teclas y sus configuraciones, incluidas durable_writes .

Uso del espacio de teclas

Para seleccionar un espacio de teclas en Cassandra y realizar acciones en él, use la palabra clave USE .

La sintaxis es:

USE keyspace_name

Por ejemplo:

USE keyspace_durwrites;

El shell de CQL cambia al nombre del espacio de claves que especificó. Para cambiar el espacio de teclas actual, use el mismo comando con otro nombre.

Alterar espacio de teclas

Después de crear un espacio de claves, puede cambiar la configuración usando la palabra clave ALTER .

Lo único que no puede cambiar es el nombre del espacio de claves . Aparte de eso, puede modificar la estrategia de replicación, el factor de replicación y las escrituras duraderas.

Para modificar un espacio de teclas, siga la misma sintaxis que cuando lo creó, pero use ALTER en lugar de CREATE . Cambia los valores que quieras.

Por ejemplo:

ALTER KEYSPACE keyspace_durwrites
WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 2}
AND DURABLE_WRITES = true;

Para verificar que los cambios surtieron efecto, use el DESCRIBE palabra clave:

La imagen de arriba muestra la configuración del espacio de claves antes y después del cambio.

Eliminar o eliminar Keyspace

Si suelta un espacio de claves, se eliminará del sistema. El DROP La palabra clave elimina todas las familias de columnas del espacio de claves, así como los índices y los tipos de datos.

Para eliminar un espacio de claves en Cassandra, use esta sintaxis:

DROP keyspace_name;

Por ejemplo:

DROP keyspace_durwrites;

Para asegurarse de que eliminó el espacio de claves, use el DESCRIBE consulta.


Cent OS
  1. Cómo crear una tabla en Hive

  2. Cómo crear un subdominio

  3. Cómo crear un subdominio

  4. Cómo crear un usuario sudo en CentOS 7

  5. Cómo crear un optimizador de datos virtuales (VD0) en CentOS/RHEL 7 y 8

Cómo crear un usuario Sudo en CentOS

Cómo instalar Apache Cassandra en CentOS 6

Cómo instalar Textpattern en CentOS 7

Cómo instalar Cassandra en CentOS 7

Cómo crear un sistema de archivos XFS

Cómo crear y administrar dominios de almacenamiento en RedHat Virtualization (RHV)