【 分散データベースとは 】
集中データベースでは、一つのサーバ上に構築されたデータベースを複数のユーザーがアクセスするものであるが、分散データベースは、複数のサーバに分散して置かれたデータベースをそれぞれのサイトまたは、サーバからあたかも単一のデータベースの如く取り扱えるようにしたものである。
分散データベースは、大別して二つの構成形態に分類される。一つは、垂直分散型と呼ばれるもので、もう一方は、水平分散型である。
垂直分散型では、主と従の関係を持った階層構造型にサーバーが配置されるのが特徴である。垂直分散型の構成では、最も詳細な情報は下層のサーバ上に保持され、それより上層のサーバは、下層のデータを集約した形で保持する形態を採ることが多い。また、共通的に参照されるデータは、上層のサーバに置かれ下層のサーバが保持していない情報を上層のサーバに対して問い合わせる。また、上層のサーバが管理しているデータベースの一部を下層のサーバに配信する場合もある。
水平分散型では、各サーバがそれぞれ異なる種類のデータを保持し、独自の機能を果たすとともに、各サーバに存在しない情報は他のサーバに問い合わせる。
垂直分散型および水平分散型は、このような特徴を持つものであるが、もちろん、この両者の性質を合わせ持ったハイブリッド型とも言うべきステムの構成が採られるケースもあり得る。
水平分散、垂直分散のいずれにせよ、分散データベースでは、当然のことながらデータが分散して配置されることになる。データの分割方法にも水平分割と垂直分割がある。
水平分割には、一つの表を想定した場合、表の縦方向すなわち行のデータが取りうる値の範囲を区切り、それぞれの範囲ごとにデータベースのサーバを割り当てるやりかたで、レンジ分割と呼ばれるものがある。この方法は、データ容量の増大による検索性能の劣化と、物理的な記憶容量増大の問題を解決する場合や、組織の中で、支部や、支店に関係の深いレコードを持たせる場合に行われる分割の方法である。
垂直分割は、一つの表を想定した場合、横方向すなわちカラム(アトリビュートとも言う)毎に分割する方法である。広義な解釈では、表自体を別々なサーバで管理することとも言える。人事データベースを例に挙げると、社員のプライバシーに関するカラムの情報は、本社のデータベースが保持し、それ以外の業務に必要な情報は、ローカルサイトに置かれると言ったような分割の仕方である。
【 分散データベースシステムに求められる要件 】
分散されたデータベースシステムにおいては、利用者がデータベースが分散されていることを意識すること無く利用できる(透過性という)環境を提供する必要があり、また、それができなければ、集中データベースに取って変わることができない。以下の内容は、分散を意識しない透過性に求められる要件を示したものである。これらの要件を満足するような機能を有するDBMSが「分散データベースマネージメントシステム」と言われている。
分散データベースでは、データベースの内容を常に別のデータベースサーバにもコピーしておき、元のデータベースに障害が発生した場合でもコピーしておいたデータベースを使ってすぐに処理を再開できるようになっている。
このコピーされたデータベースを「レプリカ」という。複製する処理を「レプリケーション」という。
分散データベースでは、複数のデータベースにコミットメントを実施するために、2相コミットメントなどの複雑なコミットメント制御が必要である。
www.it-shikaku.jp