Declaración por lotes en Cassandra

En este artículo, discutiremos la declaración BATCH, el buen y mal uso de la declaración BATCH y cómo podemos usar la declaración BATCH en particiones únicas y múltiples en Cassandra , que es compatible con Cassandra Query Language (CQL) . vamos a discutir uno por uno.

Podemos usar la declaración BATCH en particiones simples y múltiples que aseguran la atomicidad para ambas operaciones.

Entonces, tomemos un ejemplo.
Primero, creamos una tabla, a saber, bank_emp_data que tiene los campos Id, Name, emp_start_date, emp_end_date. Echemos un vistazo.

CREATE TABLE bank_emp_data(
E_id int,
Name text,
emp_start_date date, 
emp_end_date date,
PRIMARY KEY (E_id, Name)
); 

Ahora, aquí vamos a escribir datos en la tabla bank_emp_data sin usar la instrucción BATCH. Echemos un vistazo.

INSERT INTO bank_emp_data(E_id, Name, emp_start_date, emp_end_date) 
VALUES (1005, 'Ashish', '2019-12-05', '2025-12-05');

INSERT INTO bank_emp_data(E_id, Name, emp_start_date) 
VALUES (1006, 'Rana', '2019-12-05');

INSERT INTO bank_emp_data(E_id, Name, emp_end_date) 
VALUES (1007, 'shiv', '2020-12-05'); 

Para ver el resultado, utilizó la siguiente consulta CQL.

Select * 
From bank_emp_data; 

Producción:

Ahora, para actualizar una fila existente en la tabla bank_emp_data, use la siguiente consulta CQL que se proporciona a continuación.

Update bank_emp_data set emp_start_date = '2019-12-05' 
where E_id = 1007 and Name= 'shiv';  

Para ver la fila actualizada, utilizó la siguiente consulta CQL.

Select * 
from bank_emp_data; 

Producción:

Ahora, aquí estamos usando la declaración BATCH y también muestra cómo podemos hacer un buen uso de la declaración BATCH. Echemos un vistazo.

BEGIN BATCH
INSERT INTO bank_emp_data(E_id, Name, emp_start_date, emp_end_date) 
VALUES (1005, 'Ashish', '2019-12-05', '2025-12-05');

INSERT INTO bank_emp_data(E_id, Name, emp_start_date) 
VALUES (1006, 'Rana', '2019-12-05');

INSERT INTO bank_emp_data(E_id, Name, emp_end_date) 
VALUES (1007, 'shiv', '2020-12-05');

Update bank_emp_data set emp_start_date = '2019-12-05' 
where E_id = 1007 and Name= 'shiv'; 
APPLY BATCH; 

Ahora, veamos la salida de bank_emp_data usando la instrucción BATCH.

Select * 
from bank_emp_data; 

Lote de partición múltiple:
podemos escribir datos en diferentes tablas usando la declaración BATCH.

Entendamos con un ejemplo.

Tabla: Emp_data

create table Emp_data(
E_id int primary key,
Name text,
city text
); 

Tabla: Emp_data_copy

create table Emp_data_copy(
Name text primary key,
E_id int
); 

Ahora, estamos usando BATCH para insertar datos en diferentes tablas.

BEGIN BATCH
INSERT INTO Emp_data (E_id, Name, city) 
VALUES (101, 'Ashish', 'california');

INSERT INTO Emp_data_copy (Name, E_id) 
VALUES ('Ashish', 101);
APPLY BATCH; 

Ahora, veamos el resultado de la tabla Emp_data.

SELECT * 
FROM Emp_data;

Producción:

Ahora, veamos el resultado de la tabla Emp_data_copy.

SELECT * 
FROM Emp_data_copy;

Producción:

Publicación traducida automáticamente

Artículo escrito por Ashish_rana y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *