Andmebaasi arenduse BASE mudel

click fraud protection

Relatsiooniandmebaasid on kujundatud nii, et nende keskmes on usaldusväärsus ja järjepidevus. Need välja töötanud insenerid keskendusid tehingumudelile, mis tagab, et neli põhimõtet ACID mudel neid tuleb alati säilitada. Uue struktureerimata andmebaasimudeli tulek pöörab aga ACID-i pea peale. NoSQL-i andmebaasimudel väldib kõrgelt struktureeritud relatsioonimudelit paindliku võtme/väärtuse hoidla lähenemisviisi kasuks. Selline struktureerimata lähenemisviis andmetele nõuab ACID-mudeli alternatiivi: BASE-mudelit.

Arvutivõrk
artpartner-images / Getty Images

ACID-mudeli põhiprintsiibid

ACID-mudelil on neli põhipõhimõtet:

  • The aatomilisus tehingute arv tagab, et iga andmebaasi tehing on üks üksus, mis kasutab täitmisel "kõik või mitte midagi" lähenemisviisi. Kui mõni tehingu avaldus ebaõnnestub, tühistatakse kogu tehing.
  • Relatsiooniandmebaasid tagavad ka järjepidevus iga tehingu kohta andmebaasi ärireeglitega. Kui mõni tuumatehingu element häirib andmebaasi järjepidevust, siis kogu tehing ebaõnnestub.
  • Andmebaasi mootor jõustab isolatsioon mitme korraga või peaaegu samal ajal toimuva tehingu vahel. Iga tehing toimub kas enne või pärast iga teist tehingut ja andmebaasi vaadet mida tehing näeb alguses, muudab ainult tehing ise enne seda järeldus. Ükski tehing ei tohiks kunagi näha teise tehingu vaheprodukti.
  • Lõplik ACID põhimõte, vastupidavus, tagab, et kui tehing on andmebaasi sisestatud, säilitatakse see varukoopiate ja tehingulogide abil püsivalt. Rikke korral võib neid mehhanisme kasutada sooritatud tehingute taastamiseks.

BASE põhiprintsiibid

NoSQL andmebaasidseevastu hõlmavad olukordi, kus ACID-mudel on üle jõu käiv või takistaks tegelikult andmebaasi tööd. Selle asemel tugineb NoSQL pehmemale mudelile, mida nimetatakse asjakohaselt BASE mudeliks. See mudel hõlmab NoSQL-i pakutavat paindlikkust ja sarnaseid lähenemisviise struktureerimata andmete haldamisel ja kureerimisel. BASE koosneb kolmest põhimõttest:

  • Põhikättesaadavus. NoSQL-i andmebaasi lähenemisviis keskendub andmete kättesaadavusele isegi mitmete tõrgete korral. See saavutatakse, kasutades andmebaaside haldamisel väga hajutatud lähenemisviisi. Selle asemel, et säilitada ühte suurt andmesalvet ja keskenduda selle poe tõrketaluvusele, levitavad NoSQL-andmebaasid andmeid paljudes kõrge replikatsiooniastmega salvestussüsteemides. Ebatõenäolisel juhul, kui rike häirib juurdepääsu andmesegmendile, ei pruugi see põhjustada andmebaasi täielikku katkestust.
  • Pehme olek. BASE-andmebaasid loobuvad ACID-mudeli järjepidevusnõuetest peaaegu täielikult. Üks BASE-i põhikontseptsioone on see, et andmete järjepidevus on arendaja probleem ja seda ei tohiks andmebaas käsitleda.
  • Lõplik järjepidevus. Ainus nõue, mis NoSQL-i andmebaasidel järjepidevuse osas on, on nõuda, et andmed läheneksid mingil hetkel tulevikus ühtsesse olekusse. Siiski ei garanteerita, millal see juhtub. See on täielik kõrvalekalle ACID-i vahetu järjepidevuse nõudest, mis keelab tehingu täitmisest kuni eelmise tehingu lõpuleviimiseni ja andmebaasi ühtlustumiseni olek.

BASE-is võib põhikättesaadavus tähendada, et te ei kontrolli isegi andmeallikaid. Näiteks võite osa oma jõupingutustest linkida avalike andmekogumitega.

Suhtelised kasutusjuhtumid

BASE-mudel ei sobi igas olukorras, kuid kindlasti on see paindlik alternatiiv ACID-mudelile andmebaaside jaoks, mis ei nõua relatsioonimudeli ranget järgimist.

ACID-i kasutavate andmebaaside optimaalsed kasutusjuhud sõltuvad kõrgelt struktureeritud andmetest, millel on prognoositavad sisendid ja väljundid. Seega saavad inimressursside andmebaasid, jaemüügiandmebaasid ja elektroonilised haiguslood kasu tugevast sisemisest järjepidevuse kontrollist, mida ACID pakub.

BASE-lahendused on aga paremad ebaselgete teemade jaoks, nagu sentimentaalanalüüs. Näiteks võib BASE-struktuuriga projekt skannida Twitteri voogu, otsides sõnu, mis viitavad emotsioonile konkreetse hashtag'i põhjal. Twitteri voog pole hästi struktureeritud ega lokaalselt instantseeritud, kuid andmevoog pakub seda päringutesse programmeeritud teave isegi siis, kui nende andmete ulatus ja olemus pole puhtad piiratud.