Vidéo: Pour une culture critique des données | Samuel GOETA | TEDxUTCompiègne 2024
De loin, la plus simple des bases de données NoSQL (non seulement SQL) dans un environnement de données volumineuses sont ceux qui utilisent le modèle de paire clé-valeur (KVP). Les bases de données KVP ne nécessitent pas de schéma (comme les SGBDR) et offrent une grande flexibilité et évolutivité.
Les bases de données KVP n'offrent pas la capacité ACID (Atomicity, Consistency, Isolation, Durability) et obligent les développeurs à penser au placement, à la réplication et à la tolérance aux pannes, car ils ne sont pas contrôlés par la technologie elle-même. Les bases de données KVP ne sont pas typées. Par conséquent, la plupart des données sont stockées sous forme de chaînes.
Touche | Valeur |
---|---|
Couleur | Bleu |
Libation | Bière |
Héros | Soldat |
Ceci est un jeu de touches très simplifié valeurs. Dans une implémentation de Big Data, de nombreuses personnes auront des idées différentes sur les couleurs, les libations et les héros.
Touche | Valeur |
---|---|
FacebookUser12345_Couleur | Rouge |
TwitterUser67890_Couleur | Brunâtre |
FoursquareUser45678_Libation | "Vin blanc" |
Google + User24356_Libation | "Martini sec avec une touche " |
LinkedInUser87654_Hero | " Top des ventes performer " |
À mesure que le nombre d'utilisateurs augmente, le suivi des clés précises et des valeurs associées peut s'avérer difficile. Si vous avez besoin de suivre les opinions de millions d'utilisateurs, le nombre de paires valeur / clé qui leur est associé peut augmenter de façon exponentielle. Si vous ne souhaitez pas limiter les choix pour les valeurs, la représentation de chaîne générique de KVP offre une flexibilité et une lisibilité.
Vous pourriez avoir besoin d'aide supplémentaire pour organiser les données dans une base de données de valeurs-clés. La plupart offrent la possibilité d'agréger des clés (et leurs valeurs associées) dans une collection. Les collections peuvent être constituées de n'importe quel nombre de paires clé-valeur et ne nécessitent pas de contrôle exclusif des éléments KVP individuels.
Une base de données de paire clé-valeur open source largement utilisée est appelée Riak. Il est développé et pris en charge par une société appelée Basho Technologies et est disponible sous licence Apache Software License v2. 0.
Riak est une implémentation très rapide et évolutive d'une base de données de valeurs-clés. Il prend en charge un environnement à haut volume avec des données à évolution rapide car il est léger. Riak est particulièrement efficace dans l'analyse en temps réel des transactions sur les services financiers. Il utilise des «compartiments» comme mécanisme d'organisation pour les collections de clés et de valeurs.
Les implémentations de Riak sont des grappes de nœuds physiques ou virtuels disposés de pair à pair. Aucun nœud maître n'existe, donc le cluster est résilient et hautement évolutif.Toutes les données et les opérations sont réparties dans le cluster. Un cluster plus grand fonctionne mieux et plus rapidement que les clusters avec moins de nœuds. La communication dans le cluster est implémentée via un protocole spécial appelé Gossip. Gossip stocke les informations d'état sur le cluster et partage les informations sur les compartiments.
Riak possède de nombreuses fonctionnalités et fait partie d'un écosystème composé des éléments suivants:
-
Traitement parallèle: Grâce à MapReduce, Riak prend en charge la décomposition et la recomposition des requêtes sur le cluster pour l'analyse et le calcul en temps réel.
-
Liens et marche de liens: Riak peut être construit pour imiter une base de données graphique en utilisant des liens. Un lien peut être considéré comme une connexion unidirectionnelle entre des paires clé-valeur. Marcher (suivre) les liens fournira une carte des relations entre les paires clé-valeur.
-
Recherche: Riak Search est doté d'une fonction de recherche en texte intégral distribuée tolérante aux pannes. Les godets peuvent être indexés pour une résolution rapide de la valeur des clés.
-
Index secondaires: Les développeurs peuvent marquer des valeurs avec une ou plusieurs valeurs de champs clés. L'application peut alors interroger l'index et renvoyer une liste de clés correspondantes. Cela peut être très utile dans les implémentations de Big Data car l'opération est atomique et prendra en charge les comportements en temps réel.
Les implémentations Riak sont les mieux adaptées pour
-
Données utilisateur pour les réseaux sociaux, les communautés ou les jeux
-
Collecte et stockage de données riches en contenu et multimédia
-
Couches de mise en cache pour la connexion des bases de données RDBMS et NoSQL
-
Applications mobiles nécessitant flexibilité et fiabilité