next up previous
Next: 研究の成果 Up: KLIC による並列アクテ イブデータベース処理の実現 Previous: 研究の背景と目的

研究の内容

関係データベース演算やアクティブルール発火を並列実行し、クライアントの SQL インタフェースをサポートする、並列データベース管理システムのプロト タイプを、KLIC によって実現している。以下に、SQL クライアント、並列関 係データベース演算実行、並列トランザクション管理、耐故障化、に分けてそ の内容を記す。

○SQL クライアント

関係データベースの標準的なデータ操作言語である SQL のサポートは、シス テムの利用範囲を広げる上でも非常に重要である。また、LAN 環境での利用を 前提に、複数のクライアントからデータベースサーバをアクセスできるように しておくことも必要である。そこで、 標準的な SQL をパーズして関係代数レ ベルのコマンド木を生成する SQL クライアントと、コマンド木を受け付けて 実行する並列アクティブデータベース処理サーバを実現している。これらは、 KLIC をビジネス分野で展開するために必須の機能であると考えられる。

○並列関係データベース処理

関係データベース検索処理で十分な実行性能を出すためには、ディスクアクセ スと読み出したデータの処理を並列化することが必要である。並列アクティブ データベース処理サーバは、関係代数レベルのコマンド木を受け付けて、結合 演算、選択演算、集合演算、集約演算等を並列に実行する。並列データベース 検索処理には、いろいろなレベルで並列化する部分があり、それらの並列化手 法が全体の効率の上で非常に重要となる。KLIC の永続プロセスや論理変数に よるプロセス間のメッセージ通信等を有効に利用して、効率の良い並列アクティ ブデータベースサーバを構成するための手法を研究する。

○並列トランザクション管理

複数のクライアントからのデータベースアクセス要求に対して、矛盾のない一 貫したデータベースの状態を維持することは、データベースサーバにとって必 須の機能である。そのために、トランザクションの並列実行管理、データの階 層ロック、並列デッドロック検出、ログによるリカバリィ機能等を実現してい る。また、アクティブルールの発火により新たな内部的なトランザクションの 生成がされるため、ネステッドトランザクションの実行制御も実現する必要が ある。これらを、KLIC の特徴を生かして効率良く実現する手法を研究する。

○耐故障化

データベース処理では、故障発生時のデータの損失の与える影響の大きさから、 耐故障設計は非常に重要である。特に並列システムの場合、要素プロセッサ数 が増えるとシステムとしての故障確率が高くなることから、十分な耐故障化を 行なっておく必要がある。KLIC でシステムを実現する場合、プロセッサのマッ ピングが必ずしもアルゴリズムに依存しないため、アルゴリズム記述レベルで 耐故障化することは効果的ではない。そのため、プロセッサの故障を、言語の 処理系のレベルでマスクする方法を検討している。言語処理系レベルで耐故障 化することは、データベース処理のみならず、広い範囲のアプリケーションで 大いに効果のあるものと思われる。



next up previous
Next: 研究の成果 Up: KLIC による並列アクテイブデータベース処理の実現 Previous: 研究の背景と目的

www-admin@icot.or.jp