Andmebaasi arenduse BASE mudel

Sisukord:

Andmebaasi arenduse BASE mudel
Andmebaasi arenduse BASE mudel
Anonim

Relatsiooniandmebaasid on loodud töökindluse ja järjepidevuse keskmes. Neid välja töötanud insenerid keskendusid tehingumudelile, mis tagab, et ACID-mudeli neli põhimõtet säilivad alati. 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 salvestamise lähenemisviisi kasuks. Selline struktureerimata andmete lähenemisviis nõuab ACID-mudeli alternatiivi: BASE-mudelit.

Image
Image

ACID-mudeli põhiprintsiibid

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

  • Tehingute atomicity tagab, et iga andmebaasi tehing on üks ühik, 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 iga tehingu järjepidevuse andmebaasi ärireeglitega. Kui mõni tuumatehingu element häirib andmebaasi järjepidevust, siis kogu tehing ebaõnnestub.
  • Andmebaasi mootor jõustab isolatsiooni mitme korraga või peaaegu samaaegselt toimuva tehingu vahel. Iga tehing toimub kas enne või pärast iga teist tehingut ja tehingu alguses kuvatavat andmebaasivaadet muudab ainult tehing ise enne selle sõlmimist. Ükski tehing ei tohiks kunagi näha teise tehingu vaheprodukti.
  • Lõplik ACID-põhimõte, kestvus, tagab, et kui tehing on andmebaasi kantud, säilitatakse see varukoopiate ja tehingulogide abil püsiv alt. Rikke korral võidakse neid mehhanisme kasutada sooritatud tehingute taastamiseks.

BASE'i põhiprintsiibid

NoSQL-i andmebaasid seevastu 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ähenemine keskendub andmete saadavusele isegi mitmete rikete 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 paljude kõrge replikatsiooniastmega salvestussüsteemide vahel. Ebatõenäolisel juhul, kui rike häirib juurdepääsu andmesegmendile, ei pruugi see põhjustada andmebaasi täielikku katkestust.
  • Soft State. BASE-andmebaasid loobuvad ACID-mudeli järjepidevusnõuetest peaaegu täielikult. Üks BASE-i põhimõisteid on see, et andmete järjepidevus on arendaja probleem ja seda ei tohiks andmebaas käsitleda.
  • Jõuamatu järjepidevus Ainus nõue, mis NoSQL-i andmebaasidel järjepidevuse osas on, on nõuda, et millalgi tulevikus läheksid andmed ühtsesse olekusse. Siiski ei garanteerita, millal see juhtub. See on täielik kõrvalekalle ACID-i vahetu järjepidevuse nõudest, mis keelab tehingu sooritamise enne, kui eelmine tehing on lõpule viidud ja andmebaas on ühtlustunud olekusse.

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 hästi 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.

Kuid BASE-lahendused on paremad ebaselgete teemade jaoks, nagu meeleoluanalüüs. Näiteks võib BASE-struktuuriga projekt skannida Twitteri voogu, otsides sõnu, mis viitavad konkreetsele hashtagile emotsioonile. Twitteri voog ei ole hästi struktureeritud ega lokaalselt instantseeritud, kuid andmevoog pakub päringutesse programmeeritud teavet isegi siis, kui nende andmete ulatus ja olemus ei ole selgelt piiritletud.

Soovitan: