I Nøkkel, TrueTime & CAP-teoremet , skriver Eric Brewer:

En subtil ting med Spanner er at den får seriøsitet fra låser, men den blir ekstern konsistens (ligner lineariserbarhet ) fra TrueTime [ vektlegging lagt til ].

Hva er definisjonen av ekstern konsistens , og hvordan skiller det seg fra linearitet ?

Kommentarer

  • Dette er et flott spørsmål, og jeg skulle ønske Eric ville ha utdypet litt her. Er det lineariserbart eller ikke? 🙂

Svar

Ekstern konsistens har ikke en fast betydning. I denne sammenheng har den betydningen som vises i neste setning i dokumentet:

For to transaksjoner, $ T_1 $ og $ T_2 $ (selv om det er på motsatt side av globus): hvis $ T_2 $ begynner å forplikte seg etter at $ T_1 $ er ferdig med å forplikte seg, er tidsstemplet for $ T_2 $ større enn tidsstemplet for $ T_1 $.

Kommentarer

  • Jo mer jeg tenker på det, dette høres veldig for meg ut som linearisering for meg fordi alle transaksjoner er bestilt. Dessverre, noen ganger er disse vilkårene subtile. .. Noen uenige? Jeg mener, transaksjonene kan serienummereres, og de er fullstendig ordnet basert på kommisjonstid. Kanskje finessen ligger i hvordan 2PC implementeres i Spanner?
  • @Bminer Lineariserbarhet er en konsistensmodell som gjelder bare enkeltobjekter, der transaksjoner kan involvere flere o bjects.
  • @LorinHochstein – Ha! Det lukter hakking av ord. Hele poenget med terminologien er å hjelpe ekte mennesker til å konseptualisere hvilke garantier de får, spesielt med hensyn til transaksjoner. Linearizability + serializability er den sterkeste garantien, og jeg tror at ' er det Spanner docs refererer til med begrepet " ekstern konsistens. " Men det stiller spørsmålet: er det noen som virkelig vet hva " ekstern konsistens " midler? 🙂

Svar

Du kan tenke på ekstern konsistens fra transaksjoner (Tx) isolasjon og ordensynspunkt . I Tx-isolasjon er ytre konsistens ekvivalent med streng serialiserbar isolasjon, hvor «streng» er sanntidsbegrensningsdelen (som i lineariserbarhet).

Alt dette betyr igjen at for en systemklient observerbar Tx bivirkninger tilsvarer et system, der alle Tx foregår isolert uten noen samtidighet, og der deres sanntidsbestilling, slik klienten ser, bevares. Enda viktigere er at denne samme bestillingen blir sett av enhver annen ikke-relatert klient.

Les mer om skillet på denne bloggen .

Svar

Når du nevner " ekstern konsistens " , Bryggerhenvisninger B. Liskov. Praktisk bruk av synkroniserte klokker i distribuerte systemer . ACM-prinsipper for distribuert databehandling (PODC). Montreal, Canada, august 1991.

Liskov, i termin, referanser Gifford D.K. Informasjonslagring i et desentralisert datasystem . Teknisk rapport CSL-81-8, Xerox Corporation, mars 1983

Her definerer Gifford ekstern konsistens:

Ekstern konsistens garanterer at en transaksjon alltid vil motta aktuell informasjon. Ved å bruke konseptene vi nettopp har introdusert, kan vi gi en formell definisjon av ekstern konsistens. Den faktiske tidsbestillingen der transaksjonene fullføres definerer en unik seriell tidsplan. em> ekstern tidsplan . Et system sies å gi ekstern konsistens hvis det garanterer at planen det vil bruke til å behandle et sett med transaksjoner tilsvarer dets eksterne tidsplan.

Som @Oleg nevner, høres dette ut som streng seriabilitet .

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *