NoSql vs Base de données relationnelle

Récemment, NoSQL a acquis une immense popularité.

Quels sont les avantages de NoSQL par rapport aux SGBDR traditionnels?

Toutes les données ne sont pas relationnelles. Pour ces situations, NoSQL peut être utile.

Cela dit, NoSQL signifie “Not Only SQL”. Il n’est pas destiné à bash SQL ou à le supplanter.

SQL présente plusieurs avantages très importants:

  1. Solide base mathématique.
  2. Syntaxe déclarative
  3. Un langage bien connu dans le langage SQL (Structured Query Language).

Ceux-ci ne sont pas partis.

C’est une erreur de penser à ceci comme un argument ou un argument. NoSQL est une alternative que les gens ont besoin de prendre en compte quand il le faut, c’est tout.

Les documents peuvent être stockés dans des bases de données non relationnelles, comme CouchDB.

Peut-être que lire cela aidera.

L’histoire semble ressembler à ceci:

  1. Google a besoin d’une couche de stockage pour son index de recherche inversé. Ils pensent qu’un SGBDR traditionnel ne va pas le couper. Ils implémentent donc un magasin de données NoSQL, BigTable sur leur système de fichiers GFS. La majeure partie est que des milliers de machines de matériel bon marché fournit la vitesse et la redondance.

  2. Tout le monde réalise ce que Google vient de faire.

  3. Le théorème CAP de Brewers est prouvé. Tous les systèmes RDBMS utilisés sont des systèmes CA. Les gens commencent à jouer avec les systèmes CP et AP. Les magasins K / V sont beaucoup plus simples et constituent donc le principal vecteur de recherche.

  4. Les systèmes logiciels en tant que service en général ne fournissent pas de magasin de type SQL. Par conséquent, les gens s’intéressent davantage aux magasins de type NoSQL.

Je pense qu’une grande partie du décollage peut être liée à cette histoire. Mise à l’échelle Google a pris de nouvelles idées chez Google et tous les autres suivent, car c’est la seule solution qu’ils connaissent au problème de la mise à l’échelle en ce moment. Par conséquent, vous êtes prêt à tout retravailler autour de l’idée de firebase database dissortingbuée de Google, car c’est le seul moyen d’évoluer au-delà d’une certaine taille.

C – Cohérence
A – Disponibilité
P – Tolérance de partition
K / V – Clé / Valeur

NoSQL est meilleur que le SGBDR en raison des raisons / propriétés suivantes de NoSQL

  1. Il supporte les données semi-structurées et les données volatiles
  2. Il n’a pas de schéma
  3. Le débit de lecture / écriture est très élevé
  4. L’extensibilité horizontale peut être réalisée facilement
  5. Prend en charge Bigdata dans les volumes de Terra Bytes & Peta Bytes
  6. Fournit un bon support pour les outils analytiques sur Bigdata
  7. Peut être hébergé dans des machines moins chères
  8. L’option de mise en cache en mémoire est disponible pour améliorer les performances des requêtes
  9. Cycle de vie de développement plus rapide pour les développeurs

MODIFIER:

Pour répondre à la question “pourquoi le SGBDR ne peut pas évoluer”, veuillez consulter le pdf du SGBDR Overheads écrit par Stavros Harizopoulos, Daniel J. Abadi, Samuel Madden et Michael Stonebraker.

Les SGBDR ont du mal à gérer d’énormes volumes de données contenant des téraoctets et des octets Peta . Même si vous disposez d’une masortingce de disques redondants et indépendants (RAID) et de la destruction des données, il n’est pas adapté aux volumes de données volumineux. Vous avez besoin d’un matériel très coûteux.

Journalisation : L’ assemblage des enregistrements de journal et le suivi de toutes les modifications dans les structures de la firebase database ralentissent les performances. La journalisation peut ne pas être nécessaire si la récupérabilité n’est pas une exigence ou si la récupérabilité est fournie par d’autres moyens (par exemple, d’autres sites sur le réseau).

Verrouillage : le locking en deux phases traditionnel représente une surcharge considérable, car tous les access aux structures de firebase database sont régis par une entité distincte, le gestionnaire de locking.

