Como muchos de ustedes ya lo sabrán, hoy en día las bases de datos pueden ser clasificadas en dos grupos: Relacionales y NoSQL (No Relacionales).
Cassandra es una base de datos Open Source NoSQL que se puede descargar desde el sitio oficial de Cassandra. Algunas de sus principales características son:
- Open Source: Significa que no tiene costo y es mantenida por la comunidad de usuarios para su crecimiento y mejora por Apache Software Foundation.
- NoSQL: No se basa en tablas relacionadas con índices referenciados, sino en entidades «ColumnFamilies» con un esquema clave valor, igual que TableStorage de Microsoft Azure.
- Distribuida: Preparada para trabajar con nodos a gran escala e información en crecimiento con Big Data.
- Multiplataforma: Puede ser administrada desde Windows, Linux, OS X.
- Frameworks: Soporta una gran cantidad de lenguajes de programación como: C/C++, C#, Java, JavaScript, PHP, Python, Ruby, entre otros más.
- Lenguaje de consultas: Internamente Cassandra implementa CQL (Cassandra Query Language) un lenguaje muy parecido a SQL.
Cassandra se encuentra como otro servicio más en la nube de Microsoft Azure, a continuación, veremos como como podemos administrar una base de datos Cassandra como servicio de la nube de Microsoft.
Lo primero que debemos de hacer es entrar al portal de Microsoft Azure (portal.azure.com) y autenticarnos, enseguida buscar el servicio de Cassandra desde el Market Place de Azure:
Lo que sigue es configurar nuestro servicio, cabe destacar que Cassandra, se utilizará desde una máquina virtual pre configurada con sistema operativo “Linux” a la cual haremos referencia como un servidor desde otra aplicación cliente.
El tamaño de la máquina virtual irá en función de nuestras necesidades y requerimientos, para fines prácticos yo estoy seleccionando la más básica.
Parámetros de red pueden ser configurados también a conveniencia, en esta ocasión tomo los valores por defecto. Lo importante aquí es dejar abierta la posibilidad de conectarnos hacia CQL de Cassandra con un grupo de seguridad.
El paso cuatro solamente es un resumen de todos los ajustes que le hicimos a la máquina virtual, si todo está bien presionamos el botón de “Aceptar”.
Lo que sigue son los términos de uso y aclaraciones, podemos leerlos y continuamos con el proceso dando clic en “Adquirir”.
Hasta este punto tenemos creada completamente nuestra máquina virtual con el gestor Cassandra desde Microsoft Azure, lo que sigue es descargar el cliente de DataStax DevCenter para crear y administrar nuestra base de datos, puedes hacer clic aquí para descargarlo.
Ya que tenemos instalado DataStax DevCenter necesitamos obtener la contraseña del gestor de Cassandra, para ello tomamos la dirección IP de nuestra máquina virtual y nos conectaremos a ella desde Putty (puesto que esta basada en Linux).
Para obtener la contraseña de la base de datos del gestor Cassandra, debemos ejecutar un comando en la consola de Linux, el cual es: vim /opt/bitnami/var/log/pre-start.log
Ahora copiamos la contraseña devuelta y configuramos DataStax DevCenter para poder administrar nuestra base de datos Cassandra:
En muchas ocasiones se utiliza el usuario admin/root. En este caso el usuario por defecto siempre será «cassandra».
Ahora procederemos a crear una base de datos junto con una colección y algunas de las principales operaciones CRUD:
[ Crear la base de datos ]
[ Almacenar información ]
La estructura para almacenar información es «insert into Table(ColumnA, ColumnB) values (ValueA, ValueB);».
[ Encontrar Información ]
La estructura para encontrar información es «select columns from Table;».
[ Actualizar Información ]
La estructura para actualizar información es «update Table set FieldA = ValueA where FieldB = ValueB;».
[ Eliminar Información ]
La estructura para eliminar información es «delete from Table where FieldA = ValueA;».
Las operaciones anteriores son tan solo las mas básicas que se pueden hacer en Cassandra de manera sencilla, para una amplia referencia acerca de Cassandra, puedes visitar el sitio oficial.
Cabe destacar que Cassandra no es una base de datos relacional y aunque las consultas de información sean bastante parecidas a las de una base de datos SQL tradicional, internamente trabajan a nivel Clave, Valor.
Abajo expongo una modelación de datos con Cassandra:
Sígueme en Twitter @vmorenoz
¿Te gustó este artículo? Únete a Facebook en MicrosoftLand