Projketi DBOS (Sistemi Operativ i Orientuar nga DBMS) po zhvillon një sistem operativ të ri për ekzekutimin e aplikacioneve të shpërndara dhe të shkallëzueshme. Veçoria kryesore e këtij projekti është përdorimi i DBMS për ruajtjen e aplikacioneve dhe stanjës së sistemit, si dhe organizimi i aksesit në këtë stan vetëm përmes transaksioneve. Projekti po zhvillohet nga studiues në Institutin Teknologjik të Masaçusetsit, Universitetin e Wisconsin, Universitetin Stanford, Universitetin Carnegie Mellon dhe kompanitë Google dhe VMware. Rezultatet po shpërndahen nën licencën MIT.
Komponentët për ndërveprimin me harduerin dhe shërbimet e ulta për menaxhimin e memories janë transferuar në mikroberi. Mundësitë e ofruara nga mikroberi përdoren për të nisur një shtresë me DBMS. Shërbimet sistemore të nivelit të lartë, të cilat sigurojnë ekzekutimin e aplikacioneve, ndërveprojnë vetëm me DBMS të shpërndara dhe janë të ndara nga mikroberi dhe komponentët specifikë për sistemin.
Ndërtimi mbi një DBMS të shpërndara lejon shërbimet sistemore të jenë fillestarish të shpërndara dhe jo të lidhura me një nyje të caktuar, gjithashtu e dallon DBOS nga sistemet tradicionale të grumbujve, ku në çdo nyje ekzekutohet një instancë e saj e sistemit operativ, mbi të cilin nisen planifikuesit e veçanta të grumbujve, sistemet e skedarëve të shpërndara dhe menaxherët e rrjetit.

Vërehet se përdorimi i DBOS si bazë të moderneve DBMS të shpërndara, që ruajnë të dhëna në kujtesë dhe mbështesin transaksionet, të tilla si VoltDB dhe FoundationDB, mund të sigurojë performancë të mjaftueshme për ekzekutimin efektiv të shumë shërbimeve sistemore. Në DBMS gjithashtu mund të vendosen të dhënat e planifikuesit, sistemit të skedarëve dhe IPC. Ndërkohë, DBMS janë jashtëzakonisht të shkallëzuar, sigurojnë atomikë dhe izolim të transaksioneve, mund të menaxhojnë petabajt të dhënash, ofrojnë mjete për menaxhimin e aksesit dhe gjurmimin e fluksit të të dhënave.
Si përparësi të arkitekturës së propozuar përmendet një zgjerim i konsiderueshëm i mundësive analitike dhe ulja e kompleksitetit të kodit përmes përdorimit të pyetjeve të zakonshme SQL në shërbimet e sistemit operativ, ku realizimi i transaksioneve dhe mjeteve për sigurimin e disponueshmërisë së lartë sakaq kalon në anën e DBMS (kjo funksionalitet mund të realizohet njëherë në DBMS dhe të shfrytëzohet në OS dhe aplikacione).
Për shembull, planifikuesi i grumbujve mund të ruajë informacionin rreth detyrave dhe trajtuesve në tabelat e DBMS dhe të realizojë operacionet e planifikimit si transaksione të zakonshme, duke kombinuar kodin imperativ me SQL. Përdorimi i transaksioneve e thjeshton zgjidhjen e problemeve si menaxhimi i shumëthënieve dhe rikuperimi pas gabimeve, pasi transaksionet garantojnë qëndrueshmërinë dhe koherencën e gjendjes. Në kontekstin e shembullit me planifikuesin, transaksionet lejojnë organizimin e aksesit të përbashkët në të dhënat e ndara dhe garantojnë ruajtjen e integritetit të gjendjes në rast gabimesh.
Mekanizmat e logimit dhe analizës së të dhënave të ofruara në DBMS mund të përdoren për gjurmimin e aksesit dhe ndryshimit të gjendjes së aplikacioneve, monitorimin, rregullimin dhe mbështetje të sigurisë. Për shembull, pas zbulimit të aksesit të paautorizuar në sistem, është e mundur të përcaktohet shkalla e rrjedhjes përmes ekzekutimit të pyetjeve SQL, duke identifikuar të gjitha operacionet e kryera nga proceset që kanë akses në informacionin e ndjeshëm.
Projekti është duke u zhvilluar për më shumë se një vit dhe është në fazën e krijimit të prototipave të komponenteve të veçanta të arkitekturës. Aktualisht është përgatitur një prototip i shërbimeve të sistemit operativ që funksionojnë mbi DBMS, si FS, IPC dhe planifikuesi, dhe gjithashtu po zhvillohet një mjedis programor që ofron një ndërfaqe për ekzekutimin e aplikacioneve mbi modelin FaaS (funksion-si-shërbim).
Në fazën e ardhshme të zhvillimit, planifikohet të ofrohet një paketë e plotë programore për aplikacione të shpërndara. Si DBMS në eksperimente, aktualisht përdoret VoltDB, por po diskutohet krijimi i një shtrese të vetme për ruajtjen e të dhënave ose realizimi i funksionaliteteve që mungojnë në DBMS ekzistues. Po ashtu, çështja se cilat komponente duhet të kryhen në nivelin e kernelit dhe cilat mund të realizohen mbi DBMS është në fazën e diskutimit.
Burimi: opennet.ru
