designsoliman - Fotolia

L’essentiel sur Riak

LeMagIT fait le point sur les principales bases de données du marché. Aujourd’hui la base NoSQL Riak développée par l’éditeur Basho.

Riak, de Basho Technologies, est un SGBD NoSQL multimodèle distribué. Offrant tolérance aux pannes, haute disponibilité et évolutivité, il permet aux développeurs d'applications de stocker, gérer et sécuriser des données non structurées.

Riak constitue une solution idéale pour la prise en charge d'applications hautement évolutives qui accèdent à de grands volumes de données non structurées exigeant une disponibilité permanente. Le système de gestion de base de données (SGBD) NoSQL se décline en trois versions : Open Source, Entreprise avec assistance et stockage en Cloud.

Fonctionnalités du SGBD NoSQL Riak

Voici les nouvelles fonctionnalités de Riak 2.1.1, destinées à simplifier le code ainsi que l'utilisation de la solution :

  • La fonction Riak Search a bénéficié d'une refonte pour tirer parti d'Apache Solr, qui utilise des API pour assurer l'intégration avec plusieurs solutions logicielles et commerciales existantes.
  • Des fonctions d'autorisation et d'authentification sont fournies pour gérer les utilisateurs et les groupes. Par ailleurs, il est possible d'appliquer des mesures de sécurité dans Riak, telles que des autorisations pour l'accès aux données et aux fonctionnalités.
  • La simplicité d'emploi a été renforcée grâce à la consolidation des informations de configuration et à leur stockage dans un format transparent et facile à analyser.
  • Les types de compartiment (bucket) permettent désormais aux utilisateurs de créer et de gérer les propriétés, puis de les appliquer à un ensemble de buckets.
  • Les utilisateurs de LevelDB peuvent répartir des fichiers de données entre deux points de montage, en fonction des schémas d'accès, afin d'assurer un accès à faible latence aux données les plus fréquemment utilisées.

Dans Riak 2.0.4, la fonction AAE fullsync bénéficiait d'améliorations qui avaient été initialement introduites dans la version Riak 1.4.12 mais pas encore ajoutées à Riak 2.0. Il s'agit des transferts de données en pipeline, de la capacité à éviter les analyses de données répliquées redondantes et d'un algorithme amélioré.

Riak 2.1.0 a vu l'ajout de buckets non réinscriptibles destinés aux données écrites mais jamais mises à jour. En effet, les compartiments non réinscriptibles permettent d'améliorer les performances de ce type de données en dispensant Riak du cycle habituel get, merge, update.

Ainsi, Riak est conçu pour accélérer le développement et faciliter les opérations. Le magasin de données clé-valeur permet de stocker et de rendre hautement disponibles de grands volumes de données non structurées de plusieurs types. Considéré à juste titre comme un système multimodèle, Riak prend en charge les paires clé-valeur, le stockage d'objets et la recherche à partir d'une même plateforme.

Les fonctionnalités de requête sont gérées par Riak Search (avec Apache Solr), des index secondaires et MapReduce. L'accès aux données et leur analyse sont ainsi facilités.

Il est possible de déployer le SGBD NoSQL Riak sur plusieurs serveurs, afin de lui assurer un fonctionnement continu en cas de défaillances matérielles et réseau. Distribuées équitablement entre les noeuds, les données sont réparties dans tout le cluster, ce qui permet d'ajouter ou de supprimer facilement des noeuds. Riak est un système sans maître, c'est-à-dire que n'importe quel serveur peut répondre aux demandes de lecture ou d'écriture. Si un serveur tombe en panne, d'autres prennent le relais pour répondre aux demandes des clients.

La réplication est gérée par la fonctionnalité Automatic Data Replication et par Multi-Datacenter Replication pour les données distribuées à l'échelle mondiale.

Riak fournit une API HTTP, ainsi qu'une interface Protocol Buffers. De plus, il existe plusieurs bibliothèques pour Riak, dont Java, Python, Perl, Erlang, Ruby, PHP et .NET.

Offres Riak

Riak est disponible en cinq éditions : Riak Open Source, Riak Developer, Riak Pro, Riak Enterprise et Riak Enterprise Plus. Les éditions Developer, Enterprise et Enterprise Plus comprennent une assistance technique. Riak Pro est conçu pour les sites qui ne nécessitent l'assistance de techniciens Basho que pour les déploiements de production de Riak Open Source, avec un contrat de niveau de service strict.

Il existe également Riak CS (Cloud Storage), qui fournit un logiciel de stockage Open Source s'appuyant sur Riak. Cette édition peut servir à créer des Clouds publics ou privés, ou être utilisée comme stockage fiable pour assurer le fonctionnement d'applications et de services.

Riak prend en charge le stockage de toutes sortes de données : texte, images, documents JSON/XML/HTML, données d'utilisateur et de session, sauvegardes et fichiers logs.

De plus, Riak fournit des types de données répliqués sans conflit (CRDT - Conflict-free Replicated Data Type). Il s'agit de types de données flexibles intégrés qui simplifient le développement grâce à la résolution automatique des conflits et à l'absence de code à écrire côté client. Ces types de données permettent de suivre des opérations telles que la création, la lecture, la mise à jour et la suppression dans un environnement offrant une cohérence finale. Riak 1.4 a introduit le CRDT compteur, tandis que Riak 2.0 permet la prise en charge des CRDT suivants : ensembles, registres, indicateurs et mappes.

Systèmes d'exploitation pris en charge

Le SGBD NoSQL Riak est disponible pour les systèmes d'exploitation et environnements suivants :

  • Debian et Ubuntu
  • Red Hat Enterprise Linux et CentOS
  • Apple OS X
  • Windows Azure
  • Amazon Web Services Marketplace

Riak propose deux options de licence : Riak Open Source et Riak Enterprise. Riak Open Source est fourni gratuitement sous licence Apache 2.0. Riak Enterprise exige un contrat de licence commercial. Riak est vendu par Basho Technologies selon un modèle de vente directe soutenu par des partenaires d'intégration et de distribution à l'échelle mondiale.

Basho Technologies propose une assistance à différents niveaux de tarification, en fonction des besoins des utilisateurs et de l'intégration de fonctionnalités couvrant plusieurs datacenters. En outre, Basho Technologies offre une option d'assistance pour les versions Open Source et commerciales. Le tarif effectif dépend des besoins de déploiement et du niveau d'assistance produit requis. Des licences par noeud et perpétuelles sont proposées.

Bancs d'essai du SGBD NoSQL Riak

Basho a développé un outil de benchmarking appelé Basho Bench, qui permet d'effectuer des tests précis et reproductibles des performances et de la tolérance, et de présenter les résultats sous forme de graphiques. Basho Bench présente une interface de pilote modulaire et une extension lui permettant de servir d'outil de benchmarking dans le cadre de divers projets.

 

Pour approfondir sur Base de données