引入了運行在 DBMS 之上的分佈式操作系統 DBOS

提出了 DBOS(面向 DBMS 的作業系統)項目,開發一種用於運行可擴展分散式應用程式的新作業系統。 該專案的一個特殊功能是使用 DBMS 來儲存應用程式和系統狀態,以及僅透過事務來組織對狀態的存取。 該計畫由來自麻省理工學院、威斯康辛大學和史丹佛大學、卡內基美隆大學以及谷歌和 VMware 的研究人員開發。 該作品根據 MIT 許可證分發。

用於與設備互動的元件和低階記憶體管理服務被放置在微核心中。 微核心提供的功能用於啟動 DBMS 層。 支援應用程式執行的高級系統服務僅與分散式 DBMS 交互,並與微核心和系統特定元件分開。

建構在分散式DBMS 之上,使得系統服務最初是分散式的,並且不依賴特定節點,這使得DBOS 與傳統的叢集系統不同,在傳統的叢集系統中,每個節點運行自己的作業系統實例,其上的作業系統是獨立的。推出叢集調度程序、分散式檔案系統和網路管理器。

引入了運行在 DBMS 之上的分佈式操作系統 DBOS

值得注意的是,使用現代分散式DBMS作為DBOS的基礎,將資料儲存在RAM中並支援事務,例如VoltDB和FoundationDB,可以為許多系統服務的高效執行提供足夠的效能。 DBMS 還可以儲存排程器、檔案系統和 IPC 資料。 同時,DBMS 具有高度可擴展性,提供原子性和事務隔離,可管理 PB 級數據,並提供存取控制和追蹤資料流的工具。

所提出的架構的優點之一是分析功能的顯著擴展和程式碼複雜性的降低,因為在作業系統服務中使用了對 DBMS 的普通查詢,同時事務和工具的實現確保了高執行可用性(此類功能可以在DBMS 端實作一次並在作業系統和應用程式中使用)。

例如,叢集排程器可以將有關任務和處理程序的資訊儲存在 DBMS 表中,並將排程操作實作為常規事務,混合命令式程式碼和 SQL。 事務可以更輕鬆地解決並發管理和故障復原等問題,因為事務保證了一致性和狀態持久性。 在調度程序範例的上下文中,交易允許並發存取共享資料並確保在發生故障時保持狀態完整性。

DBMS 提供的日誌記錄和資料分析機制可用於追蹤應用程式狀態的存取和變更、監視、偵錯和維護安全性。 例如,在偵測到對系統的未經授權的存取權後,您可以執行 SQL 查詢來確定洩漏的程度,識別獲得機密資訊存取權限的程序執行的所有操作。

該專案已經開發了一年多,目前正處於創建各個建築組件原型的階段。 目前,運行在DBMS之上的FS、IPC、調度器等作業系統服務的原型已經準備就緒,並且正在開發一個軟體環境,為基於FaaS(功能即服務)的應用程式運行提供介面。a-服務)模型。

下一階段的開發計劃為分散式應用程式提供成熟的軟體堆疊。 VoltDB 目前正在實驗中用作 DBMS,但關於創建我們自己的層來儲存資料或實現現有 DBMS 中缺少的功能的討論正在進行中。 哪些元件應該在核心層級執行以及哪些元件可以在 DBMS 之上實現的問題也在討論中。

來源: opennet.ru

添加評論