Trabajando con Partición en Cassandra

En este artículo, cubriremos cómo podemos hacer particiones según nuestros requisitos y cómo podemos manejar datos en tablas con clave de partición. Vamos a discutir uno por uno.

Requisito previo: descripción general del modelado de datos

Particionamiento para el modelado de datos:
la partición es el pequeño conjunto de filas donde puede decir que una tabla se divide en un pequeño subconjunto de la tabla que comparte la misma clave de partición en función de la partición.

Consideremos un ejemplo, en el que desea almacenar la información de inicio de sesión del usuario, como nombre de usuario, correo electrónico, contraseña e ID de correo electrónico, etc.

Nombre de columna Tipo de datos
Nombre_usuario texto
Correo_usuario texto
Usuario_contraseña texto
Usuario_ID UUID

Ahora, verá cómo puede decidir la clave de partición en función del acceso a la información del usuario o puede decir en qué orden desea dividir sus datos. Escribamos la consulta cqlsh para estos requisitos específicos.

Primero, simplemente cree el espacio de claves utilizando la siguiente consulta cqlsh de la siguiente manera.

CREATE KEYSPACE User_Info 
WITH 
REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 2 };

Para usar el espacio de claves creado anteriormente, use el siguiente comando cqlsh.

user User_Info;

Aquí, verá cómo puede crear la partición sobre la base de la tabla Usr_Info_by_email. Vamos a discutir uno por uno.

CREATE TABLE Usr_Info_by_email 
(
Usr_Name text, 
Usr_email text, 
Usr_password text, 
Usr_ID UUID, PRIMARY KEY(Usr_email)
);

En Cassandra, la creación de tablas es solo para manejar las consultas y depende de los casos de uso de su aplicación. En base a las consultas, simplemente defina la tabla según las necesidades de su aplicación.

Ahora, para insertar datos en la tabla, use la siguiente consulta cqlsh.

Insert into Usr_Info_by_email (Usr_Name, Usr_email, Usr_password, Usr_ID)
values ('Ashish', 'a@gmail.com', '123', uuid());
Insert into Usr_Info_by_email (Usr_Name, Usr_email, Usr_password, Usr_ID) 
values ('Aayush', 'ay@gmail.com', '124', uuid());
Insert into Usr_Info_by_email (Usr_Name, Usr_email, Usr_password, Usr_ID) 
values ('Ashish', 'as@gmail.com', '123', uuid());
Insert into Usr_Info_by_email (Usr_Name, Usr_email, Usr_password, Usr_ID) 
values ('Harsh', 'h@gmail.com', '125', uuid());

Producción :

cassandra@cqlsh:user_data> select * from usr_info_by_email;

usr_email    | usr_id                               | usr_name | usr_password
--------------+--------------------------------------+----------+--------------
 h@gmail.com | fa91d89e-a401-4f4e-93b4-2b6282af75e1 |    Harsh |          125
ay@gmail.com | a27c955f-ddc1-4134-a1fa-0f65fd175ce7 |   Aayush |          124
 a@gmail.com | 9982a5a9-14ff-4caa-a6d2-8d6790853e8c |   Ashish |          123
as@gmail.com | aaafc38b-7184-4f8e-a325-b43fedd91828 |   Ashish |          123
(4 rows)

Aquí, puede ver claramente en el ejemplo anterior cómo puede acceder y particionar sus datos en función del correo electrónico .

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 *