Heartbeat - ノードの死活監視

ハートビート(heartbeat)は、ノードが「自分は生きている」という短い信号を一定間隔で送り続け、受け取る側がその途絶をもって障害と判断する仕組みです。ここでは、ノードが停止する故障だけを扱います。誤った値を返す故障(ビザンチン障害)の検知は、ハートビートの範囲外です。 ...

2026年8月5日 · 更新: 2026年8月11日 · 11 分 · nchika

Lease - 期限付きで権利を貸す仕組み

Lease(リース)は、ある権利を期限付きで貸し出し、期限が過ぎたら自動的に失効させる仕組みです。貸す側は「これから 10 秒間、あなたがリーダーです」と伝え、借りた側は期限が来る前に更新を続けます。更新が途切れれば、誰の操作も無しに権利は消えます。 ...

2026年8月5日 · 更新: 2026年8月12日 · 9 分 · nchika

WAL - 書き込み先行ログと 2 つのウォーターマーク

WAL(Write-Ahead Log、書き込み先行ログ)は、状態を変更する前にその変更内容を追記専用のファイルへ書き、ディスクへ書き終えてから応答を返す仕組みです。再起動した時は、スナップショットやチェックポイント以降のログを読み直して同じ変更を適用し、停止する直前の状態を復元します。利用できるスナップショットが無ければ、ログの先頭から再生します。ここでは、1 台のサーバが状態を失わないための WAL から、ログを複製した時に現れる 2 つの位置までを扱います。 ...

2026年8月5日 · 更新: 2026年8月11日 · 14 分 · nchika

Quorum - 過半数で決定を成立させる仕組み

Quorum(クォーラム、定足数)は、ある操作を成立させるために応答が必要なノードの最小数です。同じ値を複数のノードへ持たせる複製の構成では、全ノードの応答を待たず、この数だけ集まった時点で操作を確定させます。最も広く使われるのは過半数を要求する構成で、N 台のクラスタなら N / 2 + 1 台(小数点以下は切り捨て)の応答で成立します。ここでは、ノードが停止する故障とネットワークが分断される故障を扱い、誤った値を返す故障(ビザンチン障害)は対象外とします。 ...

2026年8月6日 · 更新: 2026年8月9日 · 12 分 · nchika

Leader and Followers - 更新を 1 台へ集約する複製の型

Leader and Followers は、同じデータを複製して持つノードのうち 1 台を Leader に決め、更新を全て Leader が受け付けて残りの Follower へ配る構成です。更新の受け口が 1 台に絞られるため、同じデータへの更新の順序は Leader が決めた 1 つに定まります。ここでは、ノードが停止する故障とネットワークが分断される故障を扱い、誤った値を返す故障(ビザンチン障害)は対象外とします。 ...

2026年8月7日 · 更新: 2026年8月11日 · 15 分 · nchika

2PC - 確定か中止を全参加者で揃える

2PC(Two-Phase Commit、2 相コミット)は、複数の DB にまたがる 1 つの更新について、関わった全員の最終的な判断が確定(commit)か中止(abort)のどちらか一方へ揃うようにする手順です。確定できるかを全員へ問い合わせる準備フェーズと、決めた結果を配る決定フェーズの 2 段階で進む事が名前の由来です。ここでは、参加するプロセスが停止する故障と通信の途絶を扱い、誤った値を返す故障(ビザンチン障害)は対象外とします。 ...

2026年8月10日 · 更新: 2026年8月11日 · 13 分 · nchika