自律型データ配信アルゴリズム(ADDA)は、GridDBのスケーラビリティと信頼性を向上させるための技術です。 ノードに障害が発生したり、ユーザーが新しいノードをクラスタに追加したりすると、ノード間でデータが転送され、ノードのバランスが取れ、設定数のデータレプリカが格納されます。
ノード障害
ノードに障害が発生すると、クラスタのマスターは障害を検出し、バックアップ・ノードをパーティション所有者に昇格させます。 この時点で、ADDAが起動し、ノードにパーティションのレプリカを作成するよう指示して、設定された数のレプリカが確実に格納されるようにします。
ノードの追加
新しいノードが追加されると、特定のパーティションのキャッチアップノードとしてクラスタに追加されます。 その後ADDAからそのノードにデータが転送されることで、そのノードはバックアップノードに昇格します。 もしそのパーティションを保持しているプライマリノードが失敗した場合は、そのパーティションのマスターノードに再度昇格します。 このメカニズムにより、クラスタ内のすべてのノードの負荷が同じになり、GridDBの拡張性を高めることが可能となります。
二相データ転送
ホスト間で効率的にデータを転送し、転送されたデータの更新を失わないために、ADDAは2つの段階で転送します。最初に高速ブロック転送を行い、次にREDOログを適用します。
GridDBはADDAを利用することにより、大規模なクラスタを確実に動作させ、オンザフライでスケーラビリティを維持することが可能となりました。 ADDAに関するより詳細な情報やGridDBの信頼性を維持するその他の機能については、下記のホワイトペーパーをご参照ください。
その他のリソース
詳細なレポートはここからダウンロードできます。
https://www.griddb.net/en/docs/GridDB_Reliability_and_Robustness_1.0.7.pdf
GridDB Community Edition(v3.0.0)は、以下からダウンロードできます。
ブログの内容について疑問や質問がある場合は Q&A サイトである Stack Overflow に質問を投稿しましょう。 GridDB 開発者やエンジニアから速やかな回答が得られるようにするためにも "griddb" タグをつけることをお忘れなく。 https://stackoverflow.com/questions/ask?tags=griddb