Seo teip a chonaic mé ag tarlú faoi dhó, in dhá inneall éagsúla. Ritheann onnmhairiú ag 10:00 agus taifeadann sé an stampa ama is airde de mhionathrú deireanach a chonaic sé. Tá idirbheart a thosaigh ag 09:58 fós oscailte, déanann sé commit ag 10:03 agus iompraíonn sé stampa ama ón am a thosaigh sé. Ní iarrann an chéad onnmhairiú eile ach rónna níos nuaí ná 10:00 agus ní fheiceann sé riamh í. Bhí méid an aistrithe ar fheabhas agus na sonraí mícheart.

Lean an t-onnmhairiú a chaill ró

Lean ord na n-imeachtaí seach an SQL. Scríobhann an feidhmchlár am mionathraithe an ró nuair a thosaíonn an t-idirbheart, ní nuair a dhéanann sé commit. Léann an t-onnmhaireoir comhartha uisce clog balla agus an t-idirbheart sin fós oscailte. Ansin déanann an t-idirbheart commit le ham mionathraithe níos sine ná an comhartha uisce a sábháladh. Tosaíonn an chéad bhaisc eile den tomhaltóir tar éis an chomhartha uisce, mar sin fanann an ró taobh thiar den chúrsóir agus ní roghnófar riamh í arís.

Ní thaifeadann aon rud earráid, mar níor theip ar aon rud. Sin an rud a dhéanann an aicme seo fabht costasach: tá an beathú deilte tapa, tá cuma réasúnta ar chomhaireamh na rónna, agus tagann an ró atá ar iarraidh chun solais seachtainí níos déanaí mar thicéad réitigh nach féidir le duine ar bith a atáirgeadh.

Tá an chruth chéanna locht ag uimhreacha seichimh ar chúis eile. Insíonn ID monatóineach duit an t-ord inar leithdháileadh luachanna, ní an t-ord inar chommitáil idirbhearta. Is féidir le hidirbheart a thóg uimhir íseal commit tar éis ceann a thóg uimhir ard, mar sin is féidir le cúrsóir bunaithe ar ord leithdháilte poll a fhágáil freisin.

Cúig gheallúint a chaithfidh an beathú a chomhlíonadh

Sula roghnaíonn tú iompar, iarr conradh le cúig chlásal ar an gcóras foinse. Má tá aon chlásal ar iarraidh, tá heorastúil agat, ní beathú athruithe.

  • Clúdach: ionsuithe, nuashonruithe agus scriostaí, gach ceann leis an eochair chobhsaí a theastaíonn chun é a chur i bhfeidhm.
  • Teorainn: cad a chiallaíonn luach cúrsóra agus cad atá i mbaisc chomhsheasmhach.
  • Comhsheasmhacht: conas a léitear táblaí gaolmhara gan staideanna foinse neamh-chomhoiriúnacha a mheascadh.
  • Coinneáil: cá fhad is féidir le tomhaltóir dícheangailte atosú óna shuíomh sábháilte.
  • Athshocrú: léargas iomlán tacaíochta don am nach bhfuil an suíomh sin bailí a thuilleadh.

Is féidir le meicníocht thacaíochta na cúig cinn a shásamh. Doiciméadú SQL Server ar rianú athruithe is sampla foilsithe coincréiteach amháin é: sainmhíníonn sé íosleagan bailí, taifeadann sé scriostaí chomh maith le hathruithe agus cuireann sé síos ar idirbheart léargais a chuimsíonn bailíochtú, gabháil leagain agus na hiarratais athraithe ghaolmhara. Is sampla é den rud ba cheart a éileamh ó fhoinse, ní comhréir is féidir leat a ghreamú in inneall eile.

Dear an seicphointe mar chuid den phíblíne

Is é suíomh sábháilte an tomhaltóra an fíor-mheaisín stáit, mar sin scríobh é mar sin. Ní féidir leis an gcúrsóir dul ar aghaidh ach tríd an sreabhadh oibre a chuir an bhaisc i bhfeidhm cheana agus a rinne commit ar an idirbheart sprice.

cursor  = durable_checkpoint()          # last fully applied position
batch   = extract(cursor, upper_bound)  # one consistent batch
apply(batch)                            # idempotent at the target
commit()
checkpoint(batch.upper_bound)           # only now

Má theipeann ar sheachadadh leathbhealaigh, réitigh an bhaisc chéanna seach suíomh foinse nua a chumadh. Is é ath-eastóscadh le teorainn uachtarach níos úire an bealach a n-éiríonn cur i bhfeidhm páirteach ina bhearna bhuan. Seasann an riail scátháin ar an taobh eile freisin: cuireann cur i bhfeidhm idempotent ag an sprice cosc ar dhúbláin agus ní dhéanann sé aon rud d'athrú nár chonaic an t-eastóscadh riamh.

Teastaíonn taifead ó scriostaí, ní conclúidí

Ní féidir le comparáid a dhéanamh ar rónna atá ann fós a insint do thomhaltóir cé na heochracha a d'imigh. Fágann foinse nach dtaifeadann scriostaí riamh dhá rogha neamhfhoirfe agat: stair eochrach a choinneáil fada go leor le haghaidh diff, nó réiteach iomlán soiléir a rith de réir sceideal. Is cinntí dearaidh iad araon a bhfuil costas orthu, agus ní bhíonn ceachtar ann mura bhfuil úinéir aige.

Is é an cineál céanna cinneadh é coinneáil. Tá fuinneog ag gach beathú athruithe tacaíochta; luigh í sa chonradh agus tabhair rabhadh nuair a théann seicphointe tomhaltóra i bhfoisceacht di. Ba cheart do thomhaltóir a dhúisíonn tar éis briseadh dhá sheachtain earráid shoiléir "athshocrú de dhíth" a léamh seach baisc pháirteach a fháil go ciúin.

Ansin tomhais an raibh an deilte fiúntach

Is ceart uaireanta filleadh ar gach eochair agus hais a chur i gcomparáid, agus is fiú a fháil amach cad a chosnaíonn sé. Aistríonn tú faisnéis faoi gach ró fós, ní thugann haiseanna léargas comhsheasmhach trasna táblaí duit, agus tugann scéim haise a ceisteanna féin faoi léiriú agus imbhuailtí. Níos lú beart le teorainn infhíoraithe is ea an sprioc; ní deilte ar chor ar bith é níos lú beart a ligeann athrú comataithe chun siúil go ciúin.

Is leid é colún an mhionathraithe dheireanaigh. Is conradh é cúrsóir a mhaireann trí commit déanach, scrios agus briseadh fada.

Ailt ghaolmhara