GH GambleHub

Sazlaşyk modelleri

Ylalaşyklylyk bäsdeşlik üýtgemelerinde okyjylaryň haýsy manylary we haýsy tertipde görýändigini beýan edýär. Modeliň dogry saýlanylmagy üýtgewsizligiň, gizlinligiň, elýeterliligiň we bahanyň arasyndaky deňagramlylykdyr (PACELC). Aşakda - modeller we olaryň ulanylyşy boýunça amaly gollanma.

1) "Berk" modeller

Linearizable

Özüni alyp barşy, ähli amallar hakyky wagta hormat goýýan birmeňzeş tertipde derrew ýerine ýetirilen ýaly.
Artykmaçlyklary: ýönekeý akyl modeli, pul we özboluşlylyk üçin howpsuz.
Minuslar: kworumlar/lider → ösüş p95/p99, esasanam sebitara.
Ýüzkeýsler: balanslar, berk çäkli inwentar, özboluşly atlar/açarlar.

Sequential consistency

Ähli akymlar amallaryň birmeňzeş tertibini görýärler, ýöne hakyky wagt tertibi hökman däl. Biraz gowşak linearizable, seýrek önümlerde görkezilýär.

Serializable

Geleşikleriň (aýry-aýry amallaryň däl) käbir yzygiderli tertibine deňdir.
Plýuslar: Soraglaryň/tablisalaryň derejesinde çylşyrymly üýtgemeleriň dogrulygy.
Minuslar: has gymmat (gapma-garşylyklary blokirlemek/wersiýalaşdyrmak/tassyklamak).
Ýüzkeýsler: çylşyrymly maliýe amallary, konsistent hasaplamalary, inwentar.

Snapshot Isolation (SI)

Her geleşik üýtgewsiz suraty wagt bilen okaýar; ýazgylar "birmeňzeş setirlerde" gapma-garşy bolýar, ýöne write skew mümkin.
Artykmaçlyklary: blokirlemezden çalt okamak, durnukly hasabatlar.
Minuslar: serial däl, write skew duzagy (mysal: nobatçy lukmanlar).
Ulanyjylar: analitika, hasabatlar, CRUD-laryň köpüsi gaty üýtgemez.

2) Per-session we sebäpler kepillikleri

Read-Your-Writes (RYW)

Müşderi öz ýazgysyndan soň ony hemişe indiki okalyşlarda görýär.
Artykmaçlyklary: gowy UX (forma → tassyklama).
Minuslar: global däl, ýerli kepillik.

Monotonic Reads / Writes

Okalyşlar yza çekilmeýär; Bir müşderiniň ýazgylary iberilen tertipde ulanylýar.

Causal Consistency (sebäpler)

Eger amal başga birine bagly bolsa (A → B), hemmeler B-den öň A görýärler.
Plýuslar: Sosfidler, teswirler üçin içgysgynç.
Minuslar: marşrutlamak we sebäpleriň bellikleri has kyn (wektor sagatlary).
Ýüzkeýsler: aragatnaşyk, bilelikde redaktirlemek, wakalaryň lentalary.

3) Gowşak we gibrid modeller

Bounded Staleness

Okamak Δ t ýa-da N wersiýalardan köp bolmaly däldir.
Artykmaçlyklary: öňünden aýdyp boljak UX, sebitara gowy ylalaşyk.
Minuslar: ýazgylaryň gapma-garşylyklaryndan goramaz.

Eventual Consistency

Wagtyň geçmegi bilen ähli nusgalar birleşýär; tertibi we gijikdirilmegi kepillendirilmeýär.
Artykmaçlyklary: iň az gizlinlik/baha, ýokary elýeterlilik (AP).
Minuslar: Açyk merge gerek (CRDT/domen düzgünleri).
Ulanyjylar: nagt pullar, fidler, metrikler, halaýanlar, nen critical gollanmalar.

4) Adaty anomaliýalar we olaryň manysy

Dirty Read: gizlin maglumatlary okamak.
Repeatable däl Read: geleşigiň içinde şol bir okamak dürli manylary berýär.
Phantom: gaýtadan soranyňyzda predikata laýyk gelýän setiri peýda bolýar/ýitýär.
Write Skew (SI bilen): iki geleşik kesişýän üýtgewsizligi okaýar we "jemi 1 ≥ bolmaly" şertini bozup, dürli setirleri ýazýar.
Lost Update: Ýazgy bäsdeşiň üýtgemelerini "süpürýär".

💡 Izolýasiýa derejesini ýokarlandyrmak (Serializable-a çenli), predikat boýunça blokirlemek, üýtgewsizligi barlamak ýa-da domen kompensatorlary/saga çemeleşmesi bilen bejerilýär.

5) Okamagyň/ýazmagyň kworumlary we derejeleri

Köp ammar 'R '/' W' derejelerini goýmaga mümkinçilik berýär (okamak/ýazmak üçin replikalaryň sany).

Kworum (R + W> N) "kesişmek" we iň soňky ýazgyny okamak üçin güýçli kepillikler berýär.
W = 1, R = 1 → pes gijikdirme, ýöne köne maglumatlar mümkin.
Sazlamak: möhüm amallar üçin - ýokary 'W' (ýa-da lider), galanlary üçin - pes 'R' tizlik.
Read-repair/Hinted handoff fonda sazlaşygy gazanmaga kömek edýär.

