【デスペ3問】CAPの定理(データベーススペシャリスト)
このNoteには「CAPの定理」の問題をまとめました。
私が受験した後の問題で、新たに出題され定番になった用語です。
デスペのAMIIはざっくり5年分解けば、全パターンが把握できます。
私が合格した時に、学習ノートにジャンル毎に問題をまとめました。このNoteの解説は、学習ノートと、私のIT専門学校での授業内容を基にしています。
それでは始めましょう!
CAPの定理とは
C:一貫性:データベースに矛盾がでない
A:可用性:いつでも利用できること
P:分断耐性:分散システム間の障害があっても稼働できること(分断しても大丈夫、分断を許容して動く)
以上の3つのうち、同時に2つまでしかゲットできないという定理です。3兎を追うもの2都兎を得ちゃってますね。
最後の問題で取り扱います。
問題演習(用語問題)
正答はエ。
ア:BASE特性の説明。
イ:トランザクションのACID特性のC(一貫性)の説明。
ウ:トランザクションのACID特性のI(独立性)の説明。
エ:正しい。
ACID特性は大丈夫ですよね。基本情報技術者レベルです。
A:原子性:全く処理しないか全部処理するか
C:一貫性:データベースに矛盾が出ない
I:独立性:並列しても矛盾がでない(直列と結果が同じ)
D:永続性:データが変わらず保存される
BASEの特性は、正答になったことはないです。しかし、CAPの定理と一緒に選択肢に表れますし、データベースの特性なので知っておきましょう。
選択肢の通り「利用可能が優先」「厳密でなくても」「整合性が保証」されるような特性です。
BASEの定理は以下のような英語で構成されています。
BA(Basically Available):基本的に利用可能
S(Soft State):柔軟な状態
E(Eventually Consistent):結果整合性
正答はイ。
ベイズの定理は、基本情報技術者や応用情報技術者を中心に出題され始めた用語です。
ベイズの定理は確率に関する数式で、ベイズ統計に使われています。P(A∧B) = P(A)・P(B) か P(A | B) = P(B | A)P(A)/P(B) のいずれかの形で出題されます。
確率は、事象が発生する確率を考えて算出するのが一般的ですが、ベイズの定理を用いると事象から発生確率を逆算できる点が特徴的です。
深追いは禁物。難しいですよ。
「アムダールの法則」は「ムーアの法則」と同じように、コンピュータの歴史・教養として知っておいて欲しい言葉です。IPAの国家試験にでるのは稀です。
アムダールの法則:CPUを高速化して並列処理しても並列処理できない部分の高速化はできない。
ムーアの法則:半導体(集積回路LSI)の集積度が18ヶ月で2倍になる経験則。
問題演習(事例問題)
正答はイ。
CAPは以下の通り。
C:一貫性
A:可用性
P:分断耐性
CとPを重視する場合は、一貫性を保ち・分断を許容する(止む無し)方針です。A(可用性)を犠牲にし、両方のサーバ稼働を断念します。よって、片方のサーバで頑張ります。
AとPを重視する場合は、可用性を保ち・分断を許与する方針なので、通信が分断されているのを許し、両方のサーバを稼働し続けます。C(一貫性)が犠牲になります。
他のパターンについては、参考サイト「infiniCloud」様 をどうぞ。
消去法が解きやすいです。
CとPを重視する場合は、Aが犠牲になるので、ウ・エの両方のサーバを動かすを排除できます。
AとPを重視する場合は、ア・エの両サーバの停止があり得ないので、排除できます。
以上よりイが浮き上がります。
まとめ
お疲れ様でした!
最後の事例がちょっと難しかったかもしれません。
ひとまずこれだけ知っていればOK。
令和以降の問1の常連です。ここでケリをつけてくださいね。
私が合格してきた勉強法についてもNoteにしました。
まずは書籍の読み倒し方、AMIIの勉強だけでも参考にして頂ければ、嬉しいです。
p.s. 普段は >> 専門学校とIT就職のブログ << をやってます。
でわでわ(・ω・▼)ノシ