Cassandra Tabla CQL: Ejemplo de creación, modificación y truncamiento

⚡ Resumen inteligente

Cassandra Las operaciones de tabla abarcan la creación, modificación y eliminación.pingy la truncación de familias de columnas con CQL. Esta página explica cada comando, las tres formas de clave primaria que determinan la distribución de datos y las diferencias entre eliminar filas y eliminar una tabla.

  • ???? ️ Crear tabla: Una tabla necesita un espacio de claves, definiciones de columnas y una cláusula de clave primaria que determine la distribución y el orden de clasificación.
  • 🔑 Clave primaria única: Una columna actúa como clave de partición, por lo que cada fila con ese valor se ubica en el mismo nodo.
  • 🧩 Clave primaria compuesta: La primera columna divide la partición, mientras que las columnas restantes agrupan y ordenan las filas dentro de la partición.
  • 🧮 Clave de partición compuesta: Al delimitar dos columnas, se divide una partición de gran tamaño en muchas más pequeñas.
  • ✏️ Modificar límites: Se pueden agregar o eliminar columnas, pero las columnas de clave primaria nunca se pueden modificar.
  • 🗑️ Drop vs Truncate: Drop elimina el esquema y los datos; truncate vacía todas las filas pero conserva la definición de la tabla.

Cassandra Tabla Crear Modificar Eliminar

La sintaxis de Cassandra El lenguaje de consulta (CQL) se asemeja a SQL idioma.

Cómo crear una tabla en Cassandra

Familia de columnas en Cassandra Es similar a la tabla RDBMS. La familia de columnas se utiliza para almacenar datos.

El comando 'Crear tabla' se utiliza para crear una familia de columnas en Cassandra.

Sintaxis

CREATE TABLE KeyspaceName.TableName (
    ColumnName DataType,
    ColumnName DataType,
    ColumnName DataType,
    PRIMARY KEY (ColumnName)
) WITH PropertyName = PropertyValue;

1. Clave primaria: Existen dos tipos de clave principal.

  • Clave primaria única: La clave principal única se especifica mediante la siguiente sintaxis.

Sintaxis

PRIMARY KEY (ColumnName)

En la clave principal única, solo hay una columna. Esa columna también se llama clave de partición. Los datos se dividen en función de esa columna. Los datos se distribuyen en diferentes nodos según la clave de partición.

2. Clave primaria compuesta: La clave principal compuesta se especifica mediante la siguiente sintaxis.

Sintaxis

PRIMARY KEY (ColumnName1, ColumnName2, ...)

En la sintaxis anterior, ColumnName1 es la clave de partición y ColumnName2 es la ClusterClave de ing. Los datos se particionarán en función de ColumnName1 y se agruparán en función de ColumnName2. Clustering es el proceso que clasifica los datos en la partición.

3. Clave de partición compuesta: La clave de partición compuesta se especifica mediante la siguiente sintaxis.

Sintaxis

PRIMARY KEY ((ColumnName1, ColumnName2), ColumnName3)

En la sintaxis anterior, ColumnName1 y ColumnName2 son la clave de partición compuesta. Los datos se particionarán según las columnas ColumnName1 y ColumnName2, y se agruparán según ColumnName3. Si hay demasiados datos en una sola partición, se utiliza una clave de partición compuesta. Esta clave se utiliza para crear múltiples particiones de datos.

  • Con cláusula

La “cláusula With” se utiliza para especificar cualquier propiedad y su valor para la tabla definida. Por ejemplo, si desea comprimir Cassandra Datos de la tabla. Puede configurar la propiedad de compresión especificando el valor de la propiedad del algoritmo de compresión en la cláusula "With". La misma cláusula también configura CLUSTERING ORDER BY para invertir la dirección de ordenación de una columna de agrupación y default_time_to_live para que cada fila caduque automáticamente.

Ejemplo

Aquí está la ejecución del comando "Crear tabla" que creará el nombre de la tabla "Estudiante" en el espacio de claves "Universidad".

Cassandra Crear mesa

CREATE TABLE University.Student (
    RollNo int,
    Name text,
    dept text,
    PRIMARY KEY (RollNo)
);

Tras ejecutar correctamente el comando 'Crear tabla', se creará la tabla 'Estudiante' en el espacio de claves 'Universidad' con las columnas Número de matrícula, Nombre y Departamento. Número de matrícula es la clave primaria. Además, Número de matrícula es una clave de partición, por lo que cada estudiante ocupa una partición independiente de una sola fila.

Cassandra Alterar la mesa

El comando 'Alterar tabla' se utiliza para eliminar columnas, agregar una nueva columna, alterar el nombre de la columna, alterar el tipo de columna y cambiar la propiedad de la tabla.

Sintaxis

A continuación se muestra la sintaxis del comando 'Alter Table'.

ALTER TABLE KeyspaceName.TableName
    ADD ColumnName ColumnDataType;