Verrouillage : dans une firebase database multithread, de nombreuses structures de données doivent être verrouillées avant d’être accessibles. La suppression de cette fonctionnalité et l’adoption d’une approche à thread unique ont un impact notable sur les performances.

Gestion du tampon : un système de firebase database de mémoire principale n’a pas besoin d’accéder aux pages via un pool de mémoire tampon, ce qui élimine un niveau d’indirection sur chaque access d’enregistrement.

Cela ne signifie pas que nous devons utiliser NoSQL sur SQL.

Néanmoins, le SGBDR est meilleur que NoSQL pour les raisons / propriétés suivantes du SGBDR

  1. Transactions avec les propriétés ACID – Atomicity, Consistency, Isolation & Durability
  2. Adhésion au schéma fort de données en cours d’écriture / lecture
  3. Gestion des requêtes en temps réel (en cas de taille de données <1 0 10 octets Tera)
  4. Exécution de requêtes complexes impliquant des clauses join & group by

Nous devons utiliser le SGBDR (SQL) et le NoSQL (non seulement SQL) en fonction de l’parsing de rentabilisation et des exigences

NOSQL ne présente aucun avantage particulier par rapport au modèle de firebase database relationnelle. NOSQL répond à certaines limitations des SGBD SQL actuels, mais n’implique aucune fonctionnalité fondamentalement nouvelle par rapport aux modèles de données précédents.

NOSQL signifie seulement pas de SQL (ou “pas seulement SQL”) mais cela ne veut pas dire la même chose que pas de relationnel . Une firebase database relationnelle constituerait en principe une très bonne solution NOSQL – il est juste qu’aucun des produits NOSQL actuels n’utilise le modèle relationnel.

Si vous avez besoin de traiter énormément de données avec des performances élevées

OU

Si le modèle de données n’est pas prédéterminé

puis

La firebase database NoSQL est un meilleur choix.

Les SGBDR se concentrent davantage sur la relation et NoSQL se concentre davantage sur le stockage.

Vous pouvez envisager d’utiliser NoSQL lorsque votre SGBDR atteint des goulots d’étranglement. NoSQL rend le SGBDR plus flexible.

Le plus grand avantage de NoSQL sur RDBMS est l’évolutivité. Les bases de données NoSQL peuvent facilement évoluer vers de nombreux nœuds, mais pour les SGBDR, c’est très difficile. L’évolutivité vous donne non seulement plus d’espace de stockage, mais également des performances beaucoup plus élevées, car de nombreux hôtes fonctionnent en même temps.

De mongodb.com:

Les bases de données NoSQL se distinguent des anciennes technologies relationnelles dans quatre domaines principaux:

Modèles de données : Une firebase database NoSQL vous permet de créer une application sans avoir à définir le schéma en premier, contrairement aux bases de données relationnelles qui vous permettent de définir votre schéma avant de pouvoir append des données au système. Aucun schéma prédéfini ne facilite la mise à jour des bases de données NoSQL à mesure que vos données et vos besoins changent.

Structure des données : Les bases de données relationnelles ont été créées à une époque où les données étaient assez structurées et clairement définies par leurs relations. Les bases de données NoSQL sont conçues pour gérer des données non structurées (textes, publications sur les réseaux sociaux, vidéos, e-mail) qui constituent la plupart des données existantes.

Mise à l’échelle : il est beaucoup moins coûteux de mettre à niveau une firebase database NoSQL qu’une firebase database relationnelle, car vous pouvez append de la capacité en augmentant votre capacité par rapport à des serveurs de base bon marché. Les bases de données relationnelles, quant à elles, nécessitent un serveur unique pour héberger l’intégralité de votre firebase database. Pour évoluer, vous devez acheter un serveur plus gros et plus coûteux.

Modèle de développement : les bases de données NoSQL sont open source alors que les bases de données relationnelles sont généralement des sources fermées avec des droits de licence liés à l’utilisation de leurs logiciels. Avec NoSQL, vous pouvez vous lancer dans un projet sans gros investissement en frais de logiciels.