- 前回の勉強内容
- 勉強のきっかけになった過去問
- 分散データベースとは、いろんなところに存在するデータベースがあっても1つのデータベースみたいに使えるデータベースです。
- 次回の勉強内容
前回の勉強内容
勉強のきっかけになった過去問
分散データベースシステムにおける問合せでは,サイト間にまたがる結合演算の最適化が重要である。この最適化の方法として,適切なものはどれか。
- LRU法
- (正解)セミジョイン法
- ソートマージ法
- 楽観的方法
出典 : データベーススペシャリスト試験 平成21年春期 午前Ⅱ 問12

分散データベースとは、いろんなところに存在するデータベースがあっても1つのデータベースみたいに使えるデータベースです。

日本や世界の各地にデータベースがあってもネットワークで繋いで使うから、ユーザーには1つのデータベースを使っているみたいに見えます。
いろんなところにあるから、1つ壊れても他で頑張るから大丈夫!しかもみんなで処理するから効率アップ!ってできちゃいます。
分散データベースの透過性の説明として,適切なものはどれか。
- (正解)クライアントのアプリケーションプログラムは,複数のサーバ上のデータベースをアクセスする。アプリケーションプログラムは,データベースがあたかも一つのサーバ上で稼働しているかのようにアクセスできる。
- クライアントのアプリケーションプログラムは,複数のサーバ上のデータベースをアクセスする。アプリケーションプログラムはどのサーバ上のデータベースをアクセスするのかを知っている必要がある。
- 複数のクライアントのアプリケーションプログラムが,一つのサーバ上のデータベースを共有してアクセスする。
- 複数のクライアントのアプリケーションプログラムは,一つのサーバ上のデータベースを,サーバ上のアプリケーションプログラムを介してアクセスする。
出典 : 基本情報技術者試験 平成21年春期 午前 問35
分散データベースを使いやすくする特徴が、透過性です。
分散データベースは、便利に安全に使いやすくするためいくつかの透過性を必要とします。
| 種類 | 説明 |
|---|---|
| 分割透過性 | データがいろんなデータベースに散っていてもユーザは意識せずに使えること |
| 障害透過性 | どこかが故障してもユーザは故障を知らずに使えること |
| 複製透過性 | いろんなところに同じテーブルがあってもユーザには1つに見えること |
| 移動透過性 | テーブルが違うところに移動してもユーザは移動を意識しなくていいこと |
| 位置透過性 | どこにデータベースがあるかを気にせず使用できること |
| データモデル透過性 | 各データベースがリレーショナルモデルとか階層モデルとかネットワークモデルとか違っていてもユーザは意識せずに使用できること |
| アクセス透過性 | データベースの仕様が違っていても同じ方法で操作できること |
障害透過性は、どこかが故障してもユーザは故障を知らずに使えること

分散処理システムにおける障害透明性(透過性)の説明として,適切なものはどれか。
- 管理者が,システム全体の状況を常に把握でき,システムを構成する個々のコンピュータで起きた障害をリアルタイムに知ることができること
- 個々のコンピュータでの障害がシステム全体に影響を及ぼすことを防ぐために,データを1か所に集中して管理すること
- どのコンピュータで障害が起きてもすぐ対処できるように,均一なシステムとなっていること
- (正解)利用者が,個々のコンピュータに障害が起きていることを認識することなく,システムを利用できること
出典 : データベーススペシャリスト試験 平成30年春期 午前Ⅱ 問23
複製透過性は、いろんなところに同じテーブルがあってもユーザには1つに見えること
分散データベースにおける"複製に対する透過性"の説明として、適切なものはどれか。
- それぞれのサーバのDBMSが異種であっても、プログラムはDBMSの相違を意識する必要がない。
- 一つの表が複数のサーバに分割されて配置されていても、プログラムは分割された配置を意識する必要がない。
- 表が別のサーバに移動されても、プログラムは表が配置されたサーバを意識する必要がない。
- (正解)複数のサーバに一つの表が重複して存在しても、プログラムは表の重複を意識する必要がない。
出典 : データベーススペシャリスト試験 平成23年春期 午前Ⅱ 問20
移動透過性は、テーブルが違うところに移動してもユーザは移動を意識しなくていいこと

分散データベースシステムの目標の一つである”移動に対する透過性”の説明として、適切なものはどれか。
- (正解)運用の都合や性能向上の目的で、表の格納サイトが変更されても、位置に対する分散状況を意識させないで利用可能にする機能のことである。
- データベースは通信網によって接続されて物理的に分散配置されており、利用者に対してこの分散状況を意識させないで利用可能にする機能のことである。
- 一つの表が、複数のデータベースサイトに重複して格納されていても、利用者に対してこれを意識させないで利用可能にする機能のことである。
- 一つの表が、複数のデータベースサイトに分散して格納されていても、利用者に対してこれを意識させないで利用可能にする機能のことである。
出典 : データベーススペシャリスト試験 平成26年春期 午前Ⅱ 問19
アクセス透過性は、データベースの仕様が違っていても同じ方法で操作できること
分散処理システムに関する記述のうち,アクセス透過性を説明したものはどれか。
- (正解)遠隔地にある資源を,遠隔地での処理方式を知らなくても,手元にある資源と同じ操作で利用できる。
- システムの運用と管理をそれぞれの組織で個別に行うことによって,その組織の実態に合ったサービスを提供することができる。
- 集中して処理せずに,データの発生場所やサービスの要求場所で処理することによって,通信コストを削減できる。
- 対等な関係のコンピュータが複数あるので,一部が故障しても他のコンピュータによる処理が可能となり,システム全体の信頼性を向上させることができる。

データがいろんなところにあるから、通信を軽やかにセミジョイン法
分散型データベースシステムは、あっちこっちにテーブルやデータが散らばっています。
なのでテーブルを結合するには、テーブルの情報を相手に送信しなくちゃなりませんが、おっきなテーブル全部送ると通信速度が残念なことになります。
分散型DBMSにおいて,二つのデータベースサイトの表で結合を行う場合,どちらか一方の表をもう一方のデータベースサイトに送る必要がある。その際,表の結合に必要な列値だけを送り,結合に成功した結果を元のデータベースサイトに転送して,最終的な結合を行う方式はどれか。
出典 : データベーススペシャリスト試験 平成25年春期 午前Ⅱ 問20
セミジョイン法は、必要な分だけ通信で送り合う方法です。
無駄なく、必要な情報を必要な量だけ送り合うので通信負荷を下げることができちゃうのです。
分散型データベースで結合演算を行うとき,通信負荷を最も小さくすることができる手法はどれか。ここで,データベースは異なるコンピュータ上に格納されて,かつ結合演算を行う表の行数が,双方で大きく異ならないものとする。
出典 : データベーススペシャリスト試験 平成31年春期 午前Ⅱ 問17
データがいろんなところにあるから、2相コミットで整合性を確保
分散データベースシステムにおいて,複数のデータベースを更新する場合に用いられる 2 相コミットの処理手順として、適切なものはどれか。
- 主サイトが各データベースサイトにコミット準備要求を発行した場合,各データベースサイトは,準備ができていない場合だけ応答を返す。
- (正解)主サイトは,各データベースサイトにコミットが可能であることを確認した後,コミットを発行する。
- 主サイトは,各データベースサイトにコミットを発行し,コミットが失敗した場合には,再度コミットを発行する。
- 主サイトは,各データベースサイトのロックに成功した後,コミットを発行し,各データベースサイトをアンロックする。
出典 : データベーススペシャリスト試験 平成23年春期 午前Ⅱ 問12
2相コミットは、「みんなの状況確認」「みんなの状態で更新決定」を分けて整合性を維持します。
更新が必要になると「主となるデータベース」が「いろんなところにあるデータベースそれぞれ」に更新できるか確認します。
これが「第1相」でやることです。

「いろんなところにあるデータベースそれぞれ」が更新可能って返事をしたらコミット、1つでも更新不可ならロールバックと「主となるデータベース」が「いろんなところにあるデータベースそれぞれ」に指示します。

こうやって2相に分けることで複数のデータベースで整合性を保てるようにします。
分散データベースシステムにおいて、一連のトランザクション処理を行う複数サイトに更新処理が確定可能かどうかを問い合わせ、すべてのサイトが確定可能である場合、更新処理を確定する方式はどれか。
出典 : 基本情報技術者試験 平成29年春期 午前 問28