ALTER TABLE KeyspaceName.TableName
    DROP ColumnName;

ALTER TABLE KeyspaceName.TableName
    RENAME ColumnName TO NewColumnName;

ALTER TABLE KeyspaceName.TableName
    WITH PropertyName = PropertyValue;

Cada formulario se emite como una declaración separada. Se aplican dos restricciones en la actualidad. Cassandra Actualizaciones: el tipo de datos de una columna existente ya no se puede cambiar, y la función RENAME solo funciona en una columna de agrupación de la clave primaria.

Ejemplo

Aquí está la instantánea del comando "Alterar tabla" que agregará una nueva columna en la tabla Estudiante.

Cassandra Alterar la mesa

ALTER TABLE University.Student ADD Semester int;

Después de la ejecución exitosa del comando "Alterar tabla", se agregará una nueva columna "Semestre" con tipo de datos "int" a la tabla Estudiante.

Aquí está la captura de pantalla que muestra la tabla de Estudiantes actualizada.

Cassandra Alterar la mesa

Cassandra Tabla de caída

El comando 'Drop table' elimina la tabla especificada, incluyendo todos los datos del espacio de claves. Antes de eliminarping la mesa, Cassandra toma una instantánea de los datos, no del esquema, como copia de seguridad.

Sintaxis

DROP TABLE IF EXISTS KeyspaceName.TableName;

Ejemplo

Aquí está la instantánea del comando ejecutado "Eliminar tabla" que eliminará la tabla Estudiante del espacio de claves "Universidad".

Cassandra Tabla de caída

DROP TABLE University.Student;

Después de la ejecución exitosa del comando "Eliminar tabla", la tabla Estudiante se eliminará del espacio de claves Universidad.

Aquí está la instantánea que muestra el error devuelto por el Cassandra cuando intenté acceder a la tabla de estudiantes que no existe.

Cassandra Tabla de caída

Cassandra Truncar tabla

El comando 'Truncar tabla' elimina todos los datos de la tabla especificada. Antes de truncar los datos, Cassandra toma la instantánea de los datos como copia de seguridad.

Sintaxis

TRUNCATE KeyspaceName.TableName;

Ejemplo

Hay tres registros en la tabla Estudiante. Estos son los registros de la tabla.

Cassandra Truncar tabla

Aquí está la instantánea del comando ejecutado 'Truncar tabla' que eliminará todos los datos de la tabla Student.

Cassandra Truncar tabla

Después de la ejecución exitosa del comando "Truncar tabla", todos los datos se eliminarán de la tabla Student.

Aquí está la instantánea del estado de la base de datos donde no hay registros en la tabla Estudiante.

Cassandra Truncar tabla

La operación Truncate requiere que todos los nodos sean accesibles, ya que se ejecuta en todo el clúster a la vez. Si algún nodo está inactivo, la instrucción falla, lo cual es una medida de seguridad deliberada para evitar que queden datos incompletos.

Drop vs Truncate vs Delete en Cassandra

Existen tres comandos para eliminar datos, y elegir el incorrecto puede destruir un esquema o generar un problema de rendimiento.

Comando Lo que elimina Esquema mantenido Costo
TABLA DE GOTA Todas las filas y la definición de la tabla No Barato. Los archivos SSTable se guardan en una instantánea y luego se descartan.
TRUNCAR Todas las filas Sí: Es barato, pero requiere que todos los nodos estén activos. No se crean lápidas.
BORRAR Filas o columnas seleccionadas Sí: Costoso a gran escala. Cada remoción deja una marca que indica que debe omitirse hasta la compactación.

La regla práctica es preferir TRUNCATE a un DELETE masivo al borrar una tabla completa, porque miles de marcadores de eliminación ralentizarán cada lectura posterior de esa partición. La eliminación a nivel de fila se trata en el Insertar, actualizar y eliminar con CQL tutorial.

Preguntas Frecuentes

No. La clave primaria determina la ubicación física de los datos, por lo que queda fija al crear la tabla. Modificarla implica crear una nueva tabla con la clave deseada y migrar las filas.

Agregue WITH CLUSTERING ORDER BY (ColumnName DESC) al crear el esquema. Configurarlo en el esquema es mucho más económico que ordenar en cada consulta.

No. La columna se oculta a las consultas de inmediato, pero sus datos permanecen dentro de las tablas SSTable existentes hasta que la compactación las reescribe. El espacio se recupera gradualmente.

La lista de columnas se traduce correctamente, pero la IA suele conservar un identificador sustituto como clave de partición, lo que crea particiones de una sola fila. Reformule el patrón de consulta para que la clave se seleccione para las lecturas.

Sí, para problemas a nivel de patrón, como columnas de agrupación faltantes, particiones ilimitadas o columnas de colección que probablemente excedan los límites. Confirme con la cardinalidad real antes de actuar.

Resumir este post con: