07 Jan 2014
|
article de recherche
|
Technologies de l'information et des communications
Les bases de données distribuées : partie 2 – une évolution qui pose des problèmes


Image d’entête provenant de ChrisDag, licence CC, source.
Comme nous l’avions traité dans le dernier article, les bases de données distribuées peuvent être homogènes ou hétérogènes et avoir une architecture hybride (figure 1). À présent, nous discuterons des principales raisons de les utiliser et de leurs différents points forts et points faibles.

Figure 1: Un exemple de bases de données distribuées. Source [Img1].
Pourquoi les utiliser?
On doit utiliser ces types de bases de données si on veut représenter la structure organisationnelle d’un système. Par exemple, l’information la plus pertinente d’un département s’enregistrera près du nœud de ce département. De plus, chaque département pourra contrôler sa propre information. Une autre bonne raison d’utiliser les bases de données distribuées est qu’elles permettent d’enlever une panne dans le système, car s’il y a une défaillance dans un nœud, cela n’affecte qu’un nœud et non la base de données entière. Quant à la performance, les données sont généralement situées à proximité du nœud avec la plus grande demande, également les systèmes fonctionnent en parallèle, permettant aux serveurs d’équilibrer les charges.
Les avantages et les inconvénients de ce système
Un des avantages des systèmes distribués est la possibilité de placer l’information dans le nœud le plus proche et d’obtenir ainsi un accès plus rapide. Les données peuvent être placées physiquement sur le site où elles seront le plus souvent accessibles. Cela implique que les utilisateurs ont un contrôle local des données avec lesquelles ils interagissent et ces utilisateurs pourront appliquer des politiques locales sur le type d’accès à leurs données. De plus, le traitement de l’information est rapide, car plusieurs nœuds peuvent être impliqués dans le traitement de la charge de travail et de nouveaux nœuds peuvent être ajoutés rapidement et facilement. S’il y a une bonne communication entre les nœuds, les coûts d’exploitation sont réduits. De même, la probabilité qu’une seule défaillance de nœud affecte le système entier est faible. Cela signifie qu’il y a de l’autonomie et de l’indépendance entre les nœuds. Les bases de données distribuées peuvent avoir un certain degré de tolérance aux pannes, ce qui rend le fonctionnement du système non dépendant d’un lieu comme dans le cas de bases de données centralisées.

Figure 2: Les bases de données distribuées comme une solution. Source [Img2].
Le principal inconvénient concerne le contrôle et la gestion des données. Depuis que les données résident dans de nombreux nœuds différents et sont disponibles pour différents nœuds du réseau, la probabilité de porter atteinte à la sécurité augmente s’il n’existe aucune précaution. La capacité d’assurer l’intégrité des données en présence de défauts imprévisibles à la fois matériels et logiciels est complexe. L’intégrité comporte la cohérence, la validité et l’exactitude de l’information. Parce que les données peuvent être répliquées, le contrôle de la concurrence et les mécanismes de récupération sont beaucoup plus complexes que dans un système centralisé.
Problèmes à surmonter
Bien que les systèmes distribués soient une solution pour beaucoup d’entreprises (voir figure 2), ils posent des problèmes aux utilisateurs, ceux-ci étant surtout liés à la concurrence, au coût et à la sécurité.
La concurrence est un des grands problèmes à surmonter dans ce modèle et elle implique qu’il faut conceptualiser la manière de faire la répartition de données sur les nœuds. Parce que tous les nœuds sont séparés, un des grands défis est de maintenir tout le système à jour et résoudre beaucoup de problèmes au niveau du hardware ou du software. Si on utilise une base de données partitionnée, il faut disposer d’un logiciel très spécialisé qui surveille les changements dans la base de données distribuée. Une fois qu’une modification a été identifiée, le logiciel démarre un processus de mise à jour de cette modification sur tous les nœuds. Cette option est la meilleure mais elle exige des ressources importantes. Elle est complexe et le temps d’exécution dépend du nombre de bases de données, de leur taille et du nombre de nœuds. Par contre, une base de données répliquée entraîne moins de complexité dans son utilisation. Elle est fondée sur le concept de la base maîtresse ou principale, qui doit être dupliquée sur les autres bases de données. Le processus de duplication se fait normalement à une date fixée après les heures de pointe d’utilisation. Dans ce modèle, les utilisateurs peuvent changer uniquement la base de données principale, ce qui garantit que les autres nœuds ne seront pas écrasés.
Un autre aspect important dont il faut tenir compte est le coût. La distribution entraîne des coûts supplémentaires en termes de communication et de gestion des communications (hardware et software à installer pour gérer les communications et la distribution).
Pour surmonter ces défis, un nouveau type des bases de données est apparu: les bases de données No-SQL, qui seront la thématique du prochain article.

Abraham Gomez
Abraham Gómez est chercheur en TI. Ses intérêts de recherche incluent l’intelligence artificielle, les applications infonuagiques ainsi que les applications génétiques des mégas données. Il termine actuellement un doctorat à l’ÉTS.
Programme : Génie des technologies de l'information Génie logiciel
Domaines d'expertise :
