Itthon adatbázisok Mi a kétfázisú elkötelezettség (2db)? - meghatározás a techopedia alapján

Mi a kétfázisú elkötelezettség (2db)? - meghatározás a techopedia alapján

Tartalomjegyzék:

Anonim

Meghatározás - Mit jelent a kétfázisú elkötelezettség (2PC)?

A kétfázisú végrehajtás egy szabványosított protokoll, amely biztosítja az adatbázis-végrehajtás végrehajtását abban a helyzetben, amikor a végrehajtási műveletet két különálló részre kell bontani.

Az adatbáziskezelésben az adatváltozások mentése kötelezettségvállalásként, a változások visszavonása pedig visszagörgetés. Mindkettő könnyen elérhető tranzakciónaplózás segítségével, ha egyetlen szerver vesz részt, de ha az adatok földrajzilag különféle szerverekre oszlanak el az elosztott számításban (azaz mindegyik szerver független entitás, külön naplórekordokkal), a folyamat trükkösebbé válhat. .

A Techopedia magyarázza a kétfázisú kötelezettségvállalást (2PC)

Egy elosztott tranzakcióhoz egy speciális objektumra, más néven koordinátorra van szükség. Amint a neve is sugallja, a koordinátor tevékenységeket és szinkronizálást szervez az elosztott szerverek között. A kétfázisú kötelezettségvállalást a következőképpen hajtják végre:

1. fázis - Minden kiszolgáló, amelynek adatot kell elküldenie, az adatrekordjait a naplóba írja. Ha egy kiszolgáló sikertelen, akkor hibaüzenettel válaszol. Ha sikeres, a szerver OK üzenettel válaszol.

2. fázis - Ez a szakasz akkor kezdődik, amikor minden résztvevő reagál OK. Ezután a koordinátor jelet küld minden kiszolgálóra az átadási utasításokkal. A vállalás után mindenki referenciaként rögzíti a kötelezettségvállalást a naplóbejegyzés részeként, és üzenetet küld a koordinátornak, hogy a kötelezettségvállalását sikeresen végrehajtották. Ha egy szerver meghibásodik, a koordinátor utasításokat küld minden kiszolgálóra az ügylet visszatekerésére. Miután a szerverek visszatértek, mindegyik visszajelzést küld arról, hogy ez befejeződött.

Mi a kétfázisú elkötelezettség (2db)? - meghatározás a techopedia alapján