El BigData parece que cada día toma mas fuerza y cada vez salen más bases de datos NoSQL al mercado, todas intentan posicionarse en cabeza para ser la referente. Esta semana he probado ArangoDB ¿Otra base de datos NoSQL más? Hoy os voy a contar que me ha parecido ArangoDB.
A la hora de trabajar con documentos, MongoDB, CouchBase o Cassandra parecen estar a la cabeza, existen otras base de datos NoSQL orientada a grafos como pueden ser Neo4j o Horton. Quizas ArangoDB no sea tan popular como éstas pero no por ello quiere decir que sea peor. Una cosa que me ha llamado la atención de este motor de base de datos NoSQL es que combina el modelo de datos de documentos (key - values) y grafos.
INSTALACION
Para su instalación, nos diigimos al portal ArangoDB y alli puedes ver como tienes la posibilidad de elegir cualquiera de los sitemas operativos más populares, incluso en Raspbian, el sistema operativo para Raspberry Pi. La última versión estable es la 2.2.6.
Yo he decidido a instalarla en Ubuntu, al selecionar en la imagen del sistema operativo, te explica los pasos de instalación, la cual es muy simple y sencilla, no necesitas estar pendiente de dependencias, paquetes... Una vez instalada en la propia consola nos aparece un resumen de como empezar, algo de agradecer.
ADMINISTRACIÓN
En la propia instalación nos levanta un servidor web al que podemos acceder a traves de la url http://localhost:8530, al acceder lo primero que vemos son graficas de rendimiento, algo que podemos encontrar en CouchBase pero no MongoDB la cual utiliza el sistema MMS a través de sus servidores, para algunos puede ser una ventaja, pero otros no.
Desde la propia herramienta tenemos la posibilidad de crear base de datos, colecciones, documentos, grafos y e incluso importar ficheros json, entre otras cosas.
Voy a ir creando una colección y documentos para que veais, la sencillez de la interfaz.
Para crear un documento tenemos dos opciones de visualización, a nivel de código introduciendo manualmente los campos o arbol en el cual en cada fila nos va apareciendo la pareja de key -> value, tal y como podeis observar en la siguiente imagen.
En la colección nos aparecen el listado de documento que disponemos.
Voy a probar a importar un fichero JSON, para ello voy a eliminar el documento creado anteriormente.
La importación la realiza de manera rapido mostrandonos el listado de todos los documentos.
CONSOLA
Ahora vamos a acceder a la consola a través de la herramienta arangosh.
Justo nada más entrar ya nos muestra la version que estamos usando, el engine de JavaScript, como acceder al portal de administración web y como podemos ver el listado de comandos de ejemplo con help. Voy a probar a mostrar las colecciones que tengo.
CONCLUSIÓN
ArangoDB nos parece una base de datos NoSQL bastante completa, lo que mas me ha gustado es los pocos recursos que necesita, claro esta que la carga que he usado ha sido minima, pero viendo que se puede instalar en Raspbian da una idea de que los recursos que puede consumir. Su interfaz web de administración es todo un acierto, sencilla, intuitiva y liviana.
Para las query usa un lenguaje llamado ArangoDB Query Language (AQL) que usa una estructura parecida al SQL, algo que me parece indispensable para las base de datos NoSQL.
Quizas estaria bien poder elegir si activar el servidor web a la hora de instalarse, en entornos de producción con varios nodos a lo mejor te interesa tener serado el GUI de administración de los motores de base de datos.
Quedaría realizar pruebas de carga para ver como se comportaria realmente este motor de Base de datos NoSQL, pero lo poco que he visto ME GUSTA.