技術要素 - 9.データベース - 5.データベース応用 - 2.分散データベース

Last Update : April 14 2021 15:20:17

     

a. 分散データベースの特徴

分散データベースとは
集中データベースでは、一つのサーバ上に構築されたデータベースを複数のユーザーがアクセスするものであるが、分散データベースは、複数のサーバに分散して置かれたデータベースをそれぞれのサイトまたは、サーバからあたかも単一のデータベースの如く取り扱えるようにしたものである。
分散データベースは、大別して二つの構成形態に分類される。一つは、垂直分散型と呼ばれるもので、もう一方は、水平分散型である。
垂直分散型では、主と従の関係を持った階層構造型にサーバーが配置されるのが特徴である。垂直分散型の構成では、最も詳細な情報は下層のサーバ上に保持され、それより上層のサーバは、下層のデータを集約した形で保持する形態を採ることが多い。また、共通的に参照されるデータは、上層のサーバに置かれ下層のサーバが保持していない情報を上層のサーバに対して問い合わせる。また、上層のサーバが管理しているデータベースの一部を下層のサーバに配信する場合もある。
水平分散型では、各サーバがそれぞれ異なる種類のデータを保持し、独自の機能を果たすとともに、各サーバに存在しない情報は他のサーバに問い合わせる。
垂直分散型および水平分散型は、このような特徴を持つものであるが、もちろん、この両者の性質を合わせ持ったハイブリッド型とも言うべきステムの構成が採られるケースもあり得る。
水平分散、垂直分散のいずれにせよ、分散データベースでは、当然のことながらデータが分散して配置されることになる。データの分割方法にも水平分割と垂直分割がある。
水平分割には、一つの表を想定した場合、表の縦方向すなわち行のデータが取りうる値の範囲を区切り、それぞれの範囲ごとにデータベースのサーバを割り当てるやりかたで、レンジ分割と呼ばれるものがある。この方法は、データ容量の増大による検索性能の劣化と、物理的な記憶容量増大の問題を解決する場合や、組織の中で、支部や、支店に関係の深いレコードを持たせる場合に行われる分割の方法である。
垂直分割は、一つの表を想定した場合、横方向すなわちカラム(アトリビュートとも言う)毎に分割する方法である。広義な解釈では、表自体を別々なサーバで管理することとも言える。人事データベースを例に挙げると、社員のプライバシーに関するカラムの情報は、本社のデータベースが保持し、それ以外の業務に必要な情報は、ローカルサイトに置かれると言ったような分割の仕方である。

分散データベースシステムに求められる要件
分散されたデータベースシステムにおいては、利用者がデータベースが分散されていることを意識すること無く利用できる(透過性という)環境を提供する必要があり、また、それができなければ、集中データベースに取って変わることができない。以下の内容は、分散を意識しない透過性に求められる要件を示したものである。これらの要件を満足するような機能を有するDBMSが「分散データベースマネージメントシステム」と言われている。

  1. 位置に対する透過性(location transparency)
    利用者は配置されているデータの物理的なロケーションを意識することなく、データにアクセスできる。
  2. 移動に対する透過性(migration transparency)
    分散されたデータを移動した場合でも、業務プログラムや操作手順を変更することなくアクセスできる。
  3. 分割に対する透過性(fragmentation transparency)
    一つの表のデータが、複数のサイトに分割して格納されていても、利用者が意識することなくアクセスできる。
  4. 重複に対する透過性(replication transparency)
    一つの表が複数のサイトに存在しても、利用者はこれを意識することなくアクセスできる。
  5. 障害に対する透過性(failure transparency)
    ある特定のサイトに障害が発生しても、代替データベースサイトがその機能を代行してシステム全体のサービスを停止させない機能。
  6. データモデルに対する透過性(data model transparency)
    リレーショナルモデル、階層モデル、ネットワークモデル、一般のランダムファイルなどの各サイト毎に異なるデータモデルを利用者は意識することなくアクセスできる。
  7. ハードウェア及びオペレーティングシステム(OS)からの独立
    サイト間のハードウェアおよびOSの差異を意識することなくお互いのデータベースがアクセスできる。
  8. ネットワークシステムからの独立
    ネットワークプロトコルや、ネットワーク構成を意識せずに利用できる。
  9. 整合性の保持
    各サイト間で、データの整合性が保たれていて矛盾が起きない。

分散データベースでは、データベースの内容を常に別のデータベースサーバにもコピーしておき、元のデータベースに障害が発生した場合でもコピーしておいたデータベースを使ってすぐに処理を再開できるようになっている。
このコピーされたデータベースを「レプリカ」という。複製する処理を「レプリケーション」という。

分散データベースでは、複数のデータベースにコミットメントを実施するために、2相コミットメントなどの複雑なコミットメント制御が必要である。


  [ 例題 ] 
  1. 平成21年度秋期 問35  分散データベース
  2. 平成17年度秋期 問63  分散データベース


     

www.it-shikaku.jp