6) Sagatlar we tertip: sebäplere nädip "düşünýäris"

Lamport clocks: Wakalaryň bölekleýin tertibi.
Vector clocks: sebäpleri ýazga alýarlar, gapma-garşylyklary kesgitlemäge mümkinçilik berýärler.
Hybrid/TrueTime-çemeleşmeler: amallary tertipleşdirmek we bound-staleness üçin klasterdäki sagatlaryň ýaýramagyny çäklendirýär.
Wersiýalaşdyrmak: 'version/ts + actor' for merge; CRDT-de - ýapyk ýarym toparlar (kommutatiwlik/idempotentlik).

7) CRDT we domen merge

CRDT (konwertli/köpeldilýän maglumatlar) koordinasiýa bolmazdan ýakynlaşmagy kepillendirýär: G-Counter, OR-Set, LWW-Register, Map, OT/WOOT tekst wariantlary.
Haçan-da peýdaly bolsa: halaýanlar, köp bellikler, sebetler, resminamalar.
Çäklendirmeler: belli bir domen düýp manysy üçin dogry "birleşme" semantikasyny oýlap tapyň.

8) CAP/PACELC bilen baglanyşyk

Gaty modeller (Linearizable/Serializable) köp sebitde → CP-de gizlinlik ösüşi bilen (PACELC: C saýlaýarys we L töleýäris).
Gowşak/gibrid modeller → AP we/ýa-da pes L, ýöne merge/gapma-garşylyk gerek.
Gibrid: CP-invariantlar üçin ýadro + AP-proýeksiýa/okamak üçin keşler.

9) Modeli saýlamak: çek sanawy

1. Üýtgeşiklik: näme bozmaly däl? (özboluşlylygy, balansy, çäkleri).
2. Sebitlilik: ýazgylar/okalyşlar nirede ýerine ýetirilýär? (ýerli/global).
3. SLO gizlinlik boýunça: p95/p99 kritiki ýollar üçin?
4. Utgaşdyrmagyň bahasy: sebitara kworumlar bilen tölemäge taýynmy?
5. Gapma-garşylyklar: kesgitlenen merge barmy ýa-da koordinator gerekmi?
6. UX-garaşmak: RYW/monotonic/causal müşderi üçin möhümmi?
7. Syn edilişi: lag/gapma-garşylyk/könelişme derejesini nädip ölçärsiňiz?
8. Folbekler: Tor (P) bölünende näme bolýar? read-only/lokal ýazgy/nobatlar?

10) Çalt reseptler

Töleg/balans: Linearizable/Serializable, lider + kworum, gysga wagtlar; RYW okamak.
Profiller/fid: Causal/Bounded staleness + keş; Halaýanlar/hasaplaýjylar üçin CRDT; Awtor üçin RYW.
Gözleg/seljeriş: SI/Read Committed, asinhron proýeksiýalary, indeksler üçin eventual.
Global SaaS: Geo-partitioning; "öý ýazgylary" - CP, hasabatlar/kataloglar - AP.
Bilelikde redaktirlemek: sebäp/eventual + CRDT/OT; "taryhyň" saklanmagy.

11) Ylalaşyga syn etmek

Lag metrikleri: 'replication _ lag', 'staleness _ age _ ms' (p50/p95/p99).
Gapma-garşylyk: gapma-garşylyklaryň paýy, çözülmegiň ortaça wagty.
Kworumlar: 'R/W' kworumlaryň üstünligi, sebitara ýollaryň wagtlary.
Müşderi kepillikleri: RYW/monotonic - sessiýa boýunça söwda bellikleri.

12) Adaty ýalňyşlyklar

Iş esassyz Strong "hemme ýerde" talap etmek → gizlinlik we baha partlamasy.
Dual-write/CRDT → fantomlar we üýtgeşik ýitgiler bolmazdan dürli sebitlere.
UX → täze iberilen maglumatlaryň "ýitirilen" RYW/monotonikligini äsgermezlik et.
Keshleriň/proýeksiýalaryň köne bolmagyny yzarlamaň → "baky" gapma-garşylyklar.
Oýlanmadyk merge → garaşylmadyk ýitgiler/goşa gymmatlyklar.

13) Arhitekturanyň kiçi standarty

Write-core (CP): lider, kworum ýazgylary, SLO we wagtlar, magazinesurnallar.
Read-plane (AP): materiallaşdyrylan çykyşlar, TTL-keşler, read-repair.
Müşderi: sticky-session/sessiýa kepillikleri (RYW/monotonic), wersiýa bellikleri.
Gapma-garşylyk hereketlendirijisi: CRDT/domen düzgünleri, el bilen çözmek nobaty.
Gözegçilik: laglar, gapma-garşylyklar, köne okalyşlaryň paýlary.

Netije

Ylalaşygyň nusgasy - maglumatlaryň, gijikdirmegiň we elýeterliligiň arasyndaky in engineeringenerçilik şertnamasy. Invariantlardan we SLO-lardan başlaň, müşderiniň kepilliklerini, kworumlaryny, sagatlaryny we syn edilişini ýatdan çykarman, zerur ýerlerde we mümkin bolan ýerlerde has gowşak saýlaň. Modelleriň başarnykly utgaşmasy iş hakykatyny we ulanyjy ynamyny gurban bermezden, masştaby, öňünden aýdylýanlygy we durnuklylygy berýär.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.