GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Types de base de données NoSQL

Présentation

NoSQL est une alternative aux bases de données SQL traditionnelles. Au fil du temps, les bases de données relationnelles se sont révélées inadéquates pour des cas d'utilisation spécifiques. Ces limitations variaient en fonction de l'application à prendre en charge.

Différents développeurs se sont concentrés sur la résolution de différents défis en fonction de leurs besoins. Par conséquent, vous disposez désormais de différents types de bases de données NoSQL.

Ce didacticiel se concentre sur les types de bases de données NoSQL. Pour un guide plus détaillé sur NoSQL, ses fonctionnalités et quand l'utiliser, consultez notre article Qu'est-ce que NoSQL ?

Types de bases de données NoSQL

Il existe quatre types de bases de données NoSQL populaires :

  1. Bases de données de valeurs-clés
  2. Bases de données de documents
  3. Bases de données à colonnes étendues
  4. Bases de données de graphes

Base de données clé-valeur

Les bases de données clé-valeur sont le type le plus simple de base de données NoSQL. Grâce à leur simplicité, ils sont également les plus évolutifs, permettant une mise à l'échelle horizontale de grandes quantités de données.

Ces bases de données NoSQL ont une structure de données de dictionnaire qui se compose d'un ensemble d'objets qui représentent des champs de données. Chaque objet se voit attribuer une clé unique. Pour récupérer des données stockées dans un objet particulier, vous devez utiliser une clé spécifique. À son tour, vous obtenez la valeur (c'est-à-dire les données) attribuée à la clé. Cette valeur peut être un nombre, une chaîne ou même un autre ensemble de paires clé-valeur.

Contrairement aux bases de données relationnelles traditionnelles, les bases de données clé-valeur ne nécessitent pas de structure prédéfinie. Ils offrent plus de flexibilité lors du stockage des données et ont des performances plus rapides. Sans avoir à s'appuyer sur des espaces réservés, les bases de données clé-valeur sont une solution plus légère car elles nécessitent moins de ressources.

De telles fonctionnalités conviennent aux grandes bases de données qui traitent des données simples. Par conséquent, ils sont couramment utilisés pour la mise en cache , stockage et gérer les sessions utilisateur , service publicitaire , et recommandations .

Redis, Project Voldemort et Riak ne sont que quelques exemples de bases de données clé-valeur.

Base de données de documents

Une base de données de documents est un type de base de données NoSQL qui se compose d'ensembles de paires clé-valeur stockées dans un document. Ces documents sont des unités de données de base que vous pouvez également regrouper dans des collections (bases de données) en fonction de leur fonctionnalité.

Étant une base de données NoSQL, vous pouvez facilement stocker des données sans implémenter de schéma. Vous pouvez transférer le modèle d'objet directement dans un document en utilisant plusieurs formats différents. Les plus couramment utilisés sont JSON, BSON et XML.

Voici un exemple de document simple au format JSON composé de trois paires clé-valeur :

{
"ID" : "001",
"Name" : "John",
"Grade" : "Senior",
}

De plus, vous pouvez également utiliser des requêtes imbriquées dans de tels formats, ce qui facilite la distribution des données sur plusieurs disques et améliore les performances.

Par exemple, nous pouvons ajouter une chaîne de valeur imbriquée au document ci-dessus :

{
 "ID" : "001",
 "Name" : "John",
 "Grade" : "Senior",
 "Classes" : {
      "Class1" : "English"
      "Class2" : "Geometry" 
      "Class3" : "History"
   } 
}

En raison de leur structure, les bases de données de documents sont optimales pour les cas d'utilisation qui nécessitent de la flexibilité et un développement rapide et continu. Par exemple, vous pouvez les utiliser pour gérer les profils utilisateur , qui diffèrent selon les informations fournies. Sa structure sans schéma vous permet d'avoir différents attributs et valeurs.

Des exemples de bases de données de documents NoSQL incluent MongoDB, CouchDB, Elasticsearch et autres.

Base de données à large colonne

Les magasins à colonnes larges sont un autre type de base de données NoSQL. Dans ceux-ci, les données sont stockées et regroupées dans des colonnes stockées séparément au lieu de lignes. Ces bases de données organisent les informations en colonnes qui fonctionnent de la même manière que les tables des bases de données relationnelles.

Cependant, contrairement aux bases de données traditionnelles, les bases de données à colonnes larges sont très flexibles. Ils n'ont pas de clés prédéfinies ni de noms de colonne. Leur caractéristique sans schéma permet la variation des noms de colonnes même au sein d'une même table, ainsi que l'ajout de colonnes en temps réel.

L'avantage le plus important d'avoir des bases de données orientées colonnes est que vous pouvez stocker de grandes quantités de données dans une seule colonne. Cette fonctionnalité vous permet de réduire les ressources du disque et le temps nécessaire pour en récupérer les informations. Ils sont également excellents dans les situations où vous devez répartir les données sur plusieurs serveurs.

Apache Cassandra, HBase et CosmoDB sont des exemples de bases de données populaires à colonnes larges.

Base de données de graphes

Les bases de données de graphes utilisent une représentation graphique flexible pour gérer les données.

Ces graphiques se composent de deux éléments :

  1. Nœuds (pour stocker des entités de données)
  2. Bords (pour stocker la relation entre les entités)

Ces relations entre les entités permettent de relier directement les données du magasin et, dans de nombreux cas, de les récupérer en une seule opération. Les nœuds et les arêtes ont des propriétés définies, et en utilisant ces propriétés, vous pouvez facilement interroger les données.

Étant donné que ce type de stockage de données est assez spécifique, il ne s'agit pas d'une base de données NoSQL couramment utilisée. Cependant, il existe certains cas d'utilisation dans lesquels avoir des représentations graphiques est la meilleure solution. Par exemple, les réseaux sociaux utilisent souvent des graphiques pour stocker des informations sur la manière dont leurs utilisateurs sont liés.

OrientDB, RedisGraph et Neo4j ne sont que quelques exemples de bases de données de graphes que vous devriez envisager d'utiliser.


Ubuntu
  1. Qu'est-ce qu'une base de données NoSQL ? - NoSQL expliqué

  2. Comment installer la base de données Apache Cassandra NoSQL sur CentOS 8

  3. Afficher les types de bases de données MySQL dans bash

  4. Paramètres de connexion pour les bases de données MySQL

  5. Travailler avec les bases de données MySQL cPanel

Comment installer la base de données NoSQL ArangoDB sur Ubuntu 18.04 LTS

Comment installer la base de données Apache CouchDB NoSQL sur CentOS 8

Comment installer la base de données RavenDB NoSQL sur Ubuntu 20.04

Comment installer la base de données Apache Cassandra NoSQL sur Debian 11

Comment ajouter une base de données (Panneau de configuration Plesk)

Présentation des types de bases de données distribuées et de la sécurité