ArangoDB, un sistema de base de datos NoSQL gratuito

About ArangoDB

En el siguiente artículo vamos a echar un vistazo a cómo se puede instalar de forma sencilla ArangoDB en Ubuntu 20.04. Para aquellos que no lo sepan, este es un sistema de base de datos NoSQL de código abierto, y que se administra fácilmente mediante la interfaz web integrada o la interfaz de línea de comandos.

ArangoDB es un sistema de base de datos multimodelo nativo de código abierto y gratuito desarrollado por ArangoDB GmbH. El sistema de base de datos admite tres modelos de datos (clave / valor, documentos, gráficos) con un núcleo de base de datos y un lenguaje de consulta unificado AQL (ArangoDB Query Language). Este lenguaje de consulta es declarativo y permite la combinación de diferentes patrones de acceso a datos en una sola consulta. ArangoDB es un sistema de base de datos NoSQL, pero AQL (ArangoDB Query Language) es similar en muchos aspectos a SQL.

Características generales de ArangoDB

  • Este sistema de base de datos cuenta con una versión Comunitaria y un versión Enterprise, que requiere de licencia.
  • ArangoDB proporciona consultas escalables cuando se trabaja con datos gráficos.
  • La base de datos usa JSON como formato de almacenamiento predeterminado. Internamente usa VelocyPack de ArangoDB, un formato binario rápido y compacto para serialización y almacenamiento.
  • Este sistema de base de datos puede almacenar de forma nativa un objeto JSON anidado como una entrada de datos dentro de una colección. Por lo tanto, no es necesario desensamblar los objetos JSON resultantes. Los datos almacenados simplemente heredarían la estructura de árbol de los datos JSON.
  • ArangoDB funciona en un clúster distribuido y está certificado para el sistema operativo del centro de datos (DC / OS). DC / OS permite al usuario implementar ArangoDB en la mayoría de los ecosistemas existentes: Amazon Web Services (AWS), Google Compute Engine y Microsoft Azure. Además, proporciona una implementación con un solo clic para el clúster del usuario.
  • ArangoDB ofrece integración con microservicios JavaScript nativos directamente en la parte superior del DBMS
  • utilizando el marco Foxx, que es análogo a Node.js.
  • Tiene su propio AQL (ArangoDB Query Language) y también proporciona GraphQL para escribir servicios web nativos flexibles directamente sobre el DBMS.
  • ArangoSearch es una nueva función de motor de búsqueda en la versión 3.4. El motor de búsqueda combina capacidades de recuperación booleana con componentes de clasificación generalizados que permiten la recuperación de datos basada en un modelo de espacio vectorial preciso.

Instalar ArangoDB en Ubuntu 20.04

La instalación es bastante simple. A continuación vamos a ver cómo instalar ArangoDB en Ubuntu 20.04. Antes de comenzar, vamos a asegurarnos de que todos los paquetes de nuestro sistema están actualizados y que disponemos de algunos otros necesarios para proceder a la instalación. Esto lo conseguiremos abriendo una terminal (Ctrl+Alt+T) y ejecutando en ella los comandos:

instalar dependencias

sudo apt update; sudo apt upgrade

sudo apt install curl apt-transport-https

Instalar ArangoDB

Para empezar vamos a ejecutar el siguiente comando para añadir el repositorio necesario para proceder a la instalación:

echo 'deb https://download.arangodb.com/arangodb34/DEBIAN/ /' | sudo tee /etc/apt/sources.list.d/arangodb.list

Continuaremos importando la clave GPG utilizada para firmar los paquetes:

add repo arangodb

wget -q https://download.arangodb.com/arangodb34/DEBIAN/Release.key -O- | sudo apt-key add -

Después de esto, ya podemos instalar el software ArangoDB:

instalar arangodb

sudo apt update; sudo apt install arangodb3

Durante la instalación, se nos pedirá que escribamos la contraseña de root.

configuración password root

Si por algún motivo no podemos establecer la contraseña de root durante la instalación, podremos proteger ArangoDB después de la instalación ejecutando:

sudo arango-secure-installation

Una vez completada la instalación, vamos a iniciar el servicio y a habilitarlo para que se inicie al reiniciar el sistema con el siguiente comando:

sudo systemctl start arangodb3

sudo systemctl enable arangodb3

Accediendo al Shell

ArangoDB viene con una utilidad de línea de comandos desde la que podremos administrar las bases de datos. Podremos conectarnos al shell con el comando:

iniciar shell

arangosh

Aquí ya podemos crear una base de datos, que pare este ejemplo voy a llamar mydb, con el siguiente comando:

crear db

db._createDatabase("mydb");

Continuaremos creando un usuario de base de datos con los comandos:

crear usuario

var users = require("@arangodb/users");

users.save("nombre-de-usuario@localhost", "tu-password");

A continuación, vamos a conceder todos los privilegios necesarios sobre la base de datos mydb:

conceder privilegios

users.grantDatabase("nombre-de-usuario@localhost", "mydb");

Ahora ya podemos salir del shell escribiendo:

salir de arangodb

exit

Acceso a la interfaz web

El servidor ArangoDB viene con una interfaz web incorporada para su administración. Esta permite administrar bases de datos, colecciones, documentos, usuarios, gráficos, ver estadísticas del servidor y mucho más. Podremos configurarla editando el archivo /etc/arangodb3/arangod.conf:

vim /etc/arangodb3/arangod.conf

Dentro del archivo vamos a buscar la línea:

endpoint = tcp://127.0.0.1:8529

Y la vamos a reemplazar con la siguiente línea:

cambiar ip configuración arangodb

endpoint = tcp://dirección-ip-de-tu-servidor:8529

Tras esto, ya podemos guardar y salir del archivo. Ahora vamos a reiniciar el servicio ArangoDB:

sudo systemctl restart arangodb3

Después, solo nos queda abrir nuestro navegador web y dirigirnos a http://dirección-ip-de-tu-servidor:8529, donde veremos la pantalla de logueo:

arangodb interfaz web

Una vez logueados, veremos un panel como el siguiente para trabajar.

insterfaz web arangodb

Para obtener ayuda adicional o información útil, resulta recomendable echar un vistazo a al sitio web oficial del proyecto o la documentación que ahí se puede encontrar.


Sé el primero en comentar

Deja tu comentario

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

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.