Faculté informatique et communications IC, Section d'informatique, Institut d'informatique fondamentale IIF (Laboratoire de systèmes répartis LSR)

Group communications and database replication : techniques, issues and performance

Wiesmann, Matthias ; Schiper, André (Dir.)

Thèse sciences Ecole polytechnique fédérale de Lausanne EPFL : 2002 ; no 2577.

Ajouter à la liste personnelle
    Summary
    Databases are an important part of today's IT infrastructure: both companies and state institutions rely on database systems to store most of their important data. As we are more and more dependent on database systems, securing this key facility is now a priority. Because of this, research on fault-tolerant database systems is of increasing importance. One way to ensure the fault-tolerance of a system is by replicating it. Replication is a natural way to deal with failures: if one copy is not available, we use another one. However implementing consistent replication is not easy. Database replication is hardly a new area of research: the first papers on the subject are more than twenty years old. Yet how to build an efficient, consistent replicated database is still an open research question. Recently, a new approach to solve this problem has been proposed. The idea is to rely on some communication infrastructure called group communications. This infrastructure offers some high-level primitives that can help in the design and the implementation of a replicated database. While promising, this approach to database replication is still in its infancy. This thesis focuses on group communication-based database replication and strives to give an overall understanding of this topic. This thesis has three major contributions. In the structural domain, it introduces a classification of replication techniques. In the qualitative domain, an analysis of fault-tolerance semantics is proposed. Finally, in the quantitative domain, a performance evaluation of group communication-based database replication is presented. The classification gives an overview of the different means to implement database replication. Techniques described in the literature are sorted using this classification. The classification highlights structural similarities of techniques originating from different communities (database community and distributed system community). For each category of the classification, we also analyse the requirements imposed on the database component and group communication primitives that are needed to enforce consistency. Group communication-based database replication implies building a system from two different components: a database system and a group communication system. Fault-tolerance is an end-to-end property: a system built from two components tends to be as fault-tolerant as the weakest component. The analysis of fault-tolerance semantics show what fault-tolerance guarantee is ensured by group communication based replication techniques. Additionally a new faulttolerance guarantee, group-safety, is proposed. Group-safety is better suited to group communication-based database replication. We also show that group-safe replication techniques can offer improved performance. Finally, the performance evaluation offers a quantitative view of group communication based replication techniques. The performance of group communication techniques and classical database replication techniques is compared. The way those different techniques react to different loads is explored. Some optimisation of group communication techniques are also described and their performance benefits evaluated.
    Résumé
    Les bases de données représentent une composante importante de l'infrastructure informatique d'aujourd'hui. Que ce soit dans le monde de l'industrie ou de l'administration, de plus en plus d'institutions utilisent des bases de données pour stocker les informations cruciales. Chaque jour, notre société dépend de manière croissante des bases de données. La fiabilisation de ces systèmes est donc devenu une priorité. De ce fait, les bases de données tolérantes aux fautes sont un domaine de recherche dont l'importance va croissant. Une manière d'offrir la tolérance aux pannes est la réplication. La réplication est une approche naturelle aux problèmes des défaillances: si une copie des données ne fonctionne plus, on a recours à une autre copie. Malheureusement, assurer une réplication consistante du point de vue des données n'est pas chose aisée. La recherche sur les bases de données répliquées n'est de loin pas nouvelle: les premières publications sur le sujet fêteront bientôt leur quart de siècle. Toutefois, la question d'une technique de réplication de base de données consistante et efficace reste aujourd'hui encore ouverte. Récemment, une nouvelle approche au problème a été proposée : elle s'appuie sur une infrastructure de communication généralement appelée communications de groupes. Cette infrastructure permet, au moyen de primitives de haut niveau, de simplifier l'architecture et l'implémentation de techniques de réplication. Bien que prometteuse, cette approche n'en est qu'à ses premier balbutiements et la plupart des recherches dans ce domaine n'en sont qu'à un stade exploratoire. Cette thèse se concentre sur les techniques de réplication de bases de données basées sur les communications de groupes. Le but est d'obtenir une certaine compréhension du domaine et de fournir une synthèse. Cette thèse comporte trois contributions majeures. Du point de vue structurel, elle introduit une classification des techniques de réplication. Du point de vue qualitatif, une analyse des garanties de tolérance aux pannes est proposée. Finalement, une analyse de performance offre un point de vue quantitatif sur le sujet. La classification donne un aperçu des différentes approches possibles au problème de la réplication de bases de données. Les différentes techniques proposées dans la littérature sont classifiées et cataloguées. Cette classification met en évidence les similarités structurelles entre des techniques originant de communautés scientifiques différentes (communuauté des basses de donnée et communauté de systèmes répartis). Pour chaque catégorie de techniques, les impératifs imposés au sous-système de base de donnée ainsi que les primitives de communications nécessaires pour assurer la cohérence sont présentés. Les techniques de bases de données basées sur les communications de groupes s'appuient sur deux composants : un module de communication de groupes et un module de base de données. La tolérance aux pannes est une propriété globale : un système construit à partir de deux composants aura tendance à être aussi robuste que le plus faible de ces deux composants. L'analyse des garanties de tolérance aux fautes permet de comprendre quel niveau de robustesse est offert par une technique de réplication basée sur des communications de groupes. Un nouveau critère de tolérance aux pannes est proposé: « group-safety ». Ce critère est plus approprié pour décrire la tolérance aux pannes des techniques de réplication basées sur des communications de groupes. De plus, certaines techniques peuvent être adaptées à ce critère, et ainsi offrir des performances améliorées. Finalement, l'évaluation de performances donne une vue quantitative des performances de techniques de réplication basées sur des communications de groupes. Les performances de ces techniques, ainsi que de techniques de réplication classiques, sont comparées. Le comportement de toutes les techniques à des charges différentes est étudié et présenté. Enfin des optimisations liées à certaines techniques basées sur les communications de groupe sont présentées, et leurs bénéfices en termes de performance sont évalués.