NoSQL 101

Auteur: Judy Howell
Date De Création: 26 Juillet 2021
Date De Mise À Jour: 21 Juin 2024
Anonim
How do NoSQL databases work? Simply Explained!
Vidéo: How do NoSQL databases work? Simply Explained!

Contenu


À emporter:

Les bases de données non relationnelles, ou NoSQL, sont devenues un modèle alternatif de premier plan pour les gestionnaires de bases de données, car elles sont meilleur marché, plus flexibles, elles nécessitent moins de gestion et sont plus évolutives.

Pendant de nombreuses années, les bases de données relationnelles ont dominé la gestion de bases de données. Mais plus maintenant. Aujourd'hui, les bases de données non relationnelles, ou NoSQL, sont devenues un modèle alternatif de premier plan pour les gestionnaires de bases de données. Pourquoi? Ils sont moins chers, plus flexibles, ils nécessitent moins de gestion et sont plus évolutifs (ce qui devient de plus en plus important avec la croissance du big data).

Ici, jetons un coup d’œil introductif à cette forme croissante de gestion de bases de données.

Quelques informations sur la gestion de base de données

Une base de données est une collection d'enregistrements de données sous une forme organisée. Afin de stocker, accéder et manipuler ces données, nous avons besoin d'une structure. Cette structure peut aller d’un simple système de fichiers à un système de gestion de base de données (SGBD) sophistiqué. Les deux ont leurs propres avantages et inconvénients, mais un SGBD est généralement préféré pour des raisons telles que:


  • Un SGBD peut gérer de grandes quantités de données.
  • Les fonctionnalités de sauvegarde, de restauration et de restauration des données du système ne sont souvent pas prises en charge dans un système de fichiers.
  • La redondance des données est bien gérée dans un SGBD, ce qui évite les utilisations abusives de la mémoire.
  • Une base de données peut être mieux équipée avec des mesures de sécurité pour préserver l’état et l’intégrité des données stockées.
  • Un SGBD prend en charge l'accès multi-utilisateur et prend en charge les problèmes de simultanéité.
  • Un SGBD fournit plusieurs vues utilisateur ainsi que plusieurs couches d'abstraction.
  • Un SGBD conserve les propriétés ACID essentielles lors de l'extraction et de la mise à jour des données.

