Categorías
Techies

3 – Cassandra DB, Crear una Base de Datos

Voy a dar por hecho que sabes SQL y que tienes experiencia al menos básica con bases de datos relacionales(MySQL, SQL Server, Oracle, o la que sea). Vamos a ver que las queries son muy similares.

Vamos conectarnos al cliente CQL para empezar. Si seguiste los pasos de instalación del capítulo anterior, estarás en un entorno de pruebas de un único nodo. Buena opción para tener un primer contacto con Cassandra.

cqlsh

Haciendo una equivalencia con una base de datos relacional, un KEYSPACE es algo así como una base de datos. En una base de datos relacional haríamos algo así:

CREATE DATABASE my_db

En Cassandra tendrás que escribir lo siguiente:

CREATE KEYSPACE my_ks WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 1};

En nuestro caso al tener un solo nodo, el factor de replicación será 1.

Vamos a crear una tabla de mensajes con un identificador único que hará de clave primaria, una columna con el texto del mensaje y un campo de fecha:

CREATE TABLE messages (
id int,
message text,
date timeuuid,
PRIMARY KEY (id));

Ahora vamos a insertar nuestro primeros valores.

INSERT INTO messages(id,message,date) values (1,'Hola, es el primer mensaje.',now());
INSERT INTO messages(id,message,date) values (2,'Segundo mensaje',now());

Al contrario que en bases de datos relacionales, si insertamos un mensaje con una clave existente, el mensaje se actualizará. Hará un UPDATE.

Pero por supuesto tenemos la sentencia UPDATE. Tanto INSERT como UPDATE harán lo mismo.

UPDATE messages SET message='Primer mensaje modificado.' WHERE id=1;

Podemos borrar un mensaje con DELETE:

DELETE FROM messages WHERE id= 2;

Y ya está. Puedes encontrar más información sobre CQL en la documentación oficial (enlace aquí)

En un próximo capítulo podemos crearnos un entorno de prueba más realista con varios nodos. Si os parece interesante lo haré.

2 respuestas a «3 – Cassandra DB, Crear una Base de Datos»

Deja una respuesta

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