平成27年春期試験問題 午前Ⅱ 問18

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

  • データを複製し,複数サイトに分散して保持するとき,コンシステントハッシング手法によって,時間帯別に格納先を固定する。
  • 複数のクライアントからの更新要求が衝突する場合,ロック機構によってどちらかを待たせることで整合性を保つ。
  • 分散した複製サイト間で更新内容を厳密に同期させずに,同期の一時的な遅れを許容する。
  • 分散した複製サイト間で更新内容を整合させるために,2相ロック方式を採用する。
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:データベース応用
解説
NoSQL(Not only SQL)は、データへのアクセス方法をSQLに限定しないデータベース管理システムの総称で、長い間決まったように使用されてきた関係データベース管理システム以外のDBMSという意味で用いられます。
18.png
RDBMSは長い歴史をもち、厳密なスキーマ定義や数学的に定義されたモデル理論、トランザクションのACID特性などによって信頼性に秀でています。しかし、それゆえにデータを扱う際のコストも高くなり、ビッグデータなどの高頻度で膨大なデータを扱う場面ではパフォーマンス面での劣化が現れてきました。
NoSQLは、スキーマレスで軽量なのでデータの参照や追加を低コストで実行できます。さらにスケーラビリティにも優れるため大量に蓄積されていくデータを扱うのに適しています。

NoSQLには大まかに4つのタイプがあります。
キー・バリュー型
1つのキーに1つの値を結びつけてデータを格納する
カラム指向
行キーに対してカラム(名前と値の組み合わせ)を結びつけて格納する
ドキュメント指向
XMLやJSONなどの構造でデータを格納する
グラフ指向
グラフ理論に基づいてデータ間の関係性を表現する
NoSQLはトランザクションをサポートせず「結果整合性」という考え方に基づいてデータ処理を行います。結果整合性とは、即座にデータが反映されることを前提とせず、結果的に(実際に読み込まれる時までに)一貫性が保証されていればよいという考え方です。NoSQLは、このアプローチに基づき一貫性の保証を弱めることでスケールアウトを容易にしています。
  • キーバリューストアにおけるデータの分散配置に関する記述です。コンシステントハッシングは、分散データベース/キャッシュの保存先を効率よく決定するためのハッシュアルゴリズムの一種です。
  • NoSQLではロックによる整合性の確保は行いません。
  • 正しい。結果整合性の説明です。
  • NoSQLではロックによる整合性の確保は行いません。

Pagetop