La plupart des systèmes de base de données modernes sont des systèmes de gestion de base de données relationnelle (SGBDR), dans lesquels les données résident dans des tables avec un minimum de duplication. Comme son nom l'indique, une base de données relationnelle établit des relations entre des données et permet d'extraire et de visualiser les mêmes données dans les bases de données de nombreuses manières différentes. Cependant, ce contrôle a un coût. (Pour plus d'informations, consultez An Introduction to Databases.)


Qu'est-ce que NoSQL?

NoSQL est un type de base de données qui n’adhère pas au modèle de gestion de base de données relationnelle largement utilisé. En d'autres termes, les bases de données NoSQL ne sont pas principalement construites sur des tables et, contrairement au SGBDR, elles n'utilisent pas SQL pour manipuler des données - d'où le nom. NoSQL a été créé pour prendre en charge SQL et non pour le remplacer. Il est basé sur un modèle moins strict et ne suit pas essentiellement un schéma fixe. Il se peut également que cela ne colle pas aux propriétés ACID et qu’il n’existe pas de concept similaire à JOIN, contrairement à la plupart des SGBDR.

Une excellente définition de NoSQL provient de nosql-database.org, qui définit le terme comme suit:

Les bases de données de nouvelle génération abordant principalement certains des points suivants: non relationnelles, distribuées, à source ouverte et évolutives horizontalement. L'intention initiale était d'utiliser des bases de données modernes à l'échelle Web. Souvent, davantage de caractéristiques s’appliquent, telles que: sans schéma, prise en charge facile de la réplication, API simple, éventuellement cohérente / BASE (non ACID), une énorme quantité de données, etc.

L'histoire et les racines de NoSQL

Juste pour être un peu plus déroutant, il existe un SGBDR appelé NoSQL. Il a ses racines dans les années 1990 et a été créé par Carl Strozzi. C'est en fait complètement différent. c'est un système relationnel, mais sans interface SQL. Strozzi a commenté que ce qui est actuellement connu sous le nom de NoSQL aurait dû s'appeler "NoREL" ou quelque chose du genre.

Pas de bugs, pas de stress - Votre guide étape par étape pour créer un logiciel qui change la vie sans vous détruire

Vous ne pouvez pas améliorer vos compétences en programmation lorsque personne ne se soucie de la qualité des logiciels.

Le mouvement moderne de NoSQL qui nous intéresse concerne les géants de l'informatique tels que Google et Amazon, et leur besoin d'une base de données capable de s'adapter à l'énorme quantité de données qu'ils produisaient. Bien entendu, le mot à la mode utilisé pour cela a évolué pour devenir ce que l’on appelle le big data, dont NoSQL est une partie importante. (Pour en savoir plus, lisez The Evolution of Big Data.)

Sans trop préciser les dates, dans les années 2000, mais surtout pendant la dernière moitié de la décennie, presque toutes les grandes entreprises Web ont été impliquées dans NoSQL d’une manière ou d’une autre, avec des systèmes de gestion de bases de données tels que BigTable, CouchDB, Amazon Dynamo, MongoDB. , Cassandra et Hadoop, parmi beaucoup d’autres (voir un historique ici, et une excellente liste ici). Le nom NoSQL a été lancé par un employé de Rackspace, Eric Evans, en 2009. Il a utilisé ce nom pour une réunion portant sur les "bases de données open source, distribuées et non relationnelles". Après cela, le nom est resté coincé.

Pourquoi utiliser NoSQL?

Pourquoi utilisons-nous NoSQL quand nous avons nos bons vieux SGBDR? La réponse est que, dans certains cas, un SGBDR ne suffit pas, alors que dans d'autres, il est excessif. Voici quelques inconvénients des bases de données relationnelles qui peuvent faire de NoSQL une meilleure solution:

  • Une application peut avoir besoin de stocker des données dans un réseau hiérarchique ou une arborescence.
  • Vous souhaiterez peut-être simplement stocker les éléments de l'application dans un stockage persistant de manière cohérente, mais le SGBDR peut être assez coûteux en termes de coût et de ressources.
  • NoSQL convient mieux lorsque les entités d’application ont besoin d’une capacité d’interrogation.
  • Le SGBDR peut échouer si vous travaillez sur une base de données distribuée ou sur une application basée sur un nuage pour plus de disponibilité et de durabilité.
  • NoSQL ne nécessite pas de définition de schéma rigide ni de stockage de métadonnées pour compléter les données existantes.

L’essentiel à comprendre est qu’il existait un besoin imputable à l’énorme quantité de données et à l’évolution des besoins en bases de données. Au fur et à mesure que le Web devenait plus social, il ne s'agissait pas simplement de lire, mais d'écrire et de savoir comment faire évoluer cela. Dans ces cas, NoSQL est supérieur à un SGBDR plus traditionnel.

The Bottom Line sur NoSQL

À l'instar des géants de l'internet, de nombreuses entreprises et organisations qui traitent d'énormes quantités de données utilisent NoSQL avec leurs SGBD existants pour des performances et une efficacité accrues. Si vous utilisez des applications Web volumineuses, vous aurez probablement besoin d'une connaissance approfondie de NoSQL.

Pour les petites entreprises, la valeur de NoSQL n’est pas tout à fait aussi forte, d’autant plus que sa mise en œuvre pose de sérieux problèmes, notamment le manque de support, de compétences, d’administration, d’analyse et de veille stratégique. Le fait est que la petite entreprise moyenne ne génère pas de pétaoctets de données tous les jours. Cela dit, la popularité des NoSQL ne cesse de croître et continuera probablement d’être un outil et une compétence de plus en plus importants pour les gestionnaires de bases de données. Par conséquent, il n’est pas inutile de connaître au moins les bases.