Представена е разпределена операционна система DBOS, работеща над СУБД

Представен проект DBOS (Операционна система, ориентирована на СУБД), който развива нова операционна система за изпълнение на масштабируеми разпределени приложения. Характерната черта на проекта е използването на СУБД за съхранение на приложенията и състоянието на системата, както и организирането на достъпа до състоянието единствено чрез транзакции. Проектът се развива от изследователи от Масачусетския технологичен институт, Университета на Уисконсин, Станфордския университет, Университета Карнеги Мелън и компаниите Google и VMware. Резултатите се разпространяват под лиценцията MIT.

Компонентите за взаимодействие с оборудването и нискоуровневите услуги за управление на паметта са изнесени в микроядро. Предоставените от микроядрото възможности се използват за стартиране на слоя със СУБД. Високите системни услуги, които осигуряват изпълнението на приложенията, взаимодействат единствено с разпределената СУБД и са отделени от микроядрото и специфичните за конкретната система компоненти.

Построяването върху разпределената СУБД позволява системните услуги да бъдат отначало разпределени и да не са обвързани с конкретен възел, което отличава DBOS от традиционните клъстерни системи, в които на всеки възел работи своя инстанция на операционната система, върху която се стартират отделни клъстерни планировчици, разпределени файлови системи и мрежови мениджъри.

Представена е разпределена операционна система DBOS, работеща над СУБД

Отбелязва се, че използването на съвременни разпределени СУБД, които съхраняват данни в оперативната памет и поддържат транзакции, като VoltDB и FoundationDB, може да осигури производителност, достатъчна за ефективното изпълнение на много системни услуги. В СУБД могат да бъдат поставяни и данни за планировчика, файловата система и IPC. Освен това, СУБД изключително добре се скалират, осигуряват атомарност и изолираност на транзакциите, могат да управляват петабайти данни и предоставят инструменти за управление на достъпа и проследяване на потоковете от данни.

Сред основните предимства на предложената архитектура е значителното разширение на аналитичните възможности и намаляване на сложността на кода чрез използването на обикновени заявки към СУБД в услугите на операционната система, където се реализират транзакции и средства за осигуряване на висока наличност (такава функционалност може да бъде реализирана на страна на СУБД веднъж и използвана в ОС и приложения).

Например, клъстерният планировчик може да съхранява информация за задачи и обработчици в таблици на СУБД и да реализира операции по планиране като обикновени транзакции, смесвайки императивен код и SQL. Използването на транзакции опростява решаването на проблеми като управление на многопоточността и възстановяване след повреди, тъй като транзакциите гарантират последователността и устойчивостта на състоянието. В контекста на примера с планировчика транзакциите позволяват организиране на едновременното достъп до споделени данни и гарантират запазването на целостта на състоянието в случай на повреди.

Предоставените в СУБД механизми за водене на логове и анализ на данни могат да се използват за проследяване на достъпа и промените в състоянието на приложенията, мониторинг, отстраняване на проблеми и поддържане на сигурността. Например, след откриването на неразрешен достъп до системата може да се определи обхватът на изтичането чрез изпълнение на SQL заявки, откривайки всички операции, извършени от процеси, получили достъп до конфиденциална информация.

Проектът се разработва вече повече от година и е в етап на създаване на прототипи на отделни компоненти от архитектурата. В момента е подготвен прототип на работещи услуги на операционната система, работещи над СУБД, като ФС, IPC и планировчик, а също така се развива програмна среда, предоставяща интерфейс за стартиране на приложения на базата на модела FaaS (function-as-a-service).

На следващия етап от разработката ще бъде предоставен пълен софтуерен стек за разпределени приложения. В експериментите за база данни в момента се използва VoltDB, но се обсъжда разработването на собствен слой за съхранение на данни или реализирането на необходимите функции в съществуващите системи за управление на бази данни. Също така се обсъжда кои компоненти трябва да функционират на ниво ядро, а кои могат да бъдат реализирани над системата за управление на бази данни.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster