たたかいのきろく。

2022-08-11

【DBスペシャリスト】関係従属、候補キー

関係従属

データを特定できる値の関係のこと。
ある属性Xを決めると、他の属性Yの値が一意に決まる場合、「YはXに関数従属している」といい、「X→Y」と表現する。

候補キー

主キーの候補となるキー。データを一意に識別することができるキーのうちの極小の組み合わせ。
たとえば、データに重複のないIDが割り当てられている場合は、あるデータを一意に識別するための候補キーはIDといえる。

タプル(tuple)

データ構造の概念で、複数の要素で構成されているものの組。一対。
たとえば、要素に対して添え字を持つ配列は、要素と添え字の組(タプル)で構成されている。

参考リンク

【DBスペシャリスト】BASE特性、NoSQL、2相コミット

event_note8月 11, 2022

BASE特性

CAP定理では、「一貫性 (Consistency)」または「可用性 (Availability)」のいずれかを捨てるが、障害時も「可用性 (Availability)」を完全に捨てずにサービスを持続させるための特性モデル。厳密さを問わないことで、システム全体の動作を継続させる考え方。
「BASE」は次の文字を取っている。

  • Basically Acailable(※「BASE」の「BA」)
    障害によりシステムの一部が停止しても、システムそのものは継続して動作する。
  • Soft-State
    厳密なデータの整合性は問わない。
  • Eventual Consistency
    一定時間を要するが、最終的には一貫性を成立させることができる。

NoSQL(Not only SQL)

リレーショナルデータベース(RDB)ではないデータベースの総称。その名の通りSQL以外の方法でデータベースを操作できる。RDBと比較してシンプルで高速なため、膨大になりすいデータを扱うケースで有用とされている。

リレーショナルデータベース

データを表形式で管理する従来のデータベース。

2相コミット

1つの処理を実行するにあたり複数のデータベースでそれぞれ処理を行う必要がある場合で、データの一貫性および整合性を保てるように処理を確定する方法。すべての処理が完了した場合は正常終了、処理のうちの1つでも失敗した場合はすべての処理を白紙に戻して異常終了とする( All or Nothing )。

参考リンク

2022-08-09

【DBスペシャリスト】CAP定理(CAP theorem),分散システム(distributed computing system)

冗長構成

サーバのパーティショニング。サーバを複数に分けて管理する手法のこと。障害の影響範囲を小さくしたり、サーバ1台あたりの負荷を軽くすることができる。分散システム(distributed computing system)。

★障害:サーバの分断。ネットワーク上のサーバが分断されても、冗長構成により、他のすべてのサーバまでもが分断・停止する事態を防ぐことができる。

★この特性を活かせていない場合は、冗長構成になっていないと言える。

パーティショニング

データを複数に分けて格納すること。故障の影響範囲を狭めることができる。

ノード

サーバにおける「ノード」は、サーバ1台分の単位を表している場合がある。複数に分けたデータのうちの1つ。

CAP定理(CAP theorem)

冗長構成において、次の3つの状態を同時に満たすことはできないという定理。

  • 一貫性 (Consistency)
    矛盾がないこと。すべてのノードサーバにおいて、あるデータのアクセス結果が同じである。
  • 可用性 (Availability)
    使用できること。データの読み込みと書き込みが常に可能である。
  • 分断耐性 (Partition-tolerance)
    パーティショニング。ノードサーバの分断(=障害)が発生しても、他のノードサーバは継続して動作する。
What is the CAP Theorem?

★CAP定理は、冗長構成における障害時の特性を説明する。「一貫性 (Consistency)」または「可用性 (Availability)」のどちらを重視したパーティショニングであるのかによって、その冗長構成の特性を説明する。

Availability + Partition-tolerance

障害時はデータの不整合が発生する。データの読み書きが可能なため一定時間内であれば一貫性を成立させることができる。

Consistency + Partition-tolerance

障害時においてはデータの読み書きが制限される。データの読み書きのために応答待ちの一時停止状態になる。

Consistency + Availability ※補足

障害が発生すると、システムが動作しなくなる。単一サーバで操作する場合など、冗長構成ではないケース、非分散型システムで当てはまる。

todo: ユースケースについて考える。

参考リンク

DBスペシャリスト午前Ⅱ:令和2年度#1【過去問回答】

正答 12 問 / 全 25 問

1.イ
2.ア→イ
3.イ→ウ
4.エ
5.ウ
6.イ→ア
7.エ→ア
8.イ→ウ
9.エ
10.イ→ウ
11.エ
12.エ→イ
13.イ→エ
14.イ
15.エ
16.ア
17.ア
18.エ→イ
19.ア
20.イ
21.イ→ア
22.ア→イ
23.ア→ウ
24.ア→イ
25.エ