Ce que vous devriez savoir sur NoSQL pour obtenir un Job Big

Une grande quantité d'informations est stockée sur les SGBDR, mais qu'en est-il de toutes les autres technologies de Big Data dont vous avez entendu parler? L'énorme quantité de données et la nécessité d'y accéder rapidement, ainsi que de stocker des données non structurées, nécessite un ensemble d'autres systèmes qui permettent la rapidité et l'agilité. L'avènement de Not Only SQL (NoSQL) a fourni aux utilisateurs un moyen plus flexible et évolutif de stocker et d'accéder aux données pour répondre aux exigences du Big Data.

Stockages de données de paires valeur-clé

Ce système ne nécessite pas de modèle hautement structuré comme un système relationnel. Le système KVP (Key-Value-Pair) se concentre sur les tables et les clés, permet une grande flexibilité et peut atteindre de très grandes tailles sans sacrifier les performances. C'est ce qu'on appelle l'échelle . La mise à l'échelle ou l'ajout de millions ou d'éléments à un magasin de données peut avoir un impact négatif sur les performances d'un système traditionnel. Les magasins de KVP qui «écaillent bien» peuvent devenir très, très grands et toujours exécuter rapidement.

Une clé est un identifiant utilisé pour trouver une valeur , la chose que vous voulez stocker. Ensemble, ils sont considérés comme une paire .

Supposons que vous souhaitiez stocker les préférences utilisateur telles que les fruits, la voiture, la couleur et le sport favoris. Pour accéder à ces informations, vous devez simplement interroger la clé, qui aurait pu être extraite d'un cookie de navigateur et récupérer ces données.

Le "système" dans ce cas vous permet de stocker par programme et d'interroger la paire clé-valeur. Interroger une clé signifie simplement la rechercher et obtenir la valeur. Le système KVP offre une énorme flexibilité pour une situation comme celle-ci où vous ne voulez pas restreindre les choix de stockage. Lorsque vous devez stocker des milliards d'éléments de données, un RDMS traditionnel peut mal fonctionner.

Les solutions KVP pour le big data sont conçues pour être hautement évolutives et résilientes. Ces technologies sont généralement stockées entièrement dans la mémoire vive (RAM), donc l'accès est rapide et ne nécessite pas la requête pour accéder aux données stockées sur un périphérique physique comme un lecteur de disque, ce qui prend beaucoup plus de temps pour accéder.

L'informatique en grille est un concept qui consiste à répartir les tâches entre de nombreux ordinateurs pour accélérer les tâches et offrir un haut niveau de disponibilité ou de tolérance aux pannes.

Les implémentations KVP prépondérantes sont les suivantes:

  • Amazon DynomoDB : Un magasin de données KVP NoSQL offert en tant que service cloud d'Amazon.

  • FoundationDB : Magasin de données KVP NoSQL qui assure les transactions ACID.

  • MemcacheDB : Un magasin de données distribué (basé sur une grille) résidant dans la RAM.

  • Redis : Un cache de valeurs-clés avec la capacité de stocker tous les types de données - structurées et non structurées. Dans l'industrie, les gens se réfèrent à Redis en tant que serveur de structure de données.

  • Riak : Un KVP NoSQL open-source basé sur des concepts du produit Amazon DynomoDB.

Bases de données orientées document

Les bases de données orientées document permettent le stockage et la récupération de données semi-structurées - données qui sont quelque part entre non structurées (comme un tweet) et structurées. Les pages Web et les documents sont un excellent exemple de données semi-structurées.

Alors que les SGBDR sont orientés autour des tables et des clés, les systèmes orientés document utilisent un paradigme de document. Au lieu de stocker des données dans des lignes et des colonnes, le modèle de document définit les informations dans un document et stocke ces informations de manière logique. C'est une approche très flexible et simplifiée pour le stockage et la récupération de données.

Beaucoup de ces bases de documents documentaires NoSQL stockent des données au format JSON.

Les implémentations populaires orientées document incluent:

  • Cassandra : Partie du projet open source Apache, il s'agit d'un système de base de données orienté document distribué (basé sur une grille).

  • CouchDB : Un système de base de données orienté document open source avec des fonctionnalités ACID.

  • MarkLogic : Un système de base de données orienté document disponible dans le commerce et présenté comme prêt pour l'entreprise. Cette solution est hautement sécurisée, fiable et utilisée par de nombreuses sociétés Fortune 1 000 dans le cadre de processus destinés aux clients.

  • MongoDB : Peut-être le premier système de base de données NoSQL qui utilise une approche orientée document. Ceci est également open-source sous le modèle de licence Apache.

Bases de données orientées graphes

Ce type de base de données utilise les concepts de nœuds, d'arêtes et de propriétés pour stocker des informations et des relations. Les graphiques dirigés sont particulièrement utiles lorsque vous pensez à des relations complexes telles que les planifications avec plusieurs dépendances, ou dans un réseau social, où vous devez stocker des informations sur les personnes et leur interdépendance.

La théorie des graphes est la science de la visualisation des modèles mathématiques en termes de graphes pour relier les objets entre eux. Une image de réseau social est un exemple de graphique. Les nœuds sont des personnes, et le bord relie ces personnes. Les propriétés peuvent définir les arêtes ou les relations.

Ce type de stockage de base de données est particulièrement utile pour des sites tels que LinkedIn ou Facebook.

Un exemple de technologie graphique populaire est GraphDB, qui est utilisé pour mapper des relations de données spéciales appelées RDF Triples. L'outil prend des objets et des faits et les relie graphiquement.

Bases de données axées sur les colonnes

Ces systèmes sont des magasins de données orientés colonnes. Ils orientent les informations non pas en lignes, comme les SGBDR traditionnels, mais en colonnes. Cela permet le regroupement naturel des données, ce qui accélère l'analyse.

Les SGBDR traditionnels doivent suivre une méthode très définie pour organiser les informations appelées normalisation des tables, , ce qui évite de répéter les types de colonnes et divise les informations en atomiques.Ainsi, pour assembler un rapport, un programmeur doit relier ces éléments atomiques, en utilisant SQL, dans des groupements qui ont un sens pour un humain. Cela peut prendre beaucoup de temps lorsqu'il s'agit d'énormes quantités de données. Les RDMBS traditionnels sont beaucoup plus lents, car ils doivent créer des liens complexes et fastidieux pour assembler de grandes quantités de données dans des rapports.

Apache HBase est un magasin de données axé sur les colonnes distribué populaire qui a été modélisé selon le système BigTable de Google. HBase est construit sur le système de fichiers Hadoop. HBase permet un accès rapide aux tables qui sont des milliards de lignes par millions de colonnes.

Avec les bases de données de colonnes, vous pouvez agréger des informations verticalement dans des familles de colonnes, ce qui permet un accès rapide à d'énormes quantités de données. Contrairement aux modèles relationnels, qui sont axés sur les lignes, les colonnes volumineuses et les données récapitulatives sur ces colonnes peuvent être effectuées beaucoup plus rapidement.