Esitatakse DBMS-i peal töötav hajutatud operatsioonisüsteem DBOS

Esitletakse projekti DBOS (DBMS-oriented Operating System), mis arendab uut operatsioonisüsteemi skaleeritavate hajutatud rakenduste käitamiseks. Projekti eripäraks on DBMS-i kasutamine rakenduste ja süsteemi oleku salvestamiseks, samuti olekule juurdepääsu korraldamine ainult tehingute kaudu. Projekti arendavad Massachusettsi tehnoloogiainstituudi, Wisconsini ja Stanfordi ülikooli, Carnegie Melloni ülikooli ning Google'i ja VMware teadlased. Teost levitatakse MIT litsentsi all.

Seadmetega suhtlemiseks ja madala taseme mäluhaldusteenustega seotud komponendid paigutatakse mikrokernelisse. DBMS-i kihi käivitamiseks kasutatakse mikrokerneli pakutavaid võimalusi. Kõrgetasemelised süsteemiteenused, mis võimaldavad rakenduste täitmist, suhtlevad ainult hajutatud DBMS-iga ning on eraldatud mikrokernelist ja süsteemispetsiifilistest komponentidest.

Jaotatud DBMS-i peale ehitamine võimaldab muuta süsteemiteenused algselt hajutatud ja mitte konkreetse sõlmega seotud, mis eristab DBOS-i traditsioonilistest klastrisüsteemidest, milles iga sõlm käitab oma operatsioonisüsteemi eksemplari, mille peal on eraldi. käivitatakse klastri planeerijad, hajutatud failisüsteemid ja võrguhaldurid.

Esitatakse DBMS-i peal töötav hajutatud operatsioonisüsteem DBOS

Tuleb märkida, et kaasaegsete hajutatud DBMS-ide kasutamine DBOS-i alusena, andmete salvestamine RAM-i ja tehingute (nt VoltDB ja FoundationDB) toetamine võib tagada paljude süsteemiteenuste tõhusaks täitmiseks piisava jõudluse. DBMS võib salvestada ka planeerija, failisüsteemi ja IPC andmeid. Samal ajal on DBMS-id väga skaleeritavad, tagavad aatomilisuse ja tehingute isolatsiooni, suudavad hallata petabaite andmeid ning pakuvad tööriistu juurdepääsu kontrollimiseks ja andmevoogude jälgimiseks.

Kavandatava arhitektuuri eeliste hulgas on analüütikavõimaluste märkimisväärne laienemine ja koodi keerukuse vähenemine, mis on tingitud tavapäraste päringute kasutamisest DBMS-i operatsioonisüsteemi teenustes, mille poolel on tehingute ja tööriistade rakendamine kõrge taseme tagamiseks. kättesaadavus on teostatud (sellist funktsionaalsust saab DBMS-i poolel ühe korra rakendada ja kasutada OS-is ja rakendustes).

Näiteks saab klastri planeerija salvestada teavet ülesannete ja töötlejate kohta DBMS-i tabelites ning rakendada ajastamistoiminguid tavaliste tehingutena, segades kohustuslikku koodi ja SQL-i. Tehingute abil on lihtsam lahendada probleeme, nagu samaaegsuse haldamine ja rikete taastamine, kuna tehingud tagavad järjepidevuse ja oleku püsivuse. Planeerija näite kontekstis võimaldavad tehingud samaaegset juurdepääsu jagatud andmetele ja tagavad oleku terviklikkuse säilimise tõrgete korral.

DBMS-i pakutavaid logimis- ja andmeanalüüsi mehhanisme saab kasutada juurdepääsu ja rakenduse oleku muutuste jälgimiseks, jälgimiseks, silumiseks ja turvalisuse säilitamiseks. Näiteks saate pärast süsteemile volitamata juurdepääsu tuvastamist käivitada SQL-päringuid, et teha kindlaks lekke ulatus, tuvastades kõik toimingud, mida teostavad protsessid, mis said juurdepääsu konfidentsiaalsele teabele.

Projekti on arendatud rohkem kui aasta ja see on üksikute arhitektuurikomponentide prototüüpide loomise etapis. Praegu on ette valmistatud DBMS-i peal töötavate operatsioonisüsteemiteenuste prototüüp, nagu FS, IPC ja planeerija, ning arendamisel on tarkvarakeskkond, mis pakub liidest FaaS-il põhinevate rakenduste käivitamiseks (function-as- a-teenus) mudel.

Järgmises etapis on kavas pakkuda hajutatud rakenduste jaoks täielikku tarkvarapakki. Praegu kasutatakse VoltDB-d eksperimentides DBMS-ina, kuid käimas on arutelud oma kihi loomise üle andmete salvestamiseks või olemasolevate DBMS-ide puuduvate võimaluste rakendamiseks. Samuti arutatakse küsimust, milliseid komponente tuleks käivitada kerneli tasemel ja milliseid saab rakendada DBMS-i peale.

Allikas: opennet.ru

Lisa kommentaar