Quelle est la différence entre une base de données traditionnelle et une base de données moderne?


Réponse 1:

La plupart des bases de données «modernes» sont des bases de données «traditionnelles»! C'est-à-dire que la majorité des bases de données utilisées aujourd'hui suivent le modèle ACID / relationnel / SQL traditionnel - des 5 premières bases de données du classement DB-Engines sont des systèmes SQL / ACID / relationnels.

Cependant, au cours des 10 dernières années, une «nouvelle génération» de bases de données a rompu avec le modèle traditionnel. Ils se répartissent en quelques catégories:

  • Bases de données qui tentaient principalement de fournir une échelle mondiale plus grande que ce qui pouvait être prévu lorsque des transactions ACID étaient requises - cela inclut Cassandra et DynamoDBDatabases qui fournissent un schéma plus flexible qui améliore l'agilité de développement d'applications - le meilleur exemple est MongoDBDatabases qui offre une meilleure économie pour le stockage de données vraiment massives quantités de données - le meilleur exemple est Hadoop.

Cet article développe ces idées. Mon livre élabore encore plus :-)


Réponse 2:

Je voudrais précéder ma réponse en déclarant que de nombreuses bases de données «traditionnelles» continuent à être largement utilisées par certaines des principales sociétés Fortune 500 et ajoutent constamment de nouvelles fonctionnalités intéressantes. À cet égard, la principale différence entre une base de données «traditionnelle» et «moderne» n'est vraiment qu'une question de date de sa première mise sur le marché.

Si je comprends votre sens, vous confondez probablement des bases de données «modernes» avec la variété NoSQL, qui ont émergé plus récemment que leurs homologues relationnels. Des bases de données comme MongoDB sont intervenues pour offrir une meilleure gestion des «Big Data» et des applications en temps réel.

Les bases de données NoSQL peuvent stocker d'énormes quantités de données avec peu ou pas de structure. Ils ne fixent pas non plus de limites sur les types de données que vous pouvez stocker ensemble, vous permettant d'ajouter de nouveaux types à mesure que vos besoins évoluent. Et vous pouvez stocker des données en un seul endroit sans définir à l'avance le type de données.

Voici quelques-uns des principaux avantages offerts par les bases de données NoSQL:

  1. Tout d'abord, ils ont tendance à être très faciles à installer et à configurer.Ils sont sans schéma, donc votre code définit votre schéma.La capacité à dériver un modèle de données basé sur des documents est l'un des avantages les plus attrayants des bases de données NoSQL. Par exemple, MongoDB stocke les données sous forme de BSON (Binary JSON). Cela lui permet de stocker des tableaux et d'autres types de données complexes.Le langage de requête de document pris en charge par des bases de données comme MongoDB prend en charge les requêtes dynamiques.Ils sont faciles à mettre à l'échelle.En raison de la structuration des données dans les bases de données NoSQL, aucune jointure complexe n'est nécessaire. est assez facile par rapport à toutes les bases de données relationnelles.Vous n'avez pas à mapper les objets d'application aux objets de données.Permet un accès plus rapide aux données en raison de la nature de l'utilisation de la mémoire interne pour le stockage.Les bases de données NoSQL sont imperméables aux injections SQL. également être utilisé comme un système de fichiers, ce qui aide à équilibrer la charge.La prise en charge de Sharding est une fonctionnalité utile. Le partage est le processus de stockage des données sur différentes machines à mesure que la taille des données augmente, entraînant une mise à l'échelle horizontale. Avec le partage, plus de données peuvent être écrites et relues car il y a une augmentation de la croissance des données.

N'oubliez pas que tout n'est pas à l'envers. Les bases de données NoSQL sacrifient la structure pour une plus grande vitesse. Cela en fait un mauvais choix pour des applications telles que les systèmes de paiement.

Il y a moins d'applications clientes disponibles pour les bases de données NoSQL que pour les plus établies comme MySQL. Cela étant dit, Navicat pour MongoDB est un client que j'ai utilisé et que j'aime beaucoup.

J'espère que cela pourra aider!