Consulta CQL útil en Cassandra

Requisito previo: Cassandra
En este artículo, analizaremos la consulta CQL, que es muy útil para crear, insertar, eliminar, manipular, filtrar datos, etc. Analicemos cómo podemos escribir la mejor consulta CQL para estas operaciones.

Cassandra Query Language (CQL) :
CQL se utiliza para crear, insertar y manipular datos en Cassandra . Lo principal a tener en cuenta sobre CQL es que no tiene el concepto de GRUPO o ÚNETE, y una implementación muy limitada de ORDER BY.

Creación de un espacio de claves

//keyspace with SimpleStrategy

create keyspace cluster1    
WITH replication = {'class': 'SimpleStrategy', 
                    'replication_factor' : 3};

//keyspace with NetworkTopologyStrategy

create keyspace cluster1
WITH replication = {'class': 'NetworkTopologyStrategy', 
                    'west' : 1, 'east' : 3}
AND durable_writes = false; 

Ahora, aquí vamos a crear una tabla web_info en la que url, user_id, net_location, visitor_info son los campos de la tabla.
Echemos un vistazo.

Creando una tabla:

CREATE TABLE web_info (
  url text,
  user_id uuid,
  net_location inet,
  visitor_info text,
  PRIMARY KEY (url, net_location)
) ; 

Insertar filas en la tabla:
Ahora, vamos a insertar algunos datos en la tabla.

Insert into web_info(url, user_id, net_location, visitor_info)
values('https://www.google.com', uuid(), '127.0.0.1', 'Ashish');   
 
Insert into web_info(url, user_id, net_location, visitor_info)
values('https://www.google.com', uuid(), '127.0.0.4', 'shivang');    
 
Insert into web_info(url, user_id, net_location, visitor_info)
values('https://www.yahoo.com', uuid(), '127.0.0.2', 'rana');

Insert into web_info(url, user_id, net_location, visitor_info)
values('https://www.geeksforgeeks.com', uuid(), '127.0.0.3', 'Ashish_rana'); 

Ahora, para verificar los resultados usando la opción LIMIT para un número específico de filas.

SELECT * 
FROM web_info LIMIT 3; 

Producción:

PERMITIR FILTRADO:
esta opción es muy útil en CQL, que tiene la capacidad de que el servidor filtre activamente los resultados.

uso de SELECCIONAR con PERMITIR FILTRADO:

SELECT *
FROM web_info
WHERE url='https://www.google.com'
AND net_location='127.0.0.1' AND visitor_info = 'Ashish'
ALLOW FILTERING; 

Producción:

Este ejemplo muestra cómo funciona ALLOW FILTERING en una consulta CQL para columnas sin particiones.
Echemos un vistazo.

SELECT *
FROM web_info
WHERE visitor_info = 'Ashish'
ALLOW FILTERING; 

Producción:

Para verificar los resultados de los datos insertados en la tabla web_info, se utilizó el siguiente CQL que se indica a continuación.

SELECT * 
FROM web_info; 

Producción:

Aquí, solo vamos a mostrar cómo la consulta BATCH CQL es útil en Cassandra. En el siguiente ejemplo, solo mostramos cómo podemos actualizar, eliminar e insertar datos en la tabla usando BATCH. Echemos un vistazo.

BEGIN BATCH
UPDATE web_info USING TTL 345600
SET visitor_info = 'Ashish rana'
WHERE url='https://www.google.com' and net_location = '127.0.0.1';


Delete visitor_info 
FROM web_info 
where url='https://www.google.com' and net_location = '127.0.0.1';
    
    
Insert into web_info(url, user_id, net_location, visitor_info)
values('https://www.geeksforgeeks.com', uuid(), '127.0.0.5', 'new_user');
APPLY BATCH; 

Ahora, para verificar los resultados de BATCH, use la siguiente consulta CQL que se proporciona a continuación.

select * 
from web_info; 

Producción:

Para configurar la columnavisitante_info, utilizó la siguiente consulta CQL que se proporciona a continuación.

UPDATE web_info 
SET visitor_info = 'login at academy portal'
WHERE url='https://www.google.com' and net_location = '127.0.0.1'; 

Ahora, para verificar los resultados, use la siguiente consulta CQL que se proporciona a continuación.

select * 
from web_info; 

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 *