Predstavený projekt DBOS (DBMS-oriented Operating System) vyvíja novú operačnú sústavu pre vykonávanie škálovateľných distribuovaných aplikácií. Charakteristickou črtou projektu je použitie SÚBD na ukladanie aplikácií a stavu systému, ako aj organizácia prístupu k stavu iba cez transakcie. Projekt vyvíjajú výskumníci z Massachusettského technologického inštitútu, Wisconsinskej a Stanfordovej univerzity, univerzity Carnegie Mellon a firiem Google a VMware. Výsledky sa šíria pod licenciou MIT.
Komponenty na interakciu s hardvérom a nízkoúrovňové služby správy pamäte sú presunuté do mikrojadra. Poskytované možnosti mikrojadra sa využívajú na spustenie vrstvy so SÚBD. Vysokoúrovňové systémové služby, ktoré zabezpečujú vykonávanie aplikácií, komunikujú iba s distribuovanou SÚBD a sú oddelené od mikrojadra a špecifických komponentov pre konkrétny systém.
Stavba nad distribuovanou SÚBD umožňuje, aby boli systémové služby od začiatku distribuované a nie viazané na konkrétny uzol, čo odlišuje DBOS od tradičných klastrových systémov, pri ktorých na každom uzle beží vlastný exemplár operačného systému, nad ktorým sa spúšťajú jednotlivé klastrové plánovače, distribuované FS a sieťoví manažéri.

Je zdôraznené, že použitie moderných distribuovaných SÚBD ako základ pre DBOS, ktoré ukladajú dáta v operačnej pamäti a podporujú transakcie, ako sú VoltDB a FoundationDB, môže zabezpečiť výkon dostatočný na efektívne vykonávanie mnohých systémových služieb. V SÚBD môžu byť zahrnuté aj dáta plánovača, súborového systému a IPC. Zároveň sa SÚBD výborne škálujú, zabezpečujú atomickosť a izoláciu transakcií, dokážu spravovať petabajty dát a ponúkajú nástroje na správu prístupu a sledovanie tokov dát.
Medzi výhody navrhnutej architektúry patrí významné rozšírenie analytických možností a zníženie komplexnosti kódu vďaka používaniu bežných dopytov k databázovému systému v službách operačného systému, pričom implementácia transakcií a prostriedkov na zabezpečenie vysokej dostupnosti je prevedená na stranu databázového systému (takáto funkcionalita môže byť raz implementovaná na strane databázového systému a využitá v operačnom systéme a aplikáciách).
Napríklad, klastrový plánovač môže ukladať informácie o úlohách a spracovateľoch v tabuľkách databázového systému a realizovať plánovacie operácie ako bežné transakcie, kombinujúc imperatívny kód a SQL. Použitie transakcií zjednodušuje riešenie problémov, ako je správa viacerých threadov a obnova po zlyhaniach, pretože transakcie zaručujú konzistenciu a odolnosť stavu. V kontexte príkladu s plánovačom transakcie umožňujú zorganizovať súbežný prístup k zdieľaným údajom a zaručiť zachovanie integrity stavu v prípade zlyhaní.
Poskytované mechanizmy v databázovom systéme pre sledovanie prístupu a analýzu údajov môžu byť využité na sledovanie prístupu a zmien stavu aplikácií, monitorovanie, ladenie a udržiavanie bezpečnosti. Napríklad po zistení neoprávneného prístupu do systému môžeme prostredníctvom vykonávania SQL dopytov určiť rozsah úniku identifikovaním všetkých operácií vykonaných procesmi, ktoré získali prístup k dôverným informáciám.
Projekt sa vyvíja už viac ako rok a nachádza sa vo fáze vytvárania prototypov jednotlivých komponentov architektúry. V súčasnosti je pripravený prototyp fungujúcich služieb operačného systému nad databázovým systémom, ako sú FS, IPC a plánovač, a tiež sa vyvíja programové prostredie, ktoré poskytuje rozhranie na spúšťanie aplikácií na báze modelu FaaS (function-as-a-service).
V nasledujúcej fáze vývoja sa plánuje poskytnúť kompletný softvérový stack pre distribuované aplikácie. Ako databázový systém sa v experimentoch zatiaľ používa VoltDB, ale diskutuje sa o vytvorení vlastnej vrstvy na ukladanie údajov alebo implementácii nedostatkových funkcií v existujúcich databázových systémoch. Na programe diskusie je aj otázka, ktoré komponenty by mali byť vykonávané na úrovni jadra a ktoré by sa mohli realizovať nad databázovým systémom.
Zdroj: opennet.ru
