f4b1.com
***

Découverte de ArangoDB et comment installer cette base de données NoSQL sous Ubuntu

By Admin on 2017-07-15 13:49:41

Nombre de vues : 13681


Depuis quelques années, le nombre d'acteurs proposant des bases de données NoSQL est de plus en plus important et l'offre s'est largement étoffée au point qu'il est même parfois difficile de choisir entre les différentes solutions. Alors qu'auparavant le choix était plutôt simple, et encore que pas tant que ça en vrai, entre MySQL, PostgreSQL, SQLite ou encore Oracle Database et SQL Server de Microsoft.

Mais ça c'était avant, ainsi comme je l'ai indiqué juste au-dessus, après le début des premières bases NoSQL "grand public", le nombre de solutions disponibles pour faire du NoSQL a tout simplement explosé ! Bien évidemment, elles ne proposent pas toutes les mêmes fonctionnalités et elles ont chacune des avantages et inconvénients selon ce que l'on veut en faire.

Il faudra donc bien choisir en fonction de ses besoins et dans certains cas ce sera très performant alors qu'à l'inverse dans d'autres cela ne sera pas du tout le cas. Mais ce n'est pas l'objet de cet article et ce sujet du choix en fonction des besoins concernant MySQL sera évoqué dans un autre billet.

Pourquoi utiliser ArangoDB ?

Il arrive parfois que MySQL montre certaines limites dans certains cas et il faut alors passer sur un autre système, avec du NoSQL par exemple. Ainsi ArangoDB est une base de données orientée multi-modèle et donc très flexible. Elle est capable d'utiliser les modèles: clé/valeur, documents et graphes, donc même en utilisant seulement ArangoDB. Il sera possible par exemple de faire du stockage en clé/valeur mais aussi en graph sans avoir besoin d'installer un autre système de base de données NoSQL ce qui est plutôt pratique et permet de rester dans le même environnement.

ArangoDB propose aussi un système de requêtes similaire à ce qui se fait avec le langage SQL que nous connaissons bien, il s'agit de l'AQL pour AQL (Arango Query Language) qui permet d’exécuter des requêtes pour interroger la base de données de façon relativement simple.

Autre point intéressant, ArangoDB propose nativement du partitionnement (sharding), cela permet d'avoir un système de réplication sur plusieurs machines, très pratique donc. Avec le partitionnement il sera possible de mettre en place un système maitre / esclave qui fonctionne avec des coordinateurs.

Peu importe le langage de programmation ou l’environnement technique / technologique que vous utilisez, il sera possible d'utiliser ArangoDB dans de très nombreux cas. En effet des drivers sont disponibles pour PHP, C# / .NET, JavaScript, Node.js, Java, Go, Python, Dart, Ruby et encore d'autres ! Ce n'est pas un point qui pourrait bloquer une éventuelle migration.

Enfin, il y une chose que j'ai beaucoup appréciée en commençant sous ArangoDB, c'est l'application web qui est fournie directement avec l'installation de la base de données NoSQL. Elle permet d'administrer et lire / modifier / supprimer les données de ses bases NoSQL sous ArangoDB, de consulter les statistiques de monitoring, d’exécuter des requêtes AQL, d'installer des services, et encore bien d'autres choses, c'est vraiment très pratique !

Les performances de ArangoDB

ArangoDB propose quelques benchmarks de performances entre leur base de données et PostgreSQL, MongoDB, Neo4j et OrientDB. Il s'agit de performances "brutes" et ce n'est pas forcément représentatif de la réalité, du moins pour les problématiques de chacun.

Installer ArangoDB sur un serveur Linux / Ubuntu

L'installation n'est pas très compliquée et il suffit de taper quelques lignes de commande et le tour est joué. Dans certains cas il faudra un peu de configuration supplémentaire mais rien de fou. Ici je vais me concentrer sur la distribution Linux Ubuntu car c'est ce qu'il y a de plus répandu, souvent c'est ce qui est proposé par les prestataires d'hébergement et sinon il est facile de monter une machine virtuelle sous cette distribution très courante.

Il est néanmoins possible d'installer la base de données NoSQL ArangoDB sous Windows, MacOSX, Debian, OpenSUSE, CentOS et RedHat mais je ne vais pas aborder l'installation d'ArangoDB sur ces systèmes d'exploitation. D'ailleurs, il est aussi possible d'installer ArangoDB via les instances Docker, Microsoft Azure ou encore Amazon Web Services (AWS).

Ainsi pour installer ArangoDB sous Linux il n'y a pas vraiment d'étapes compliquées, il faudra par contre faire attention à la version d'Ubuntu que vous utilisez car selon la version les lignes de commandes seront légèrement différentes.

Ubuntu 15.10 avec l'utilisateur root

  1. wget https://www.arangodb.com/repositories/arangodb2/xUbuntu_15.10/Release.key
  2. apt-key add - < Release.key
  3. echo 'deb https://www.arangodb.com/repositories/arangodb2/xUbuntu_15.10/ /' | sudo tee /etc/apt/sources.list.d/arangodb.list
  4. sudo apt-get install apt-transport-https
  5. sudo apt-get update
  6. sudo apt-get install arangodb=2.8.7

Ubuntu 15.04 avec l'utilisateur root

  1. wget https://www.arangodb.com/repositories/arangodb2/xUbuntu_15.04/Release.key
  2. apt-key add - < Release.key
  3. echo 'deb https://www.arangodb.com/repositories/arangodb2/xUbuntu_15.04/ /' | sudo tee /etc/apt/sources.list.d/arangodb.list
  4. sudo apt-get install apt-transport-https
  5. sudo apt-get update
  6. sudo apt-get install arangodb=2.8.7

Ubuntu 14.10 avec l'utilisateur root

  1. wget https://www.arangodb.com/repositories/arangodb2/xUbuntu_14.10/Release.key
  2. apt-key add - < Release.key
  3. echo 'deb https://www.arangodb.com/repositories/arangodb2/xUbuntu_14.10/ /' | sudo tee /etc/apt/sources.list.d/arangodb.list
  4. sudo apt-get install apt-transport-https
  5. sudo apt-get update
  6. sudo apt-get install arangodb=2.8.7

Ubuntu 14.04 avec l'utilisateur root

  1. wget https://www.arangodb.com/repositories/arangodb2/xUbuntu_14.04/Release.key
  2. apt-key add - < Release.key
  3. echo 'deb https://www.arangodb.com/repositories/arangodb2/xUbuntu_14.04/ /' | sudo tee /etc/apt/sources.list.d/arangodb.list
  4. sudo apt-get install apt-transport-https
  5. sudo apt-get update
  6. sudo apt-get install arangodb=2.8.7

Ubuntu 12.04 avec l'utilisateur root

  1. wget https://www.arangodb.com/repositories/arangodb2/xUbuntu_12.04/Release.key
  2. apt-key add - < Release.key
  3. echo 'deb https://www.arangodb.com/repositories/arangodb2/xUbuntu_12.04/ /' | sudo tee /etc/apt/sources.list.d/arangodb.list
  4. sudo apt-get install apt-transport-https
  5. sudo apt-get update
  6. sudo apt-get install arangodb=2.8.7