コンセンサスアルゴリズムとは
コンセンサスアルゴリズムとは
→データを保存する際に、そのデータを分散ネットワーク上に保存してもよいかを判断する方法
そもそも「分散ネットワーク(peer to peer 型)」とは 、ネットワーク上に接続されたコンピューターが、互いに通信し合い、サービスを利用できるようにする方式。そのため、各コンピュータが原則すべて対等な機能を持つ。
(分散ネットワークの逆の立場にあるのが「クライアント・サーバー型」。
データをサーバと呼ばれる場所で管理をし、クライアント(サービス利用者)がサーバにデータを書き込んだり、読み込んだりする方式。サーバが特殊な役割を持つ。)
では、なぜ分散ネットワーク上にデータを保存してもよいか、判断する必要があるのか?
→同じデータに対する問い合わせの結果が必ず一緒になるよう、データの一貫性を担保することで、各コンピューター同士が通信してサービスを利用できるようになるから。
クライアント・サーバ型の場合、すべてのデータの入出力はサーバを経由しているため、サーバがデータの一貫性を保証している。
一方で分散ネットワークでは、管理する代表者がいないため、そもそもそのネットワークに保存してもよいデータかどうかを判断し確定をする必要がある。
その仕組みをコンセンサスアルゴリズムという。