Bases de données SQL
Les bases de données SQL sont traditionnellement mises à l’échelle verticalement. Cela signifie que des ressources (par exemple, des unités centrales, du stockage ou de la mémoire) sont ajoutées à un seul serveur. Bien que cela puisse limiter la croissance possible, puisqu'il n'y a qu'un seul serveur à capacité finie, il y a plusieurs raisons à ce choix :
- Conformité ACID (Atomicity, Consistency, Isolation, and Durability): La conformité ACID se réfère à un ensemble de propriétés qui garantissent la fiabilité, la cohérence et l'intégrité des données des transactions de la base de données. Elle est très importante car de nombreuses bases de données SQL contiennent des informations bancaires et financières qui doivent être conformes aux normes gouvernementales et industrielles. Cependant, il est plus difficile de maintenir la conformité ACID sur un système distribué (par exemple, de nombreux ordinateurs reliés par un réseau) où les ressources sont augmentées via une mise à l'échelle horizontale au lieu d'un ordinateur et d'un serveur à échelle verticale.
- Remarque : certaines bases de données NoSQL à système distribué peuvent maintenir la conformité ACID, comme MongoDB Atlas.
- Gestion des transactions : les mécanismes de gestion des transactions sont utilisés par les bases de données SQL pour maintenir l'intégrité et la cohérence des données. La gestion de transactions simultanées sur plusieurs nœuds dans un environnement de base de données distribuée entraînerait probablement une complexité et une utilisation des ressources supplémentaires qui pourraient avoir une incidence sur l'intégrité des données et éventuellement sur les performances globales de la base de données. Si la mise à l’échelle horizontale devait être utilisée, ces problèmes pourraient survenir.
- Rigidité du schéma : les bases de données SQL utilisent des schémas rigides et prédéfinis avec lesquels elles ingèrent des données. Bien que cela soit simple à gérer dans un environnement à un seul ordinateur/serveur, la complexité serait accrue si un système distribué à échelle horizontale était utilisé. En effet, chaque nœud pourrait avoir une version différente du schéma, ce qui augmenterait la charge administrative et pourrait causer des problèmes supplémentaires de cohérence des données.
Bases de données NoSQL
Les systèmes de bases de données NoSQL sont souvent configurés dans ce que l'on appelle un système distribué. Cela signifie qu'un certain nombre d'ordinateurs indépendants (par exemple, des nœuds) sont reliés par un réseau et travaillent ensemble pour atteindre des objectifs communs. Le fait de faire partie d'un système distribué signifie également que la mise à l'échelle horizontale par rapport à la mise à l'échelle verticale peut être utilisée.
La mise à l'échelle horizontale consiste à augmenter les ressources et la capacité disponibles d'un système distribué en ajoutant des nœuds (par exemple, des ordinateurs, des serveurs) à ce système. Ce faisant, davantage de nœuds sont disponibles pour prendre en charge la charge de travail du système. De plus, il n'y a pratiquement aucune limite à la taille de la base de données du point de vue de la capacité, car des nœuds supplémentaires constamment être ajoutés.
En savoir plus sur la mise à l'échelle des bases de données.
Cas d'utilisation de la technologie de base de données SQL par rapport à la technologie NoSQL
Alors que les bases de données SQL excellent dans la gestion de données relationnelles structurées tout en maintenant l'intégrité transactionnelle et en exécutant des requêtes complexes, les bases de données NoSQL sont inégalées dans la requête et le stockage de données non structurées ou semi-structurées, tout en offrant une évolutivité et une flexibilité illimitées.
Cela dit, les cas d'utilisation jouent un rôle déterminant dans le choix entre les bases de données SQL et NoSQL (par exemple, les bases de données non relationnelles et relational databases). Voici un résumé des points forts et des cas d'utilisation associés aux bases de données SQL et aux bases de données NoSQL.
Cas d'utilisation de la base de données SQL
Les principales caractéristiques des bases de données SQL se prêtent aux cas d’utilisation suivants :
Conformité réglementaire
Étant donné que la structure des bases de données SQL se prête à la conformité ACID, elles sont souvent utilisées pour stocker des données qui doivent répondre à certaines normes gouvernementales ou industrielles.
Les cas d’utilisation ci-dessous impliquent tous un certain niveau de conformité ACID.
Bases de données transactionnelles
Les bases de données transactionnelles stockent des données qui résultent d'une interaction entre deux ou plusieurs parties.
Exemples :
- Bases de données des points de vente des détaillants (PoS)
- Bases de données des ordonnances et des commandes médicales
- Services bancaires aux entreprisess
- Bases de données comptables et financières
Systèmes de planification des ressources de l'entreprise (ERP)
Les systèmes ERP sont utilisés pour aider les entreprises à gérer les processus qui sont essentiels aux opérations, à la gestion des employés, à la production, et plus encore.
Exemples :
- Bases de données des ressources humaines
- Systèmes de gestion de la chaîne d'approvisionnement
- Systèmes de gestion des risques
Cas d'utilisation de bases de données NoSQL
Bien qu'il soit courant de penser que les bases de données NoSQL (non relationnelles, par exemple) ne sont pas conformes à l'ACID, certaines le sont. MongoDB est l'un des principaux exemples de base de données NoSQL, base de données conforme à la norme ACID.
En gardant cela à l'esprit, voici quelques exemples de cas d'utilisation courants des bases de données NoSQL :
Bases de données transactionnelles
Les bases de données transactionnelles peuvent également être prises en charge par les bases de données NoSQL dans la mesure où elles sont utilisées pour stocker des données non structurées qui résultent d'une interaction entre deux ou plusieurs parties.
Exemples :
- Dossiers de patients nécessitant des capacités de base de données non relationnelles (par exemple, dossiers de patients, photos et vidéos de radiographie/scanner)
- Dossiers d'assurance (par exemple, photos d'accidents automobiles, documentation sur les blessures)
- Bases de données de documents juridiques (par exemple, dépositions, plaidoiries, dossiers)
Bases de données orientées document et gestion des actifs numériques (DAM)
Les bases de données orientées document et la gestion des actifs numériques stockent et gèrent des documents, des images, des contenus multimédias, des vidéos et bien plus encore.
Exemples :
- Bibliothèques en ligne (par exemple, bibliothèques juridiques, bibliothèque du Congrès en ligne)
- Plateformes d'édition numérique telles que Kindle ou Nook
- Services de diffusion en continu de médias tels que Netflix et Hulu
- Plateformes de partage de photos en ligne telles que Instagram ou Meta
Analyse de graphiques et de réseaux
Les bases de données de graphiques et de réseaux sont excellentes pour gérer des structures de données telles que les moteurs de recommandation, les réseaux sociaux et l'analyse de réseaux associée, étant donné leur capacité à identifier et à analyser des relations non intuitives au sein d'éléments de données interconnectés.
Exemples :
- Analyse des réseaux sociaux (par exemple, indicateurs quant aux publications et utilisateurs)
- Détection des fraudes qui isole les transactions inhabituelles ou d'autres anomalies
- Graphiques de connaissances (par exemple, quadrants de produits/services de Gartner)
Plateformes de l'internet des objets (IoT)
Les plateformes IoT sont souvent employées pour stocker et analyser les données des capteurs et les métadonnées des appareils en temps réel.
Exemples :
- Systèmes de maison intelligente (par exemple, Google Nest, Amazon Alexa)
- Systèmes de ville intelligente (par exemple, fonctionnement des feux de circulation)
- Collecte d'informations météorologiques