Dileu ACID o blaid BASE mewn Peirianneg Gronfa Ddata

Dyluniwyd cronfeydd data perthynol gyda dibynadwyedd a chysondeb yn eu craidd. Canolbwyntiodd y peirianwyr a ddatblygodd nhw ar fodel trafodiadol sy'n sicrhau y bydd pedair egwyddor y model ACID yn cael eu cadw bob amser. Fodd bynnag, mae dyfodiad model cronfa ddata heb ei strwythuru newydd yn troi ACID ar ei ben. Mae'r model cronfa ddata NoSQL yn esgori'r model perthynol strwythuredig iawn o blaid ymagwedd allwedd / gwerth hyblyg. Mae angen dull arall o'r model ACID hwn i'r dull anstructurol hwn o ddata: y model BASE.

Tenantiaid Sylfaenol y Model ACID

Mae pedwar daliad sylfaenol o'r model ACID:

Mae atomicity transactions yn sicrhau bod pob trafodiad cronfa ddata yn uned sengl sy'n mabwysiadu ymagwedd "i gyd neu ddim" i'w gyflawni. Os bydd unrhyw ddatganiad yn y trafodiad yn methu, caiff y trafodyn cyfan ei gyflwyno'n ôl.

Mae cronfeydd data perthynol hefyd yn sicrhau cysondeb pob trafodyn â rheolau busnes y gronfa ddata. Pe byddai unrhyw elfen o drafodiad atomig yn amharu ar gysondeb y gronfa ddata, mae'r trafodiad cyfan yn methu.

Mae'r injan cronfa ddata yn gorfodi ynysu rhwng trafodion lluosog yn digwydd yn yr un adeg neu'n agos ato. Mae pob trafodyn yn digwydd naill ai cyn neu ar ôl pob trafodyn arall ac nid yw barn y gronfa ddata y mae trafodiad yn ei weld ar ei dechrau ond wedi'i newid gan y trafodiad ei hun cyn ei gasgliad. Ni ddylai unrhyw drafodiad erioed weld cynnyrch canolradd trafodyn arall.

Mae'r egwyddor, gwydnwch ACID terfynol, yn sicrhau, unwaith y bydd trafodiad wedi ymrwymo i'r gronfa ddata, ei gadw'n barhaol trwy ddefnyddio copïau wrth gefn a logiau trafodion. Os bydd methiant, gellir defnyddio'r mecanweithiau hyn i adfer trafodion ymrwymedig.

Egwyddorion Craidd BASE

Mae cronfeydd data NoSQL, ar y llaw arall, yn cofleidio sefyllfaoedd lle mae'r model ACID yn cael ei orlenwi neu, mewn gwirionedd, yn rhwystro gweithrediad y gronfa ddata. Yn lle hynny, mae NoSQL yn dibynnu ar fodel meddal yn hysbys, yn briodol, fel y model BASE. Mae'r model hwn yn darparu'r hyblygrwydd a gynigir gan NoSQL ac ymagweddau tebyg at reoli a chywiro data anstructuredig. Mae BASE yn cynnwys tair egwyddor:

Argaeledd Sylfaenol . Mae'r dull cronfa ddata NoSQL yn canolbwyntio ar argaeledd data hyd yn oed ym mhresenoldeb methiannau lluosog. Mae'n cyflawni hyn drwy ddefnyddio ymagwedd ddosbarthedig iawn at reoli cronfa ddata. Yn hytrach na chynnal un storfa fawr fawr a chanolbwyntio ar oddefgarwch diffygion y siop honno, mae cronfeydd data NoSQL yn lledaenu data ar draws llawer o systemau storio gyda lefel uchel o ddyblygu. Yn annhebygol y bydd methiant yn amharu ar fynediad i ran o ddata, nid yw hyn o reidrwydd yn arwain at gasglu cronfa ddata gyflawn.

Wladwriaeth feddal . Mae cronfeydd data BASE yn gadael gofynion cysondeb y model ACID yn eithaf llwyr. Un o'r cysyniadau sylfaenol y tu ôl i BASE yw bod cysondeb data yn broblem y datblygwr ac ni ddylai'r gronfa ddata ei thrin.

Cysondeb yn y pen draw . Yr unig ofyniad y mae cronfeydd data NoSQL yn ei chael ynglŷn â chysondeb yw ei gwneud yn ofynnol, ar ryw adeg yn y dyfodol, y bydd data'n cydgyfeirio i gyflwr cyson. Nid oes gwarantau yn cael eu gwneud, fodd bynnag, ynghylch pryd y bydd hyn yn digwydd. Mae hynny'n ymadawiad cyflawn o ofyniad cysondeb uniongyrchol ACID sy'n gwahardd trafodiad rhag gweithredu hyd nes y bydd y trafodiad blaenorol wedi'i gwblhau ac mae'r gronfa ddata wedi cydgyfeirio i gyflwr cyson.

Nid yw'r model BASE yn briodol ar gyfer pob sefyllfa, ond mae'n sicr yn ddewis arall hyblyg i'r model ACID ar gyfer cronfeydd data nad oes angen eu cadw'n gaeth i fodel perthynol.