Base de données distribuée
( Apprenez comment et quand supprimer ce message ) Une base de données distribuée est une base de données dont les données sont stockées sur différents sites physiques. Elles pe...
Une base de données distribuée est une base de données dont les données sont stockées sur différents sites physiques. Elles peuvent être stockées sur plusieurs ordinateurs situés au même endroit (par exemple, un centre de données) ou réparties sur un réseau d'ordinateurs interconnectés. Contrairement aux systèmes parallèles , où les processeurs sont étroitement couplés et constituent un système de base de données unique, un système de base de données distribuée est constitué de sites faiblement couplés qui ne partagent aucun composant physique.
Les administrateurs système peuvent répartir des ensembles de données (par exemple, dans une base de données) sur plusieurs sites physiques. Une base de données distribuée peut résider sur des serveurs en réseau organisé ou sur des ordinateurs indépendants décentralisés sur Internet , sur des intranets ou extranets d'entreprise , ou sur d'autres réseaux de l'organisation . Du fait de la répartition des données sur plusieurs ordinateurs, les bases de données distribuées peuvent améliorer les performances sur les postes de travail des utilisateurs finaux en permettant le traitement des transactions sur plusieurs machines, au lieu d'être limitées à une seule.
Deux processus garantissent que les bases de données distribuées restent à jour et actuelles : la réplication et la duplication .
- La réplication utilise un logiciel spécialisé qui détecte les modifications apportées à la base de données distribuée. Une fois ces modifications identifiées, le processus de réplication harmonise toutes les bases de données. Ce processus peut s'avérer complexe et long, en fonction de la taille et du nombre de bases de données distribuées. Il peut également nécessiter d'importantes ressources informatiques.
- La duplication, en revanche, est moins complexe. Elle consiste à identifier une base de données comme base principale , puis à la dupliquer. Ce processus est généralement exécuté à une heure fixe en dehors des heures de bureau, afin de garantir que chaque emplacement distribué contienne les mêmes données. Lors de la duplication, les utilisateurs ne peuvent modifier que la base de données principale, ce qui évite l'écrasement des données locales.
La réplication et la duplication permettent toutes deux de maintenir les données à jour dans tous les emplacements de distribution.
Outre la réplication et la fragmentation des bases de données distribuées , il existe de nombreuses autres technologies de conception de bases de données distribuées. Citons par exemple l'autonomie locale et les technologies de bases de données distribuées synchrones et asynchrones. La mise en œuvre de ces technologies dépend des besoins de l'entreprise, de la sensibilité et de la confidentialité des données stockées, ainsi que du budget que l'entreprise est prête à investir pour garantir la sécurité , la cohérence et l'intégrité des données .
Lorsqu'il s'agit d'accès aux bases de données distribuées, Microsoft privilégie le terme « requête distribuée », qu'il définit de manière spécifique au protocole comme « toute instruction SELECT, INSERT, UPDATE ou DELETE qui fait référence à des tables et à des ensembles de lignes provenant d'une ou plusieurs sources de données OLE DB externes » . Oracle propose une vision plus axée sur le langage, dans laquelle les requêtes distribuées et les transactions distribuées font partie du SQL distribué .
Architecture
Il existe 3 principaux types d'architecture pour les bases de données distribuées :
- Mémoire partagée : très rarement utilisée
- disque partagé
- Rien de partagé
Dans les architectures à mémoire partagée et à disque partagé, les données ne sont pas partitionnées , mais il doit s'agir d'une architecture sans partage.
L'architecture à disque partagé est plus courante pour les bases de données cloud que pour les bases de données sur site.
Historiquement, l'architecture « sans partage » a été la première à être mise en œuvre sur le cloud, avant que l'avènement du stockage cloud partagé ne rende possible le disque partagé.
En pratique, les différentes couches d'une base de données peuvent avoir des architectures différentes. Il est désormais courant d'avoir une couche de calcul avec une architecture sans partage et une couche de stockage avec une architecture à disque partagé. C'est par exemple le cas de Snowflake et d'AWS Aurora .