Het gedistribueerde besturingssysteem DBOS, dat bovenop een DBMS draait, wordt geïntroduceerd

Het DBOS-project (DBMS-georiënteerd besturingssysteem) wordt gepresenteerd, waarin een nieuw besturingssysteem wordt ontwikkeld voor het uitvoeren van schaalbare gedistribueerde applicaties. Een speciaal kenmerk van het project is het gebruik van een DBMS voor het opslaan van applicaties en de systeemstatus, en het organiseren van toegang tot de staat alleen via transacties. Het project wordt ontwikkeld door onderzoekers van het Massachusetts Institute of Technology, de Universiteit van Wisconsin en Stanford, Carnegie Mellon University en Google en VMware. Het werk wordt gedistribueerd onder de MIT-licentie.

Componenten voor interactie met apparatuur en geheugenbeheerdiensten op laag niveau worden in de microkernel geplaatst. De mogelijkheden van de microkernel worden gebruikt om de DBMS-laag te starten. Systeemservices op hoog niveau die de uitvoering van applicaties mogelijk maken, communiceren alleen met het gedistribueerde DBMS en zijn gescheiden van de microkernel en systeemspecifieke componenten.

Het voortbouwen op een gedistribueerd DBMS maakt het mogelijk om systeemservices aanvankelijk gedistribueerd te maken en niet gebonden aan een specifiek knooppunt, wat DBOS onderscheidt van traditionele clustersystemen, waarin elk knooppunt zijn eigen exemplaar van het besturingssysteem draait, waarboven afzonderlijke clusterplanners, gedistribueerde bestandssystemen en netwerkbeheerders worden gelanceerd.

Het gedistribueerde besturingssysteem DBOS, dat bovenop een DBMS draait, wordt geïntroduceerd

Opgemerkt wordt dat het gebruik van moderne gedistribueerde DBMS'en als basis voor DBOS, het opslaan van gegevens in RAM en het ondersteunen van transacties, zoals VoltDB en FoundationDB, voldoende prestaties kan leveren voor de efficiënte uitvoering van veel systeemservices. Het DBMS kan ook planner-, bestandssysteem- en IPC-gegevens opslaan. Tegelijkertijd zijn DBMS'en zeer schaalbaar, bieden ze atomiciteit en transactie-isolatie, kunnen ze petabytes aan gegevens beheren en bieden ze tools voor toegangscontrole en het volgen van gegevensstromen.

Een van de voordelen van de voorgestelde architectuur is een aanzienlijke uitbreiding van de analysemogelijkheden en een vermindering van de codecomplexiteit als gevolg van het gebruik van gewone queries naar het DBMS in de besturingssysteemdiensten, aan de kant waarvan de implementatie van transacties en tools voor het garanderen van hoge beschikbaarheid wordt uitgevoerd (dergelijke functionaliteit kan eenmalig aan de DBMS-zijde worden geïmplementeerd en in besturingssystemen en applicaties worden gebruikt).

Een clusterplanner kan bijvoorbeeld informatie over taken en handlers opslaan in DBMS-tabellen en planningsbewerkingen implementeren als reguliere transacties, waarbij imperatieve code en SQL worden gecombineerd. Transacties maken het gemakkelijker om problemen zoals gelijktijdigheidsbeheer en foutherstel op te lossen, omdat transacties consistentie en statuspersistentie garanderen. In de context van het planner-voorbeeld maken transacties gelijktijdige toegang tot gedeelde gegevens mogelijk en zorgen ervoor dat de staatsintegriteit behouden blijft in het geval van storingen.

De mechanismen voor logboekregistratie en gegevensanalyse van het DBMS kunnen worden gebruikt om de toegang en veranderingen in de applicatiestatus te volgen, te monitoren, fouten op te sporen en de beveiliging te behouden. Nadat u bijvoorbeeld ongeautoriseerde toegang tot een systeem hebt gedetecteerd, kunt u SQL-query's uitvoeren om de omvang van het lek te bepalen, waarbij u alle bewerkingen identificeert die worden uitgevoerd door processen die toegang hebben gekregen tot vertrouwelijke informatie.

Het project is al meer dan een jaar in ontwikkeling en bevindt zich in de fase van het creëren van prototypes van individuele architectonische componenten. Momenteel is een prototype van besturingssysteemdiensten die bovenop het DBMS draaien, zoals FS, IPC en planner, voorbereid en wordt er een softwareomgeving ontwikkeld die een interface biedt voor het draaien van applicaties op basis van de FaaS (function-as-as- a-service) model.

De volgende ontwikkelingsfase is van plan om een ​​volwaardige softwarestack voor gedistribueerde applicaties te bieden. VoltDB wordt momenteel gebruikt als DBMS in experimenten, maar er zijn discussies gaande over het creëren van onze eigen laag voor het opslaan van gegevens of het implementeren van ontbrekende mogelijkheden in bestaande DBMS'en. Ook de vraag welke componenten op kernelniveau moeten worden uitgevoerd en welke bovenop het DBMS kunnen worden geïmplementeerd, staat ter discussie.

Bron: opennet.ru

Voeg een reactie