分散データベースとは?ぶんさんデータベース
分散データベースとは、複数のサイトに分けて配置されたデータベースを、利用者やアプリケーションからは1つのデータベースであるかのように扱えるようにしたシステム。どのサイトにあるか、どう分割・複製されているかを意識せずに済む性質をまとめて透過性と呼び、位置・分割(断片化)・複製・DBMSの各透過性が区別される。更新は2相コミットで整合させる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
拠点ごとにデータを置けば通信が短く済み、拠点単位の障害の影響も切り離せるが、そのままではアプリケーションが「どこにあるか」を知っていなければ書けなくなる。配置を変えるたびに全アプリを直すことになれば、分散させた利点は保守費に食われる。データの物理的な配置と、アプリから見える論理的な1つの表を切り離す層を置いたのが分散データベースである。
具体例
PostgreSQLのpostgres_fdwやOracle Databaseのデータベースリンクを使うと、別サーバにある表を自サイトの表と同じ名前で参照でき、問合せ側は接続先を書かない。実体を別のサーバへ移設しても、直すのは外部表やリンクの定義だけで、参照しているアプリケーションのSQLには手を入れずに済む。これが位置透過性の具体的な効き方である。
試験での引っ掛け
透過性の4語は、設問の「〜を意識しなくてよい」が何を指しているかで決まる。実体の所在なら位置透過性、表をどう断片化したかなら分割(断片化)透過性、同じデータの複製が何本あるかなら複製透過性、サイトごとにDBMS製品が違うことなら(異種)DBMS透過性である。目的語を取り違えると設問ごと全部外すので、まず「何を」意識しないのかを押さえてから選ぶ。
関連用語
出た過去問
出典:平成28年度 春期 データベーススペシャリスト試験 午前Ⅱ 問14(IPA)
分散データベースシステムにおいて、複数のデータベースを更新する場合に用いられる2相コミットの処理手順として、適切なものはどれか。
正解:主サイトは、コミットが可能であることを各データベースサイトに確認した後、コミットを発行する。
要点:2相コミットは全サイトの可否確認後にコミットを指示する
2相コミットは、まず主サイトが全サイトにコミット可能かを問い合わせて可否を集める第1相(準備フェーズ)と、全サイトから可の応答が得られた場合にコミットを指示する第2相(コミットフェーズ)から成る。1サイトでも不可なら全サイトへロールバックを指示し、分散したデータベースの整合性を保つ。
出典:平成28年度 春期 データベーススペシャリスト試験 午前Ⅱ 問18(IPA)
分散データベースシステムの目標の一つである“移動に対する透過性”の説明として、適切なものはどれか。
正解:運用の都合や性能向上の目的で表の格納サイトが変更されても、利用者にこの変更を意識させないで利用可能にする機能のことである。
要点:移動に対する透過性は格納サイトの変更を隠蔽する性質
移動に対する透過性とは、表の格納サイトを別のサイトへ移しても、利用者や応用プログラムが変更を意識せずに同じように利用できる性質を指す。分散データベースの透過性には位置・分割・重複・移動などいくつもの側面があり、それぞれ何を隠蔽するかが異なる。
出典:平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問14(IPA)
データベース更新における2相コミットに関する記述のうち、適切なものはどれか。
正解:2相コミットを行うためには、同時に更新しようとする分散データベースの全てが更新可能かどうかを判断するためのやり取りが必要である。
要点:2相コミットは全サイトへの可否確認のやり取りが前提
2相コミットでは、第1相で調停役のサイトが関係する全サイトにコミット可能かどうかを問い合わせ、その応答を集めてから第2相でコミットまたはロールバックを指示する。この可否確認のやり取りがあるからこそ、分散した複数のデータベースの更新を一括して確定・取消しできる。
出典:平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問13(IPA)
分散データベースのトランザクションは複数のサブトランザクションに分割され、複数のサイトで実行される。このとき、トランザクションのコミット制御に関する記述のうち、…
正解:2相コミットを用いても、サブトランザクションが実行されるサイトに主サイトの指示が届かず、サブトランザクションをコミットすべきかロールバックすべきか分からない場合がある。
要点:2相コミットでも指示が届かないと判断できず待たされる
2相コミットには、了承応答を返した後に主サイトからの最終指示が届かないと、そのサイトがコミットもロールバックもできずロックを保持したまま待ち続けるという弱点がある。これをブロッキングと呼び、2相コミットでも完全には避けられない。
出典:平成31年度 春期 データベーススペシャリスト試験 午前Ⅱ 問15(IPA)
分散データベースシステムにおいて、複数のデータベースサイトを更新する場合に用いられる2相コミットの処理手順のうち、適切なものはどれか。
正解:主サイトは、コミットが可能であることを各データベースサイトに確認した後、コミットを発行する。
要点:2相コミットは可否確認の相とコミット指示の相から成る
2相コミットでは、第1相で主サイトが各サイトにコミット可能かを問い合わせて可否の応答を集め、全て可であれば第2相でコミットを指示する。1サイトでも不可であれば全サイトにロールバックを指示することで、分散データベース全体の整合性を保つ。
出典・参考
公式シラバスの4 データベースの実装・テスト > 4-2 物理データベースの設計に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。