DBMS 上で実行される分散オペレーティング システム DBOS が紹介されています。

スケーラブルな分散アプリケーションを実行するための新しいオペレーティング システムを開発する DBOS (DBMS 指向オペレーティング システム) プロジェクトが紹介されています。 このプロジェクトの特別な特徴は、アプリケーションとシステム状態を保存するための DBMS の使用と、トランザクションを通じてのみ状態へのアクセスを組織化することです。 このプロジェクトは、マサチューセッツ工科大学、ウィスコンシン大学、スタンフォード大学、カーネギーメロン大学、Google、VMware の研究者によって開発されています。 この作品は MIT ライセンスに基づいて配布されます。

機器と対話するためのコンポーネントおよび低レベルのメモリ管理サービスは、マイクロカーネルに配置されます。 マイクロカーネルによって提供される機能は、DBMS レイヤーを起動するために使用されます。 アプリケーションの実行を可能にする高レベルのシステム サービスは、分散 DBMS とのみ対話し、マイクロカーネルやシステム固有のコンポーネントから分離されています。

分散型 DBMS 上に構築すると、システム サービスを最初から分散させ、特定のノードに関連付けないようにすることができます。これにより、各ノードがオペレーティング システムの独自のインスタンスを実行し、その上で個別のオペレーティング システムのインスタンスを実行する従来のクラスタ システムと DBOS が区別されます。クラスタ スケジューラ、分散ファイル システム、およびネットワーク マネージャが起動されます。

DBMS 上で実行される分散オペレーティング システム DBOS が紹介されています。

最新の分散 DBMS を DBOS の基盤として使用し、RAM にデータを保存し、VoltDB や FoundationDB などのトランザクションをサポートすることで、多くのシステム サービスを効率的に実行するのに十分なパフォーマンスを提供できることに注意してください。 DBMS には、スケジューラ、ファイル システム、および IPC データも保存できます。 同時に、DBMS は拡張性が高く、アトミック性とトランザクション分離を提供し、ペタバイト規模のデータを管理でき、アクセス制御とデータ フローの追跡のためのツールを提供します。

提案されたアーキテクチャの利点の中には、オペレーティング システム サービスで DBMS への通常のクエリを使用することにより、分析機能が大幅に拡張され、コードの複雑さが軽減されることが挙げられます。また、その一方で、高品質を保証するためのトランザクションとツールが実装されています。可用性が実現されます(このような機能は DBMS 側で一度実装され、OS やアプリケーションで使用できます)。

たとえば、クラスター スケジューラーは、タスクとハンドラーに関する情報を DBMS テーブルに保存し、命令型コードと SQL を混合して通常のトランザクションとしてスケジュール操作を実装できます。 トランザクションにより一貫性と状態の永続性が保証されるため、同時実行性の管理や障害回復などの問題の解決が容易になります。 スケジューラの例のコンテキストでは、トランザクションにより共有データへの同時アクセスが可能になり、障害が発生した場合でも状態の整合性が確実に維持されます。

DBMS が提供するログ記録およびデータ分析メカニズムを使用して、アクセスとアプリケーション状態の変化を追跡し、監視、デバッグ、セキュリティを維持できます。 たとえば、システムへの不正アクセスを検出した後、SQL クエリを実行して漏洩の範囲を特定し、機密情報にアクセスしたプロセスによって実行されたすべての操作を特定できます。

このプロジェクトは XNUMX 年以上にわたって開発が進められており、現在、個々のアーキテクチャ コンポーネントのプロトタイプを作成している段階です。 現在、DBMS上で動作するFS、IPC、スケジューラなどのOSサービスのプロトタイプが準備されており、FaaS(Function-as- a-サービス)モデル。

開発の次の段階では、分散アプリケーション用の本格的なソフトウェア スタックを提供する予定です。 VoltDB は現在 DBMS として実験的に使用されていますが、データを保存するための独自のレイヤーを作成するか、既存の DBMS に不足している機能を実装するかについて議論が進行中です。 どのコンポーネントをカーネル レベルで実行する必要があり、どのコンポーネントを DBMS 上に実装できるかという問題も議論されています。

出所: オープンネット.ru

コメントを追加します