ACTUALITÉ SCIENTIFIQUE
ET INNOVATION DE L'ÉTS
Les bases de données distribuées : partie 1 – Qu’est-ce que c’est ? - Par : Abraham Gomez,

Les bases de données distribuées : partie 1 – Qu’est-ce que c’est ?


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.

Image d’entête provenant de http://www.megware.com, licence GNU, source.

Dans un précédent article, Les bases de données : un outil et un défi en entreprise, nous avons étudié les bases de données en donnant leur définition, une brève explication de la manière dont elles sont organisées sur le disque, leurs principales caractéristiques qui peuvent soutenir les entreprises et finalement, une brève liste des défis primordiaux auxquels les bases de données sont confrontées actuellement, tels que la manière d’augmenter la taille des fichiers, le Cloud Computing, le BigData et la sécurité. Cet article en deux parties expliquera le concept des bases de données distribuées.

La définition des bases de données dans l’article précédent englobe le concept de « centralisation ». Ceci signifie que la base de données est stockée dans sa totalité à un emplacement physique unique (Elle peut être sur plusieurs disques dans une étagère de serveurs mais toujours dans un seul emplacement). Le logiciel destiné à stocker et à partager les informations contenues dans une base de données s’appelle Système de gestion de base de données (SGBD). Une base de données centralisée est gérée par un seul SGBD. Ses divers traitements sont confiés à une seule et même unité de traitement.

BDD1

Figure 1: Bases de données centralisées. Source [Img1]

La figure 1 montre que le concept ci-dessus contient la possibilité d’accès à distance, en utilisant le cloud par exemple, ce qui amène à penser que la différence entre un système centralisé et un système distribué ne tient pas à la manière d’accéder ou d’utiliser ou non du Cloud. En effet, la différence est en nombre de processeurs, sites ou SGBD. En d’autres termes, une base de données distribuée est gérée par plusieurs processeurs, sites ou SGBD, tout en cachant la complexité des opérations aux utilisateurs qui à leur tour pensent qu’ils accèdent à une base de données centralisée. Les bases de données distribuées peuvent être stockées dans plusieurs ordinateurs qui sont situés dans un même lieu physique, ou dispersées sur un réseau d’ordinateurs interconnectés (comme dans le Cloud). D’habitude, ces ordinateurs s’appellent « nœuds ». La figure 2 illustre ce concept de façon simplifiée. Dans les systèmes distribués, il faut faire la distinction entre une base de données distribuée homogène et une autre qui est hétérogène. La première est caractérisée par le fait que toutes les instances ou nœuds démarrent sur un seul logiciel et partagent un seul matériel informatique (hardware); de plus, le système peut être affiché dans une interface unique comme s’il s’agissait d’une seule base de données. Le deuxième type peut avoir différents matériels informatiques (hardware), systèmes d’exploitation, SGBD, et différents schémas de base de données (la structure décrite dans un langage formel qui soutient le modèle géré par le SGBD).

Figure 2: Bases de données distribuées. Source [Img2].

Figure 2: Bases de données distribuées. Source [Img2].

Les bases de données distribuées, également appelées « bases de données réparties »,  peuvent être confondues avec d’autres types de bases de données comme les bases de données fédérées ou les bases de données parallèles. Dans cet article, nous allons considérer comme étant similaires ces différents types de base de données, donc, sans tenir compte de leurs différences, pour des fins de compréhension des concepts expliqués.

Architecture de la répartition des données

Il existe deux grandes tâches dans la conception des bases de données distribuées. Premièrement, il faut établir la manière dont les nœuds communiquent entre eux. Selon l’exemple, les trois nœuds pourraient être organisés soit d’une telle manière qu’un seul nœud opère comme serveur et les autres comme clients, soit d’une manière où tous les nœuds auront une importance équivalente (figure 3).

Figure 3: Différents nœuds des bases de données distribuées. Source [Img3].

Figure 3: Différents nœuds des bases de données distribuées. Source [Img3].

La deuxième tâche consiste à définir la manière de répartir les données. Trois méthodes peuvent s’appliquer dans ce cas-ci : elles peuvent être partitionnées, répliquées ou hybrides. Dans une base de données distribuée partitionnée, la base de données entière est divisée en trois parties (A, B, C), où chacune des bases est stockée dans des nœuds différents (figure 4).

Figure 4: Bases de données distribuées partitionnées. Source [Img4].

Figure 4: Bases de données distribuées partitionnées. Source [Img4].

Dans les bases de données distribuées répliquées, la base de données entière est répliquée dans chaque nœud. Il est évident que cette méthode réduit les coûts de communication et augmente les performances du système en éliminant le besoin pour la transmission de données à des nœuds différents. Malheureusement, cette méthode est très chère à cause de la mise à jour des données (figure 5).

Figure 5: Bases de données distribuées répliquées. Source [Img5].

Figure 5: Bases de données distribuées répliquées. Source [Img5].

Les bases de données distribuées hybrides, quant à elles, sont une combinaison des méthodes précédentes. La base de données se divise sur un modèle d’utilisation, c’est-à-dire, les données sont stockées dans des nœuds où il est possible d’accéder plus fréquemment (figure 6).

Figure 6: Bases de données distribuées hybrides. Source [Img6].

Figure 6: Bases de données distribuées hybrides. Source [Img6].

Évidemment, les bases de données distribuées sont un sujet très vaste qui nécessite plus d’un article pour être traitées en profondeur. Ainsi, un prochain article traitera des points forts et des points faibles de ces systèmes et des bonnes raisons de les utiliser.

Abraham Gomez

Profil de l'auteur(e)

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 

Profil de l'auteur(e)