Predstavljen je porazdeljeni operacijski sistem DBOS, ki deluje na vrhu DBMS

Predstavljen je projekt DBOS (DBMS-usmerjen operacijski sistem), ki razvija nov operacijski sistem za izvajanje razširljivih porazdeljenih aplikacij. Posebnost projekta je uporaba DBMS za shranjevanje aplikacij in stanja sistema ter organiziranje dostopa do stanja samo preko transakcij. Projekt razvijajo raziskovalci z Massachusetts Institute of Technology, Univerze Wisconsin in Stanford, Univerze Carnegie Mellon ter Googla in VMware. Delo se distribuira pod licenco MIT.

Komponente za interakcijo z opremo in storitve za upravljanje pomnilnika na nizki ravni so nameščene v mikrojedru. Zmogljivosti, ki jih zagotavlja mikrojedro, se uporabljajo za zagon plasti DBMS. Sistemske storitve na visoki ravni, ki omogočajo izvajanje aplikacij, so v interakciji samo s porazdeljenim DBMS in so ločene od mikrojedra in komponent, specifičnih za sistem.

Gradnja na vrhu porazdeljenega DBMS omogoča, da so sistemske storitve na začetku porazdeljene in niso vezane na določeno vozlišče, kar razlikuje DBOS od tradicionalnih sistemov gruče, v katerih vsako vozlišče izvaja svoj primerek operacijskega sistema, na vrhu katerega ločeni zaženejo se načrtovalci gruč, porazdeljeni datotečni sistemi in upravljalniki omrežij.

Predstavljen je porazdeljeni operacijski sistem DBOS, ki deluje na vrhu DBMS

Opozoriti je treba, da lahko uporaba sodobnih porazdeljenih DBMS kot osnove za DBOS, shranjevanje podatkov v RAM in podporne transakcije, kot sta VoltDB in FoundationDB, zagotovi zadostno zmogljivost za učinkovito izvajanje številnih sistemskih storitev. DBMS lahko shranjuje tudi podatke planerja, datotečnega sistema in IPC. Hkrati so DBMS-ji zelo razširljivi, zagotavljajo atomičnost in izolacijo transakcij, lahko upravljajo s petabajti podatkov in zagotavljajo orodja za nadzor dostopa in sledenje podatkovnim tokovom.

Med prednostmi predlagane arhitekture je pomembna razširitev analitičnih zmožnosti in zmanjšanje kompleksnosti kode zaradi uporabe navadnih poizvedb v DBMS v storitvah operacijskega sistema, na strani katerih je izvajanje transakcij in orodij za zagotavljanje visoke dostopnost (takšno funkcionalnost je mogoče implementirati na strani DBMS enkrat in uporabiti v OS in aplikacijah).

Na primer, razporejevalnik gruč lahko shrani informacije o nalogah in obdelovalcih v tabelah DBMS in izvaja operacije razporejanja kot običajne transakcije, pri čemer meša imperativno kodo in SQL. Transakcije olajšajo reševanje težav, kot sta upravljanje sočasnosti in odpravljanje napak, saj transakcije zagotavljajo doslednost in obstojnost stanja. V kontekstu primera razporejevalnika transakcije omogočajo sočasen dostop do podatkov v skupni rabi in zagotavljajo ohranitev celovitosti stanja v primeru napak.

Mehanizmi beleženja in analize podatkov, ki jih zagotavlja DBMS, se lahko uporabljajo za sledenje dostopu in spremembam stanja aplikacije, spremljanje, odpravljanje napak in vzdrževanje varnosti. Na primer, po odkritju nepooblaščenega dostopa do sistema lahko zaženete poizvedbe SQL, da določite obseg uhajanja, pri čemer identificirate vse operacije, ki so jih izvedli procesi, ki so pridobili dostop do zaupnih informacij.

Projekt je nastajal več kot leto dni in je v fazi izdelave prototipov posameznih arhitekturnih elementov. Trenutno je pripravljen prototip storitev operacijskega sistema, ki se izvajajo na vrhu DBMS, kot so FS, IPC in razporejevalnik, razvija pa se programsko okolje, ki zagotavlja vmesnik za izvajanje aplikacij, ki temeljijo na FaaS (function-as- a-service) model.

Naslednja stopnja razvoja načrtuje zagotavljanje polnega sklada programske opreme za porazdeljene aplikacije. VoltDB se trenutno uporablja kot DBMS v poskusih, vendar potekajo razprave o ustvarjanju lastne plasti za shranjevanje podatkov ali implementacijo manjkajočih zmogljivosti v obstoječih DBMS. Razpravlja se tudi o tem, katere komponente je treba izvajati na ravni jedra in katere je mogoče implementirati na vrhu DBMS.

Vir: opennet.ru

Dodaj komentar