連載
» 2017年11月21日 05時00分 公開

「データベーススペシャリスト試験」戦略的学習のススメ(31):「メタデータ」「NoSQL」「CAP定理」を理解する (2/2)

[具志堅融, 河科湊,著]
前のページへ 1|2       

NoSQL

 NoSQLとは、従来の関係モデルに基づかずに構築されたデータベースシステムの総称であり、SQLを用いないことからNoSQL(Not only SQL)の略とされています。SQLを用いると大量データ、複数サーバに分散したデータを扱うクラウドサービスにおいては性能が低下する場合があることから、そうしたSQLでは対応できない領域を保管するために利用されることがあります。

CAP定理

 CAP定理とは、クラウドサービスを始めとする情報システム(ネットワークでつながった、共通のデータを持つ、一連のノード群)において、「以下の3要素を同時に満たすことができない」というものです。

CAP定理の3要素 説明
Consistency:
一貫性
誰かがデータを更新したら、その後は必ず更新後のデータが参照できること
Availability:
可用性
クライアントは必ずデータにアクセス可能であること(データが壊れたり、ロック待ちにならないこと)
Partition Tolerance:
ネットワーク分断耐性
データを複数サーバに分散して保管できること(データが複数のサーバに分散されており、1つサーバに障害が発生し、データが破損した場合でも、別サーバによりデータが参照可能であること)

 上記3要素のうち2要素を満たすと、例えば以下のようなシステムになります。

満たす要素(○)
満たさない要素(×)
システムの例 特徴
<1> 一貫性:○
可用性:○
ネットワーク分断耐性:×
単一サーバで動作するデータベース 従来のWebシステムの多くがこのパターンに該当する。データベースは分散させず、トランザクション処理機能により一貫性を保つ
<2> 一貫性:○
可用性:×
ネットワーク分断耐性:○
分散データベース 2相、3相コミットにより一貫性を保てるが、サーバが増えるとロック待ちが発生し、可用性が損なわれる
<3> 一貫性:×
可用性:○
ネットワーク分断耐性:○
DNS、NTP、HTTPキャッシュなど 複数台で運用し、特定の一台でアクセスを受け付け、ロックもかけないため可用性を満たすが、更新情報がサーバ間で伝搬するまでデータの不整合が発生し、この間は一貫性を満たすことができない

BASE特性

 クラウドサービスにおいては、遍く広くの人が利用できることが前提となるためデータベースサーバの台数を増やして負荷分散する必要があることからネットワーク分断耐性が必須となります。CAP定理に基づくと、一貫性か可用性を捨てるということになりますが、サービスである以上可用性を完全に捨てるわけにはいきません。このため、以下のように、可用性の一部と一貫性の多くを妥協した形で成立させた、クラウドサービス向きのトランザクション特性モデルをBASE特性と呼びます。

BASE特性

 NoSQLによるデータベースではこの考え方を取り入れることによりスケールアウトを実現しています。将来的に出題頻度が増えることが予想されるため、上記の3つの特性について押さえて下さい。

 従来の関係データベースのトランザクション特性がACID(英語で“酸”の意味)であるのに対して、BASE(英語で“塩基”の意味)と覚えましょう。

演習30-3

 インターネット販売などの巨大な取引データを高速に処理するために、NoSQLと呼ばれるデータ処理方式が使われることがある。その特性のうち結果整合性(Eventual Consistency)の説明として、適切なものはどれか。

ア データを複製し、複数サイトに分散して保持するとき、コンシステントハッシング手法によって、時間帯別に格納先を固定する。

イ 複数のクライアントからの更新要求が衝突する場合、ロック機構によってどちらかを待たせることで整合性を保つ。

ウ 分散した複製サイト間で更新内容を厳密に同期させずに、同期の一時的な遅れを許容する。

エ 分散した複製サイト間で更新内容を整合させるために、2相ロック方式を採用する。

(H27春DB午前II問18)


解答 演習30-3 

 *囲み内をクリックすると解答を表示します(表示後ページをリロードすると、再び非表示になります)

 アはCAP定理にあるネットワーク分断性の特徴、イは従来のACID特性における一貫性を保つための手段であるロック、エは従来のACID特性における原子性を保つための手段であるコミットメント制御に関する説明となります。

Point check

ソフトウェア開発に用いられるリポジトリシステムは、メタデータを管理するためのある種のDBMSである。一般のDBMSでは不要だが、リポジトリシステムでは必須の機能として、適切なものはどれか。

(H19春DB午前問14)


 格納したデータに対する照会機能

 格納したデータについての複数のバージョンを管理する機能

 多数の端末から入力されるデータ間の整合性を保証するための同時実行制御機能

 データごとの更新・照会操作の権限を管理する機能


解答 Point check 

 *囲み内をクリックすると解答を表示します(表示後ページをリロードすると、再び非表示になります)

書籍紹介

ポケットスタディ データベーススペシャリスト [第2版]

ポケットスタディ データベーススペシャリスト [第2版]

具志堅融、河科湊著
秀和システム 1,500円

データベーススペシャリスト試験は同じパターンの出題が多いため、過去問をたくさん解くことが合格の早道です。しかし、難易度の高い過去問を解くには、勉強が必要であり、多くの時間と労力を必要とします。本書は、プロの講師が推奨する、テキストを少し読み→該当する過去問を解き→理解を深めるというアジャイル的学習法で、驚くほど短時間で合格するツボとコツを解説します。"すき間時間"を活用して効果的な学習ができます!


注文ページへ

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。