web-dev-qa-db-fra.com

Quelle est la différence entre "conflit sérialisable" et "conflit équivalent"?

Dans la théorie des bases de données, quelle est la différence entre "conflit sérialisable" et "conflit équivalent"? 

Mon manuel comporte une section sur les conflits sérialisables mais passe sous silence l'équivalence des conflits. Ce sont probablement les deux concepts que je connais bien, mais je ne connais pas la terminologie, je cherche donc une explication.

21
taz

Juste deux termes pour décrire une chose de différentes manières.

Équivalent conflit : vous devez dire que l’annexe A est équivalente à l’annexe B. elle doit comporter deux annexes.

Conflict serializable : Utilisez toujours les Annexes A et B. Nous pouvons dire que l’Annexe A est un conflit sérialisable. L'annexe B est un conflit sérialisable. 

Nous n'avons pas dit que l'annexe A/B est équivalente au conflit

Nous n'avons pas dit que l'annexe A est un conflit sérialisable en annexe B

8
fengd

Un conflit dans un SGBD peut être défini comme deux ou plusieurs transactions différentes accédant à la même variable et dont l'une au moins est une opération d'écriture.

Par exemple:

T1: Read(X)   
T2: Read (X)

Dans ce cas, il n'y a pas de conflit car les deux transactions effectuent uniquement des opérations de lecture.

Mais dans le cas suivant:

T1: Read(X)   
T2: Write(X)

il y a un conflit.

Disons que nous avons un horaire S et que nous pouvons réorganiser les instructions qu’il contient. et créez 2 autres horaires S1 et S2.

Équivalent de conflit : Fait référence aux annexes S1 et S2 où elles conservent l'ordre des instructions en conflit dans les deux annexes. Par exemple, si T1 doit lire X avant que T2 écrit X dans S1, il devrait en être de même dans S2 également. (L'ordre ne doit être maintenu que pour les opérations en conflit).

Sérialisabilité des conflits : S est dit conflit sérialisable s'il est équivalent à un calendrier série (c'est-à-dire lorsque les transactions sont exécutées les unes après les autres).

51
letsBeePolite

De Wikipedia .

Équivalence de conflit

Les plannings S1 et S2 sont dits équivalents en conflit si les conditions suivantes sont remplies:

  1. Les calendriers S1 et S2 impliquent le même ensemble de transactions (y compris la commande d'actions dans chaque transaction).

  2. L'ordre de chaque paire d'actions en conflit dans S1 et S2 est identique.

Conflict-serializable

Une planification est dite conflit-sérialisable lorsque la planification est conflit-équivalente à une ou plusieurs planifications en série.

Une autre définition de la sérialisabilité conflictuelle est la suivante: une planification est sérialisable conflictuelle si et seulement si son graphe de priorité/graphe de sérialisabilité, lorsque seules les transactions validées sont considérées, est acyclique (si le graphe est défini pour inclure également les transactions non validées, les cycles les transactions peuvent avoir lieu sans violation de sérialisabilité conflictuelle).

8
Damodaran

Si une annexe S peut être transformée en une annexe S´ par une série d'échanges d'instructions non contradictoires, nous dirons que S et S´ sont équivalents en conflit.

Nous disons qu'un calendrier S est un conflit sérialisable s'il est équivalent au conflit d'un calendrier en série.

4

Annexes équivalentes au conflit: si une annexe S peut être transformée en une annexe S 'par une série d'échanges d'instructions non contradictoires, nous disons que l'annexe S & S' est équivalente à un conflit.

Planification sérialisable en conflit: La planification S est un conflit sérialisable si elle est équivalente à une planification en série.

1
thirteenguy

Conflit sérialisable signifie un conflit équivalent à tout programme en série.

0
Aditya Guru

S'il existe au moins une planification équivalente au conflit pour la planification de transaction considérée, le conflit est sérialisable. 

Les définitions ont déjà été expliquées à la perfection, mais j’estime que cela sera très utile à certains. 

J'ai développé un petit programme de console (sur github) qui peut tester n'importe quel planning de sérialisation des conflits et dessine également un graphe de priorité. 

0
benscabbia