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