Прадстаўлена размеркаваная аперацыйная сістэма DBOS, якая працуе па-над СКБД

Прадстаўлены праект DBOS (DBMS-oriented Operating System), які развівае новую аперацыйную сістэму для выканання маштабаваных размеркаваных прыкладанняў. Асаблівасцю праекту з'яўляецца выкарыстанне СКБД для захоўвання прыкладанняў і станы сістэмы, а таксама арганізацыя доступу да стану толькі праз транзакцыі. Праект развіваецца даследчыкамі з Масачусецкага тэхналагічнага інстытута, Вісконсінскага і Стэнфардскага універсітэтаў, універсітэта Карнегі-Меллона і кампаній Google і VMware. Напрацоўкі распаўсюджваюцца пад ліцэнзіяй MIT.

Кампаненты для ўзаемадзеяння з абсталяваннем і нізкаўзроўневыя сэрвісы кіравання памяццю вынесены ў мікраядро. Якія прадстаўляюцца микроядром магчымасці выкарыстоўваюцца для запуску пласта з СКБД. Высокаўзроўневыя сістэмныя сэрвісы, якія забяспечваюць выкананне прыкладанняў, узаемадзейнічаюць толькі з размеркаванай СКБД і аддзеленыя ад мікраядра і спецыфічных для канкрэтнай сістэмы кампанентаў.

Пабудова па-над размеркаванай СКБД дазваляе зрабіць сістэмныя сэрвісы першапачаткова размеркаванымі і не прывязанымі да канкрэтнага вузла, што адрознівае DBOS ад традыцыйных кластарных сістэм, у якіх на кожным вузле выконваецца ўласны асобнік аперацыйнай сістэмы, па-над якой запускаюцца асобныя кластарныя планавальнікі, размеркаваныя ФС і сеткавыя ФС і сеткавыя.

Прадстаўлена размеркаваная аперацыйная сістэма DBOS, якая працуе па-над СКБД

Адзначаецца, што выкарыстанне ў якасці асновы DBOS сучасных размеркаваных СКБД, якія захоўваюць дадзеныя ў аператыўнай памяці і падтрымліваюць транзакцыі, такіх як VoltDB і FoundationDB, здольна забяспечыць прадукцыйнасць, дастатковую для эфектыўнага выканання шматлікіх сістэмных сэрвісаў. У СКБД у тым ліку могуць размяшчацца дадзеныя планавальніка, файлавай сістэмы і IPC. Пры гэтым СКБД выдатна маштабуюцца, забяспечваюць атамарнасць і ізаляванасць транзакцый, могуць кіраваць петабайтамі дадзеных, падаюць прылады для кіравання доступам і адсочванні струменяў дадзеных.

З добрых якасцяў прапанаванай архітэктуры называецца значнае пашырэнне магчымасцяў аналітыкі і зніжэнне складанасці кода за кошт выкарыстання ў сэрвісах аперацыйнай сістэмы звычайных запытаў да СКБД, на бок якой выносіцца рэалізацыя транзакцый і сродкаў для забеспячэння высокай даступнасці (падобная функцыянальнасць можа быць рэалізавана на баку СКБД адзін раз і выкарыстаны у АС і дадатках).

Напрыклад, кластарны планавальнік можа захоўваць інфармацыю аб задачах і апрацоўшчыках у табліцах СКБД і рэалізоўваць аперацыі планавання як звычайныя транзакцыі, змешваючы імператыўны код і SQL. Ужыванне транзакцый спрашчае рашэнне такіх праблем, як кіраванне шматструменнасцю і аднаўленне пасля збояў, бо транзакцыі гарантуюць узгодненасць і ўстойлівасць стану. У кантэксце прыкладу з планавальнікам транзакцыі дазваляюць арганізаваць адначасовы доступ да сумесна выкарыстоўваных дадзеных і гарантаваць захаванне цэласнасці стану ў выпадку збояў.

Якія прадстаўляюцца ў СКБД механізмы вядзення логаў і аналізу дадзеных могуць прымяняцца для адсочвання доступу і змены стану прыкладанняў, маніторынгу, адладкі і падтрымання бяспекі. Напрыклад, пасля выяўлення несанкцыянаванага доступу да сістэмы можна праз выкананне SQL-запытаў вызначыць маштаб уцечкі, выявіўшы ўсе аперацыі, зробленыя працэсамі, якія атрымалі доступ да канфідэнцыйнай інфармацыі.

Праект распрацоўваецца ўжо больш за год і знаходзіцца на стадыі стварэння прататыпаў асобных кампанентаў архітэктуры. У цяперашні час падрыхтаваны прататып працуючых па-над СКБД сэрвісаў аперацыйнай сістэмы, такіх як ФС, IPC і планавальнік, а таксама развіваецца праграмнае асяроддзе, якое прадстаўляе інтэрфейс для запуску прыкладанняў на базе мадэлі FaaS (function-as-a-service).

На наступнай стадыі распрацоўкі плануецца прадаставіць паўнавартасны праграмны стэк для размеркаваных дадаткаў. У якасці СКБД у эксперыментах пакуль выкарыстоўваецца VoltDB, але вядзецца абмеркаванне стварэння ўласнага пласта для захоўвання дадзеных або рэалізацыі якія адсутнічаюць магчымасцяў у існых СКБД. На стадыі абмеркавання таксама знаходзіцца пытанне, якія кампаненты павінны выконвацца на ўзроўні ядра, а якія можна рэалізаваць па-над СКБД.

Крыніца: opennet.ru

Дадаць каментар