Quels sont les principaux enjeux de recherche dans les transactions distribuées?

10

Contexte: Le traitement des transactions est un sujet de recherche traditionnel en théorie des bases de données. De nos jours, les transactions distribuées sont popularisées par les systèmes de stockage distribué à grande échelle qui impliquent généralement la partition de données (également appelée partitionnement) et la réplication de données .

Quels sont les principaux enjeux de recherche dans les transactions distribuées?

Existe-t-il des théories et des solutions bien connues qui nécessitent des améliorations (théoriques)?

Toutes les références sont appréciées.

hengxin
la source

Réponses:

9

Il existe de nombreux domaines de recherche à la fois dans la théorie et la pratique des bases de données distribuées.

L'un des principaux défis pratiques est celui de la mise en œuvre de mécanismes de contrôle de concurrence efficaces pour les bases de données distribuées et géorépliquées. Afin d'exécuter efficacement les transactions, ces mécanismes peuvent fournir des garanties plus faibles que la serialisabilité, ce qui nécessite que les transactions semblent être exécutées séquentiellement. Une alternative à la serialisabilité est celle de se contenter de l'isolement de l'instantané [1], mais il a été prouvé que cette échelle est mal adaptée aux systèmes géorépliqués et distribués. Dans l'état actuel de la technique, deux variantes différentes de l'isolement de cliché (SI) ont été définies pour gérer le contrôle de concurrence dans les systèmes géorépliqués: l'isolement de cliché parallèle (PSI) [2] et l'isolement de cliché non monotone (NMSI) [ 3,4]. Quant à ce qui concerne les bases de données distribuées (c'est-à-dire où les données sont partagées entre différents sites),

Ayant des notions différentes des niveaux d'isolement qui offrent des garanties plus faibles que la serialisabilité, une autre question importante est celle d'écrire les programmes de manière à ce que les exécutions semblent toujours être sérialisables. Un critère solide pour l'isolement de l'instantané a été conçu dans [1]. Certaines personnes de mon groupe travaillent actuellement à l'élaboration d'un critère raisonnable pour le PSI.

Une autre question pertinente, tant du point de vue théorique que pratique, est celle du découpage des transactions. Fondamentalement, le découpage est une technique d'analyse statique dans laquelle les transactions à gros grains sont décomposées en transactions plus petites et à grains fins. Pour la serialisabilité, cette question a été abordée dans [6], et la théorie résultante a été appliquée pour donner une implémentation pratique dans [7].

Du point de vue des fondements théoriques des bases de données distribuées, il a été proposé d'utiliser des techniques de la communauté des modèles de mémoire faible [8] pour définir formellement le comportement des transactions. Dans [9], les auteurs donnent une notion formelle du comportement des transactions; la même approche a été utilisée dans [10] pour spécifier le comportement des types de données répliqués.

Récemment, moi et certains de mes collègues (Alexey Gotsman et Hongseok Yang) avons construit, à partir des techniques développées dans [8,9,10], un cadre théorique pour spécifier le comportement observable des niveaux de cohérence pour les bases de données géorépliquées. Nous avons utilisé avec succès le cadre pour donner une axiomatisation du SI, du PSI et du NMSI, dont chacun s'est avéré correct en ce qui concerne une implémentation simple. Nous avons également exploité la théorie résultante pour concevoir un critère de découpage pour PSI. Nous espérons que ces résultats seront publiés dans un avenir prévisible.

N'hésitez pas à m'écrire si vous avez d'autres questions. J'espère que cela t'aides,

Andrea Cerone.

Références:

[1] Fekete et al, Making Serial Snapshot Isolation Serializable (2005)

[2] Sovran et al, Stockage transactionnel pour les systèmes géorépliqués (2011)

[3] Arkedani et al, Isolement de cliché non monotone: cohérence évolutive et forte pour les systèmes transactionnels géorépliqués (2013)

[4] Arkedani et al, Sur l'évolutivité de l'isolement de l'instantané (2013)

[5] Binnig et al, Isolement instantané distribué: les transactions globales paient globalement, les transactions locales paient localement

[6] Shasha et al, Découpage de transactions: algorithmes et études de performances (1995)

[7] Zhang et al, Chaînes de transactions: atteindre la sérialisation avec une faible latence dans les systèmes de stockage géo-distribués (2013)

[8] Alglave, Une hiérarchie formelle de modèles de mémoire faible (2012)

[9] Buckhardt et al, Understanding Eventual Cohérence (2013)

[10] Buckhardt et al, Types de données répliquées: spécification, vérification, optimalité (2014)

Andrea Cerone
la source
Merci pour votre réponse complète. Pour SI, existe-t-il des protocoles distribués sans verrouillage dans des paramètres répliqués dans la littérature? Ou cette tentative est-elle dénuée de sens parce que le SI ne s'adapte pas bien? Pour PSI, j'ai lu un article (Tim Kraska @ Eurosys'13) qui mentionne sa mise en œuvre dans les travaux futurs. Le Paxos généralisé est-il adapté à cela? Quels sont les avantages / inconvénients / défis possibles par rapport à l'original dans Sovran et al [2]? Merci encore.
hengxin
2
En effet, SI ne s'adapte pas bien aux systèmes géorépliqués. Dans [4] ci-dessus, les auteurs prouvent qu'il existe des propriétés, telles que la réplication partielle authentique, qui ne peuvent pas être atteintes par des SGBD géorépliqués s'exécutant au niveau de cohérence SI. Dans [5], les auteurs montrent des exemples d'exécutions qui se comportent selon SI localement (au niveau d'éclats simples), mais pas globalement, et proposent une variante de SI, appelée DSI. Pour ce qui concerne MDCC, je ne suis pas au courant de ce document, et je dois admettre que je ne connais pas les détails de mise en œuvre de Paxos généralisés. Mais je me ferai un plaisir de jeter un coup d'œil et de répondre dès que possible.
Andrea Cerone