Bemutatjuk a DBMS-en futó elosztott operációs rendszert

Bemutatják a DBOS (DBMS-oriented Operating System) projektet, amely egy új operációs rendszert fejleszt a méretezhető elosztott alkalmazások futtatására. A projekt jellemzője az alkalmazások és a rendszerállapot tárolására szolgáló DBMS használata, valamint az állapothoz való hozzáférés megszervezése csak tranzakciókon keresztül. A projektet a Massachusetts Institute of Technology, a Wisconsini és Stanfordi Egyetem, a Carnegie Mellon Egyetem, valamint a Google és a VMware kutatói fejlesztik. A művet az MIT licence alatt terjesztik.

A berendezésekkel való interakcióhoz és az alacsony szintű memóriakezelési szolgáltatásokhoz szükséges komponensek a mikrokernelbe kerülnek. A mikrokernel által biztosított képességek a DBMS réteg elindítására szolgálnak. Az alkalmazások végrehajtását lehetővé tevő magas szintű rendszerszolgáltatások csak az elosztott DBMS-sel működnek együtt, és elkülönülnek a mikrokerneltől és a rendszerspecifikus összetevőktől.

Az elosztott DBMS-re építve lehetővé válik, hogy a rendszerszolgáltatások kezdetben elosztottak legyenek, és ne legyenek egy adott csomóponthoz kötve, ami megkülönbözteti a DBOS-t a hagyományos fürtrendszerektől, amelyekben minden csomópont az operációs rendszer saját példányát futtatja, amelyen külön-külön fürtütemezők, elosztott fájlrendszerek és hálózatkezelők indulnak.

Bemutatjuk a DBMS-en futó elosztott operációs rendszert

Megjegyzendő, hogy a modern elosztott DBMS-ek használata a DBOS alapjaként, az adatok RAM-ban való tárolása és a tranzakciók támogatása, mint például a VoltDB és a FoundationDB, elegendő teljesítményt biztosíthat számos rendszerszolgáltatás hatékony végrehajtásához. A DBMS az ütemező, a fájlrendszer és az IPC adatokat is tárolhatja. Ugyanakkor a DBMS-ek nagymértékben skálázhatók, atomitást és tranzakciós elkülönítést biztosítanak, petabájtnyi adatot tudnak kezelni, és eszközöket biztosítanak a hozzáférés-szabályozáshoz és az adatfolyamok nyomon követéséhez.

A javasolt architektúra előnyei közé tartozik az analitikai képességek jelentős bővítése és a kód bonyolultságának csökkenése az operációs rendszer szolgáltatásaiban a DBMS-hez intézett szokásos lekérdezések használatának köszönhetően, amelyek mellett a tranzakciók végrehajtása és a magas színvonal biztosítását szolgáló eszközök. rendelkezésre állást hajtanak végre (ez a funkcionalitás egyszer implementálható DBMS oldalon, és használható operációs rendszerben és alkalmazásokban).

Például egy fürtütemező információkat tárolhat a feladatokról és a kezelőkről DBMS-táblákban, és ütemezési műveleteket valósíthat meg szokásos tranzakciókként, keverve a kötelező kódot és az SQL-t. A tranzakciók megkönnyítik az olyan problémák megoldását, mint az egyidejűség kezelése és a hibák helyreállítása, mivel a tranzakciók garantálják a konzisztenciát és az állapot fennmaradását. Az ütemező példájával összefüggésben a tranzakciók lehetővé teszik a megosztott adatokhoz való egyidejű hozzáférést, és biztosítják az állapot integritásának fenntartását hibák esetén.

A DBMS által biztosított naplózási és adatelemzési mechanizmusok felhasználhatók a hozzáférés és az alkalmazás állapotában bekövetkezett változások nyomon követésére, a figyelésre, a hibakeresésre és a biztonság fenntartására. Például egy rendszerhez való jogosulatlan hozzáférés észlelése után SQL-lekérdezéseket futtathat a szivárgás mértékének meghatározására, azonosítva a bizalmas információkhoz hozzáférést biztosító folyamatok által végrehajtott összes műveletet.

A projekt több mint egy éve fejlesztés alatt áll, és az egyes építészeti elemek prototípusainak létrehozásának szakaszában van. Jelenleg elkészült a DBMS-en futó operációs rendszer szolgáltatások prototípusa, mint az FS, IPC és ütemező, és folyamatban van egy olyan szoftverkörnyezet fejlesztése, amely interfészt biztosít a FaaS-en alapuló alkalmazások futtatásához (function-as- a-szolgáltatás) modell.

A fejlesztés következő szakasza az elosztott alkalmazások teljes értékű szoftvercsomagjának biztosítását tervezi. A VoltDB-t jelenleg DBMS-ként használják kísérletekben, de folynak a megbeszélések az adatok tárolására szolgáló saját réteg létrehozásáról vagy a meglévő DBMS-ek hiányzó képességeinek megvalósításáról. Szintén vita tárgyát képezi az a kérdés is, hogy mely komponenseket kell kernel szinten végrehajtani, és melyeket lehet implementálni a DBMS-re.

Forrás: opennet.ru

Hozzászólás