Qu'est-ce que nosql
Introduction à nosql
NoSQL fait référence à une base de données non relationnelle. NoSQL est parfois appelé l'abréviation de Not Only SQL, qui est un terme général désignant les systèmes de gestion de bases de données différents des bases de données relationnelles traditionnelles. NoSQL est utilisé pour le stockage de données à très grande échelle. Ces types de magasins de données ne nécessitent pas de schéma fixe et peuvent évoluer sans opérations redondantes.
2. La différence entre Nosql et les bases de données relationnelles
1. Une base de données est tabulaire, elle est donc stockée dans des lignes et des colonnes de tableaux. Ils sont facilement liés au stockage collaboratif, souvent stocké dans des ensembles de données, tels que des documents, des paires clé-valeur ou des structures graphiques.
2. Structure de stockage
La base de données relationnelle correspond aux données structurées. Les tables de données ont des structures prédéfinies (définitions de colonnes), et la structure décrit la forme et la forme des données. contenu. Ceci est crucial pour la modélisation des données. Bien que les structures prédéfinies apportent fiabilité et stabilité, la modification de ces données est difficile. La base de données Nosql est basée sur une structure dynamique et utilise des données non structurées. La base de données Nosql étant une structure dynamique, elle peut facilement s'adapter aux changements de type et de structure des données.
3. Spécifications de stockage
Pour une standardisation plus élevée, le stockage des données dans les bases de données relationnelles est divisé en plus petites tables relationnelles pour éviter la duplication et obtenir une utilisation rationalisée de l'espace. Bien que la gestion soit très claire, lorsqu'une seule opération est conçue pour plusieurs tables, la gestion des données devient un peu gênante. Les données Nosql sont stockées dans des ensembles de données plats et les données peuvent souvent être répétées. Les bases de données individuelles sont rarement séparées, mais sont stockées dans leur ensemble, ce qui rend l'ensemble des données plus facile à lire et à écrire.
4. Expansion du stockage
C'est peut-être la plus grande différence entre les deux. Les bases de données relationnelles évoluent verticalement, ce qui signifie que si vous souhaitez améliorer les capacités de traitement, vous en avez besoin. utiliser un ordinateur plus rapide. Étant donné que les données sont stockées dans des tables relationnelles, le goulot d'étranglement des performances de l'opération peut impliquer plusieurs tables et doit être surmonté en améliorant les performances de l'ordinateur. Bien qu’il y ait une grande marge d’expansion, la limite supérieure de l’expansion verticale finira par être atteinte. La base de données Nosql est évolutive horizontalement et son stockage est naturellement distribué. La charge peut être partagée en ajoutant des serveurs de base de données plus ordinaires au pool de ressources.
5. Méthode de requête
La base de données relationnelle exploite la base de données via un langage de requête structuré (qui est ce que nous appelons habituellement SQL). SQL prend en charge les opérations CURD de base de données, qui sont très puissantes et sont d'usage standard dans l'industrie. Les requêtes Nosql exploitent les données par blocs et utilisent un langage de requête non structuré (UnQl), qui n'a pas de standard. La notion de clé primaire dans une table de base de données relationnelle correspond à l'ID d'un document stocké dans Nosql. Les bases de données relationnelles utilisent des méthodes d'optimisation prédéfinies (telles que les index) pour accélérer les opérations de requête, tandis que Nosql dispose d'un mode d'accès aux données plus simple et plus précis.
6. Transactions
La base de données relationnelle suit les règles ACID (atomicité, cohérence, transactions basiquement disponibles, souples/flexibles (Soft-state), cohérence éventuelle (cohérence éventuelle) ). En raison de la forte cohérence des données dans les bases de données relationnelles, les bases de données relationnelles prennent en charge un contrôle précis de l'atomicité des transactions et sont faciles à récupérer. La base de données Nosql choisit deux des CAP (cohérence, disponibilité, tolérance de partition). il est difficile de tous les satisfaire dans un système distribué basé sur des nœuds, donc la prise en charge des transactions n'est pas très bonne, même si les transactions peuvent être utilisées, mais elles ne sont pas le point fort de Nosql
.7. Performances
Les bases de données relationnelles paient un prix énorme pour maintenir la cohérence des données, en lecture et en écriture.
Le format de stockage Nosql est essentiel. type de valeur, et il est stocké en mémoire, ce qui est très facile à stocker Et Nosql a de faibles exigences en matière de cohérence des données, aucune analyse SQL n'est requise, ce qui améliore les performances de lecture et d'écriture 8. Méthode d'autorisationLes bases de données relationnelles incluent généralement SQL Server, Mysql et Oracle redis, le coût est relativement élevé et les bases de données Nosql sont généralement open source 3. Pourquoi utiliser NoSQL ?
Aujourd'hui, nous pouvons utiliser des plateformes tierces (telles que Google, Facebook, etc.) pour accéder et capturer facilement les informations personnelles des utilisateurs. , les réseaux sociaux, les emplacements géographiques, les données générées par les utilisateurs et les journaux d'opérations des utilisateurs ont augmenté de façon exponentielle. Si nous voulons exploiter ces données utilisateur, alors les bases de données SQL ne sont plus adaptées à ces applications, mais le développement de bases de données NoSQL peut gérer ces données volumineuses. eh bien.
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!