Maison >base de données >Redis >Que sont les bases de données non relationnelles ?
Les bases de données non relationnelles courantes sont : 1. mongodb ; 2. cassandra ; 4. hbase ; 5. neo4j ; base de données source.
Plusieurs bases de données non relationnelles courantes :
(Partage de vidéos d'apprentissage : tutoriel vidéo redis)
1. MongoDB
MongoDB est la base de données NoSQL la plus connue. Il s'agit d'une base de données open source orientée document. MongoDB est une base de données évolutive et accessible. C'est en C++. MongoDB peut également être utilisé comme système de fichiers. Dans MongoDB, JavaScript peut être utilisé comme langage de requête. MongoDB évolue horizontalement en utilisant le partitionnement. Il est très utile dans les frameworks JavaScript populaires.
Les gens apprécient vraiment les fonctionnalités de partitionnement, de recherche de texte avancée, de gridFS et de réduction de carte. Des performances étonnantes et de nouvelles fonctionnalités placent cette base de données NoSQL en tête de notre liste.
Caractéristiques : offre des performances élevées ; partitionnement automatique ; s'exécute sur plusieurs serveurs ; prend en charge la réplication maître-esclave ; les données sont stockées sous la forme de documents de style JSON ; indexe n'importe quel champ du document ; shards , il dispose donc d'une configuration d'équilibrage de charge automatique ; prend en charge les recherches d'expressions régulières et est facile à gérer en cas d'échec ;
Avantages : MongoDB facile à installer ; MongoDB Inc. fournit un support professionnel aux clients ; prend en charge les requêtes ad hoc ; base de données sans schéma évolutive horizontalement ;
Inconvénients : les connexions ne sont pas prises en charge ; le volume de données est important ; les documents imbriqués sont limités ; l'utilisation inutile de la mémoire est augmentée.
2. Cassandra
Cassandra a été développée par Facebook pour la recherche dans la boîte de réception. Cassandra est un système de stockage de données distribué permettant de traiter de grandes quantités de données structurées. En règle générale, ces données sont distribuées sur de nombreux serveurs communs. Vous pouvez également ajouter une capacité de stockage de données pour maintenir votre service en ligne, une tâche que vous pouvez facilement accomplir. Puisque tous les nœuds du cluster sont identiques, il n’est pas nécessaire de gérer des configurations complexes.
Cassandra est écrite en Java. Cassandra Query Language (CQL) est un langage de type SQL permettant d'interroger les bases de données Cassandra. Par conséquent, Cassandra se classe au deuxième rang des meilleures bases de données open source. Cassandra est utilisée par certaines des plus grandes entreprises telles que Facebook, Twitter, Cisco, Rackspace, eBay, Twitter, Netflix, etc.
Caractéristiques : évolutivité linéaire ; maintient des temps de réponse rapides ; prend en charge des propriétés telles que l'atomicité, la cohérence, l'isolation et la durabilité (ACID) ; prend en charge MapReduce en utilisant Apache Hadoop ; -architecture par les pairs.
Avantages : hautement évolutif ; pas de point de défaillance unique ; réplication multi-DC ; étroitement intégré à d'autres applications basées sur JVM ; plus adapté au déploiement multi-centres de données, à la redondance, au basculement et à la reprise après sinistre.
Inconvénients : prise en charge limitée des agrégations ; performances imprévisibles ; pas de prise en charge des requêtes ad hoc.
3. Redis
Redis est un magasin clé-valeur. De plus, il s’agit du magasin clé-valeur le plus connu. Redis prend en charge certains C++, PHP, Ruby, Python, Perl, Scala, etc. Redis est écrit en langage C. De plus, il est sous licence BSD.
Caractéristiques : basculement automatique ; conserve sa base de données entièrement en mémoire ; les scripts Lua répliquent les données sur n'importe quel nombre d'esclaves ; les clés ont une durée de vie limitée ;
Avantages : prend en charge plusieurs types de données ; est facile à installer ; très rapide (exécute environ 110 000 groupes par seconde, environ 81 000 fois par seconde) ; dans).
Inconvénients : Pas de prise en charge des jointures ; les connaissances Lua requises pour les procédures stockées doivent bien tenir en mémoire ;
4. HBase
HBase est une base de données open source distribuée et orientée colonnes. La technologie vient de l'article de Google "Bigtable : un stockage distribué de données structurées" écrit par Fay Chang. ". Tout comme Bigtable exploite le stockage de données distribué fourni par Google File System, HBase fournit des fonctionnalités de type Bigtable en plus de Hadoop.
HBase est un sous-projet du projet Hadoop d'Apache. HBase est différent des bases de données relationnelles générales en ce sens qu'il s'agit d'une base de données adaptée au stockage de données non structurées. Une autre différence est que HBase est basé sur des colonnes plutôt que sur des lignes.
5. neo4j
Neo4j est appelé une base de données de graphes native car elle implémente efficacement le modèle de graphe d'attributs, jusqu'à la couche de stockage. Cela signifie que les données sont stockées exactement sous forme de tableau blanc et que la base de données utilise des pointeurs pour naviguer et parcourir le graphique. Neo4j propose des versions communautaire et entreprise de la base de données. L'édition Enterprise comprend toutes les fonctionnalités de l'édition Community, ainsi que des besoins supplémentaires de l'entreprise tels que des capacités de sauvegarde, de clustering et de basculement.
Caractéristiques : Il prend en charge les contraintes uniques ; Neo4j prend en charge les règles ACID (atomicité, cohérence, isolation et durabilité) ; API Java : l'API Cypher et l'API Java native incluent le langage de requête simple Apache Lucence ; Interface utilisateur pour l'exécution des commandes CQL : Neo4j Data Browser.
Avantages : Facile à récupérer ses nœuds adjacents ou les détails de la relation sans jointures ni index ; facile à apprendre les commandes du langage de requête Neo4j CQL ; aucune jointure complexe n'est requise pour récupérer des données, très facile à représenter des applications en temps réel ; grandes entreprises Haute disponibilité des programmes ; réglage simplifié.
Inconvénients : Ne prend pas en charge le partitionnement.
Recommandations associées : Tutoriel sur la base de données Redis
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!