Maison  >  Article  >  base de données  >  Que sont les bases de données nosql ?

Que sont les bases de données nosql ?

藏色散人
藏色散人original
2019-08-03 11:09:2532854parcourir

De nos jours, les bases de données NoSQL sont de plus en plus populaires, et j'ai résumé ici quelques excellentes bases de données NoSQL gratuites et open source. Parmi ces bases de données, MongoDB domine la liste et est très utilisée. Ces bases de données NoSQL gratuites et open source sont hautement évolutives et flexibles, ce qui les rend idéales pour le stockage et le traitement de Big Data. Par rapport aux bases de données relationnelles traditionnelles, ces bases de données NoSQL présentent de grands avantages en termes de performances.

Que sont les bases de données nosql ?

Cependant, ces bases de données NoSQL ne sont peut-être pas les meilleures pour vous. Les applications les plus courantes peuvent toujours être développées à l’aide de bases de données relationnelles traditionnelles. Les bases de données NoSQL ne sont toujours pas bien adaptées à ces exigences de transactions critiques. J'ai donné une brève introduction à ces bases de données, jetons un coup d'œil.

1. MongoDB

MongoDB est une base de données orientée document qui utilise le format de données de style JSON. Il est très adapté aux applications de stockage de données, de gestion de contenu et de mise en cache de sites Web, et peut être configuré pour réaliser des fonctions de réplication et de haute disponibilité.

MongoDB est hautement évolutif et offre d'excellentes performances. Il est écrit en C++ et repose sur le stockage de documents. De plus, MongoDB prend également en charge la recherche en texte intégral, la haute disponibilité sur WAN et LAN, la réplication facile à mettre en œuvre, l'expansion horizontale, les requêtes riches basées sur des documents et une grande flexibilité dans le traitement et l'agrégation des données.

2. Cassandra

Il s'agit d'un projet de l'Apache Software Foundation. Cassandra est une base de données distribuée qui prend en charge le stockage de données décentralisé, peut atteindre une tolérance aux pannes et n'a pas de base de données unique. point d'échec, attendez. En d’autres termes, « Cassandra convient parfaitement aux applications qui ne peuvent tolérer la perte de données ».

3. CouchDB

Également un projet de l'Apache Software Foundation, CouchDB est une autre base de données orientée document qui stocke les données au format JSON. Il est compatible ACID Comme MongoDB, CouchDB peut également être utilisé pour stocker des données et du contenu de sites Web, ainsi que pour fournir une mise en cache, etc. Vous pouvez exécuter des requêtes MapReduce sur CouchDB via JavaScript. De plus, CouchDB fournit également une console de gestion Web très pratique. Il est très adapté aux applications Web.

4. Hypertable

Hypertable imite le système de base de données BigTable de Google. Les créateurs d'Hypertable se sont fixé comme objectif d'Hypertable de « devenir le standard open source pour les bases de données hautement disponibles à l'échelle du pétaoctet ». En d’autres termes, Hypertable est conçu pour stocker de manière fiable de grandes quantités de données sur plusieurs serveurs bon marché.

5. Redis

Il s'agit d'un magasin de valeurs-clés avancé et open source. Redis est également appelé serveur de structure de données en raison de l'utilisation de clés de hachage, d'ensemble, de chaîne, d'ensemble trié et de liste. Ce système vous aide à effectuer des opérations atomiques, telles que l'ajout de valeurs aux hachages, les opérations d'intersection sur les ensembles, la concaténation de chaînes, les différences et les unions, etc. Redis permet des performances élevées avec des ensembles de données en mémoire. De plus, la base de données est compatible avec la plupart des langages de programmation.

6. Riak

Riak est l'une des bases de données distribuées les plus puissantes. Elle offre une évolutivité simple et prévisible, offrant aux utilisateurs des capacités de test, de prototypage et de déploiement d'applications rapides. simplifier le processus de développement d’applications.

7. Neo4j

Neo4j est une base de données de graphes NoSQL à très hautes performances. Il possède toutes les fonctionnalités d'un système robuste et mature, offre aux programmeurs une structure de réseau flexible et orientée objet et permet aux développeurs de profiter pleinement de tous les avantages d'une base de données avec des fonctionnalités de transaction complètes. Par rapport au SGBDR, Neo4j offre également de nombreuses améliorations de performances pour certaines applications.

8. Hadoop HBase

HBase est un stockage Big Data évolutif et distribué. Il peut être utilisé dans des scénarios d’accès en temps réel et aléatoire aux données. HBase a une modularité et une évolutivité linéaire, et peut garantir une stricte cohérence des lectures et des écritures. HBase fournit une API Java pour un accès client facile ; un partitionnement de table configurable et automatisé et des fonctionnalités telles que les filtres Bloom et la mise en cache des blocs.

9. Couchbase

Bien que Couchbase soit un dérivé de CouchDB, il est devenu un produit de base de données entièrement fonctionnel. Son évolution vers des bases de données documentaires mettra sous pression MongoDB. Il est multithread sur chaque nœud, ce qui constitue un avantage majeur en termes d'évolutivité, en particulier lorsqu'il est hébergé sur du matériel personnalisé ou nu. Avec d'excellentes fonctionnalités d'intégration, telles que l'intégration avec Hadoop, Couchbase est un excellent choix pour le stockage de données.

10. MemcacheDB

Il s'agit d'un système de stockage clé-valeur distribué, nous ne devons pas le confondre avec des solutions de mise en cache, c'est plutôt un moteur de stockage persistant pour le stockage ; données et les récupérer de manière très rapide et fiable. Il suit le protocole Memcache. Son backend de stockage est utilisé dans Berkeley DB et prend en charge des fonctionnalités telles que la réplication et les transactions.

11. REVENDB

RAVENDB est une base de données open source de deuxième génération orientée stockage de documents et sans schéma, ce qui facilite le stockage d'objets. Il fournit des requêtes très flexibles et rapides et facilite la mise à l'échelle en fournissant une prise en charge prête à l'emploi pour la réplication, la multilocation et le partitionnement. Il fournit une prise en charge complète des transactions ACID tout en garantissant la sécurité des données. En plus de hautes performances, il offre une évolutivité facile via des offres groupées.

12. Voldemort

Il s'agit d'un système de stockage distribué automatiquement répliqué. Il fournit un partitionnement automatisé des données, une gestion transparente des pannes de serveur, une sérialisation enfichable, des nœuds indépendants, une gestion des versions des données et une distribution des données sur divers centres de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn