GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Liste des bases de données NoSQL pour 2021

Présentation

NoSQL (abréviation de "Not Only SQL") est une alternative aux bases de données traditionnelles, axée sur la capture et le traitement de grandes quantités de données.

Il existe plusieurs types de bases de données NoSQL, chacune avec une approche unique de la modélisation des données et différents cas d'utilisation.

Dans ce didacticiel, nous fournirons un bref aperçu de plusieurs types de bases de données NoSQL et répertorierons certains des exemples populaires pour chacun.

Types de bases de données NoSQL

Les quatre types de bases de données NoSQL les plus populaires sont les bases de données clé-valeur, les bases de données basées sur des documents, les bases de données basées sur des graphiques et les bases de données basées sur de larges colonnes :

Bases de données de valeurs-clés

Bases de données de valeurs-clés organiser les données en paires de clés et de valeurs, où chaque clé est liée à un objet spécifique, représentant un champ de données. Fournir une clé vous permet de visualiser les données stockées dans l'objet auquel elle est associée.

Il s'agit du type de base de données NoSQL le plus simple et le plus évolutif, offrant flexibilité et performances améliorées.

Bases de données NoSQL basées sur des documents

Bases de données documentaires utilisent également des paires clé-valeur qu'ils stockent dans des documents. Ces documents sont ensuite regroupés en collections en fonction de leur contenu et de leur utilisation.

Ces bases de données stockent le plus souvent des données sous forme de formulaires JSON, XML, BSON ou YAML, généralement sans implémenter de schéma. Cette approche les rend adaptés aux cas qui nécessitent une structure flexible et la possibilité d'ajouter et de récupérer rapidement des données.

Bases de données basées sur des graphiques

Bases de données basées sur des graphes représenter les données comme une collection de nœuds (éléments de données) reliés par des arêtes . Dans cette structure de données, les nœuds contiennent des éléments de données, tandis que les arêtes définissent les relations entre eux.

Ce type de base de données est couramment utilisé pour représenter les relations entre différentes entrées de données, telles que les connexions d'amis sur les réseaux sociaux. Les utilisateurs peuvent effectuer des requêtes complexes et extraire directement plusieurs éléments de données en même temps.

Bases de données basées sur des colonnes étendues

Bases de données basées sur des colonnes étendues stocker les données dans des colonnes séparées, de la même manière que les données sont stockées dans des tables avec des bases de données relationnelles. Contrairement aux bases de données relationnelles, les bases de données à colonnes étendues n'utilisent pas de clés ou de noms de colonnes prédéfinis.

Cela permet des variations dans les noms de colonne, même au sein d'une même table. Il est également facile d'ajouter de grandes quantités de données en tant que nouvelles colonnes ou de regrouper celles qui existent déjà dans des familles de colonnes.

Bases de données d'objets

Bases de données d'objets stocker des éléments de données en tant qu'objets à utiliser dans la programmation orientée objet. Ils sont conçus pour fonctionner avec des langages de programmation comme Python, Ruby, Delphi, Java, etc.

Bases de données réseau et cloud

Bases de données réseau et cloud utiliser une grille de données - un réseau de systèmes fonctionnant avec des données accessibles via le cloud.

Ce type de base de données fonctionne avec les modèles de données SQL et NoSQL et est généralement proposé en tant que base de données en tant que service.

Bases de données multi-modèles

Enfin, les bases de données multi-modèles combiner les fonctionnalités de deux types de bases de données différents ou plus. Cela leur permet de fournir une solution pour des cas d'utilisation uniques où d'autres types de bases de données ne conviennent pas.

Liste des bases de données NoSQL

Vous trouverez ci-dessous une liste des bases de données NoSQL pour 2021, organisées en sections par type de base de données :

Liste des bases de données de valeurs-clés

Redis

Redis fonctionne comme un serveur de structure de données qui stocke les données en mémoire. Cela signifie que Redis lit et modifie les données de la mémoire principale, mais il a également une persistance intégrée. Cette fonctionnalité permet d'enregistrer des données sur le disque afin qu'elles puissent être reconstruites si le système redémarre.

Avantages d'utiliser Redis :

  • Le travail en mémoire permet des performances et une flexibilité élevées.
  • Compatibilité avec de nombreux types de données et langages de programmation différents
  • Facile à faire évoluer et prend en charge le partitionnement automatique.

Aerospike

Comme Redis, Aerospike est une base de données NoSQL open source en mémoire. Aerospike est optimisé pour la vente au détail en ligne grâce à ses hautes performances et à sa capacité à combiner les données de transaction avec des analyses.

Avantages d'utiliser Aerospike :

  • Performances fiables avec une latence très faible.
  • Un bon rapport prix/performance le rend adapté aux petites entreprises.

Riak

Riak stocke les paires clé-valeur dans des objets de données qu'il appelle des "buckets". Il prend en charge un large éventail de formats de données et met l'accent sur la stabilité des données et les performances prévisibles.

Avantages d'utiliser Riak :

  • Les paires clé-valeur sont enregistrées dans des clusters de trois nœuds, avec la possibilité de répliquer les données sur des nœuds supplémentaires pour la sauvegarde.
  • Les données peuvent être stockées en mémoire, sur des disques ou les deux.
  • La réplication multi-centres de données permet de sauvegarder vos données dans des centres de données situés à différents endroits.

Projet Voldemort

LinkedIn utilise Project Voldemort comme solution de stockage clé-valeur à haute évolutivité. Il fonctionne comme une table de hachage distribuée, tolérante aux pannes et persistante.

Avantages d'utiliser le projet Voldemort :

  • Les données sont automatiquement répliquées et partitionnées sur plusieurs serveurs.
  • Des plug-ins de stockage et de sérialisation sont disponibles.
  • Bonnes performances à nœud unique.

Liste des bases de données NoSQL basées sur des documents

MongoDB

MongoDB est une base de données open source et agile utilisée par un large éventail d'entreprises dans différents secteurs. Il stocke les documents sous forme d'objets JSON qui peuvent rapidement modifier les schémas en fonction de vos besoins.

Avantages d'utiliser MongoDB :

  • Facile à faire évoluer d'un serveur unique vers des systèmes complexes.
  • Fournit constamment des performances élevées.
  • Fiabilité élevée grâce à la réplication et à l'équilibrage de charge.

Serveur Couchbase

Couchbase Server (connu initialement sous le nom de Membase) est une solution de base de données distribuée open source. L'intention principale de conception est de travailler avec des applications interactives pour stocker de grandes quantités de données utilisateur sous forme d'objets JSON.

Avantages d'utiliser Couchbase Server :

  • La gestion des clusters permet une mise à l'échelle rapide.
  • Réplication personnalisable, même entre centres de données.

CouchDB

CouchDB est une base de données open source écrite en Erlang. Il offre des fonctionnalités telles que le contrôle de la simultanéité multi-versions (à l'aide de la sémantique ACID), la réplication multi-maîtres et map/reduce.

Avantages d'utiliser CouchDB :

  • Capable de répliquer des données sur des appareils tels que des smartphones pour un accès hors connexion
  • Garantit la cohérence finale, en assurant la disponibilité et la tolérance de partition.

Elasticsearch

Elasticsearch est une base de données distribuée qui fonctionne comme un moteur de recherche capable d'effectuer une recherche en texte intégral avec correspondance floue. Il relève de la double licence :certaines parties sont couvertes par la licence publique côté serveur, tandis que d'autres relèvent de la catégorie des licences élastiques propriétaires.

Avantages d'utiliser Elasticsearch :

  • Vous pouvez étendre les fonctionnalités en combinant Elasticsearch avec d'autres solutions, telles que Logstash (collecte de données et analyse de journaux), Kibana (analyse) et Beats (envoi de données).
  • Recherche évolutive en temps réel avec facettage et percolation

Liste des bases de données basées sur des graphes

Neo4J

Neo4J est une base de données open source basée sur des graphes construite en Java, avec des fonctionnalités supplémentaires disponibles dans le cadre de leur plate-forme de données de graphes. Il utilise le langage de requête Cypher pour offrir un accès à un plus large éventail de requêtes que les autres types de bases de données tout en maintenant des performances élevées.

Avantages d'utiliser Neo4J :

  • Utile pour résoudre les problèmes nécessitant des vérifications répétées du réseau.
  • Facilite l'analyse des objets de données et leurs relations.

OrientDB

OrientDB est un système de base de données multi-modèle open source avec un fort accent sur le modèle de base de données graphique. Il peut être déployé sur n'importe quel système d'exploitation et dispose d'un large éventail de fonctionnalités, qui peuvent être encore étendues en passant à l'édition Enterprise.

Avantages d'utiliser OrientDB :

  • Un système de sécurité solide basé sur les utilisateurs et les rôles.
  • Démarrage facile grâce à un cours Udemy gratuit et une assistance utilisateur étendue via Stack Overflow.
  • Importation facile d'autres bases de données relationnelles dans OrientDB.

RedisGraph

RedisGraph est un module de base de données graphique pour Redis. Il est basé sur le modèle Property Graph et utilise le langage de requête Cypher pour traduire les requêtes en expressions d'algèbre linéaire.

Avantages de l'utilisation de RedisGraph :

  • Facile à combiner avec les bases de données Redis existantes.
  • Permet d'ajouter des libellés de nœud et des types de relation.

InfiniteGraph

InfiniteGraph est une base de données distribuée axée sur l'exécution de requêtes d'objets complexes. Il est utilisé pour développer des applications Web ou mobiles qui résolvent des problèmes de graphes en travaillant avec des ensembles de données volumineux complexes.

Avantages d'utiliser InfiniteGraph :

  • Capable de gérer des requêtes complexes ou parallèles nécessitant des performances élevées
  • Sauvegarde avec cohérence flexible (d'ACID à relax).

Liste des bases de données basées sur des colonnes larges

Cassandre

Apache Cassandra est une solution de base de données open source gratuite conçue pour gérer de grandes charges de données avec un impact minimal sur les performances. Twitter, Netflix et Reddit utilisent tous Cassandra en raison de sa grande vitesse et de sa disponibilité.

Avantages d'utiliser Cassandra :

  • La réplication asynchrone sans maître garantit une protection contre la perte de données sans entraîner de latence.
  • Évolue facilement sur plusieurs centres de données sans temps d'arrêt.

Cosmos DB

Azure Cosmos DB de Microsoft est une solution de base de données propriétaire. Le produit a été conçu pour être distribué dans le monde entier afin de faciliter la gestion de bases de données à grande échelle et évolutives horizontalement.

Avantages de l'utilisation de Cosmos DB :

  • Se combine avec d'autres services Microsoft Azure pour des fonctionnalités étendues.
  • Partitionnement automatique sur plusieurs centres de données

HBase

HBase est conçu pour fonctionner avec des bases de données extrêmement volumineuses, avec des milliards de lignes et des millions de colonnes. Il s'exécute sur Hadoop Distributed File System (HDFS) et permet à Hadoop de fonctionner comme Bigtable de Google.

Avantages de l'utilisation de HBase :

  • Permet un débit important sur une échelle de pétaoctets de données.
  • Permet un accès en lecture/écriture aléatoire et en temps réel à votre base de données.

Accumulo

Apache Accumulo est une autre solution construite sur Hadoop et basée sur Bigtable de Google. Il améliore la conception de Bigtable en ajoutant des fonctionnalités telles que basé sur les cellules contrôle d'accès et programmation côté serveur.

Avantages d'utiliser Accumulo :

  • Vous pouvez ajouter des libellés de sécurité au niveau des cellules et stocker des données de différents niveaux de sécurité dans le même tableau.

Liste des bases de données d'objets

ObjectDB

ObjectDB est une solution de base de données d'objets pour le développement Java avec prise en charge intégrée des API Java. Il fonctionne en mode client-serveur ou embarqué.

Avantages de travailler avec ObjectDB :

  • Prend en charge diverses plates-formes et systèmes d'exploitation.
  • Utilise les langages de requête JDO et JPA.

Ninja Database Pro

Ninja Database Pro dispose d'un haut niveau d'automatisation qui le rend facile à utiliser pour les débutants. Il fournit un moyen robuste et rapide de gérer les objets de données dans une base de données.

Avantages d'utiliser Ninja Database Pro :

  • Peut fonctionner avec des objets de données complexes tels que des listes à double liaison, des tableaux multidimensionnels et des dictionnaires.
  • Conformité ACID, avec cryptage AES intégré.

NéoDB

NeoDB structure les données comme un réseau d'objets ressemblant à un grand arbre. Ce réseau s'appelle un espace de nœuds et se concentre sur les nœuds (objets), leurs relations et leurs propriétés.

Avantages d'utiliser NeoBD :

  • Bon pour gérer des données semi-structurées, avec peu d'attributs obligatoires mais de nombreux attributs facultatifs.

Objectivité/DB

Objectivity/DB est une base de données distribuée qui vous permet de travailler avec des objets de données en C++, C#, Java ou Python sans les convertir en tables.

Avantages de l'utilisation d'Objectivity/DB :

  • Utilise n'importe quel langage de programmation pris en charge sur le système d'exploitation de votre choix.
  • Son architecture en fait un bon choix pour les environnements de calcul en grille.

Liste des bases de données Cloud et Grid

Cohérence Oracle

Oracle Coherence est un cache distribué et une grille de données en mémoire basée sur Java. Il gère les données dans des applications en cluster, ce qui élimine le besoin d'interroger directement la base de données chaque fois que vous avez besoin de gérer des données.

Avantages d'Oracle Coherence :

  • Fournit une haute disponibilité, une évolutivité et une faible latence.

Infinispan

Infinispan est une solution de grille de données open source écrite en Java. Infinispan peut être intégré dans des applications Java en tant que bibliothèque, et les applications non Java peuvent l'utiliser avec TCP/IP.

Avantages d'utiliser Infinispan :

  • Haute évolutivité tout en maintenant la disponibilité.
  • Son architecture enfichable lui permet de conserver les données dans le système de fichiers ou d'autres gestionnaires de base de données.

Hazelcast

Hazelcast est une grille de données open source. Il est basé sur Java et peut s'exécuter sur site, virtuellement, dans le cloud ou dans des conteneurs Docker.

Avantages d'utiliser Hazelcast :

  • Permet une mise à l'échelle horizontale de la puissance de stockage et de traitement.

Liste des bases de données multi-modèles

ArangoDB

ArangoDB est un gestionnaire de base de données gratuit et open source qui prend en charge les modèles de base de données clé-valeur, document et graphique.

Avantages d'utiliser ArangoDB :

  • Le langage de requête AQL vous permet de cibler différents types de bases de données avec une seule requête.
  • Fonctionne comme un cluster distribué avec l'option de déploiement de cluster en un seul clic.

Ubuntu
  1. Top 5 des logiciels de sauvegarde de données pour Linux

  2. Pseudo fichiers pour données temporaires ?

  3. Comment vérifier la liste des dépendances pour un paquet Deb ?

  4. Répertorier tous les packages suggérés pour les packages actuellement installés ?

  5. Allez-y - Une liste de tâches moderne avec une minuterie

SQL vs NoSQL :quelle est la différence ?

Comment lister toutes les bases de données dans PostgreSQL

Comment afficher une liste de toutes les bases de données dans MySQL

Qu'est-ce qu'une base de données ?

Comprendre les techniques de modélisation de données NoSQL

Comment afficher la liste de toutes les bases de données sur MySQL