A csavarkulcsban, TrueTime & A CAP-tétel , Eric Brewer írja:

A Spanner egyik finom vonása, hogy a zárakból szerializálhatóságot kap, de külső konzisztencia (hasonló a linearizálhatósághoz ) a TrueTime-ből [ kiemelés hozzáadva ].

Mi a külső konzisztencia meghatározása, és miben különbözik a linearizálhatóság tól?

Megjegyzések

  • Ez nagyszerű kérdés, és bárcsak Ericnek volna részletesen kidolgoztam itt. Linearizálható vagy sem? 🙂

Válasz

A külső konzisztenciának nincs rögzített jelentése. Ebben az összefüggésben a jelentése a dokumentum legközelebbi mondatában jelenik meg:

Bármely két tranzakció esetén $ T_1 $ és $ T_2 $ (még akkor is, ha a földgömb): ha $ T_2 $ elkezdi elkövetni, miután $ T_1 $ befejezte az elkövetést, akkor a $ T_2 $ időbélyege nagyobb, mint a $ T_1 $ időbélyege.

Megjegyzések

  • Minél jobban belegondolok, ez számomra nagyon is linearizálhatóságnak tűnik, mert minden tranzakció rendezett. Sajnos, néha ezek a kifejezések finomak. .. Valaki nem ért egyet? Úgy értem, hogy a tranzakciók sorosíthatók, és teljesen az elkötelezettség alapján vannak sorrendben. Talán a finomság abban rejlik, hogy a 2PC hogyan valósul meg a Spannerben?
  • @Bminer Linearizability olyan konzisztencia modell, amely csak egyetlen objektumra vonatkozik, ahol a tranzakciók több o-t is magában foglalhatnak bjektek.
  • @LorinHochstein – Ha! Ez szaggatja a szavak aprítását. A terminológia lényege az, hogy segítsen a valós embereknek megfogalmazni, hogy milyen garanciákat kapnak, különösen a tranzakciók tekintetében. A linearizálhatóság + a szerializálhatóság a legerősebb garancia, és úgy gondolom, hogy ' az, amire a Spanner dokumentumai utalnak, a " külső konzisztencia kifejezéssel. " De felveti a kérdést: valóban tudja valaki, mi " külső konzisztencia " eszközök? 🙂

Válasz

Gondolhat a tranzakciók (Tx) elszigetelésének külső sorrendjére és a megrendelés szempontjából . A Tx izolációban a külső konzisztencia egyenértékű a szigorú, szerializálható izolációval, ahol a “szigorú” a valós idejű kényszer rész (mint a linearizálhatóságnál).

Ez megint azt jelenti, hogy egy rendszer kliens számára megfigyelhető Tx A mellékhatások egyenértékűek egy olyan rendszerrel, ahol az összes Tx külön-külön zajlik, egyidejűség nélkül, és ahol az ügyfél által látott valós idejű megrendelésük megmarad. Ennél is fontosabb, hogy ugyanezt a sorrendet más független ügyfelek is láthassák.

További információ a megkülönböztetésről a e blogon található.

Válasz

A " külső konzisztencia " megemlítésekor , Brewer references B. Liskov. A szinkronizált órák gyakorlati felhasználása elosztott rendszerekben . Az elosztott számítás (PODC) alapelvei. Montreal, Kanada, 1991. augusztus.

Liskov, kifejezés szerint Gifford D.K. Információk tárolása decentralizált számítógépes rendszerben . Műszaki jelentés CSL-81-8, Xerox Corporation, 1983. március

Gifford itt határozza meg a külső konzisztenciát:

Külső A következetesség garantálja, hogy egy tranzakció mindig aktuális információkat fog kapni. Az imént bevezetett fogalmakkal megadhatjuk a külső konzisztencia hivatalos meghatározását. A tranzakciók befejezésének tényleges sorrendje egyedi soros ütemtervet határoz meg. Ezt a soros ütemezést külső ütemezés . Azt mondják, hogy egy rendszer külső konzisztenciát biztosít, ha garantálja, hogy a tranzakciók halmazának feldolgozásához használt ütemezés megegyezik a külső ütemezésével.

Ahogy @Oleg megemlíti, ez úgy hangzik, mint szigorú sorosíthatóság .

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük