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

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

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

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

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

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

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

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

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

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

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

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

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