AnalyticDB for MySQLは、ストレージ層のRaftプロトコルに基づいて、分散型で、一貫性が強く、可用性が高く、信頼性の高いストレージシステムを構築します。 ストレージシステムは、一次 /二次プロトコルを使用する従来のリレーショナルデータベース管理システム (RDBMS) およびデータベースシャーディングおよびテーブル分割メカニズムを使用する共通の分散ミドルウェアシステムと比較して、読み取り、書き込み、およびログレプリカのより高い可用性を提供します。
高可用性の読み取りと書き込み
AnalyticDB for MySQLは、マルチラフト方式を使用してデータシャードを管理します。 各データシャードは3つのレプリカで構成されています。 各データシャードでは、Raftプロトコルを使用してリーダーを選択し、ログを複製し、ログをステートマシンに適用します。 読み取りと書き込みの高可用性を確保するには、3つのレプリカのうち少なくとも2つ (多数) が実行されている必要があります。 この場合、データベースは、1つのレプリカ (少数派) が存在するノードがシャットダウンまたは再起動しても、読み取りおよび書き込み操作をサポートできます。
ログレプリカの高可用性
AnalyticDB for MySQLは、V3.1.5.0から始まるデータシャードのログレプリカをサポートします。 各データシャードは、2つのデータレプリカと1つのログレプリカで構成されています。 これにより、高可用性が確保され、データレプリカの冗長性がなくなり、システムリソースが節約され、ユーザーコストが削減されます。
シャードラフトグループのメンバーとして、各データレプリカをリーダーとして選択し、ログレプリケーションをサポートし、データの読み取りおよび書き込み操作を実行できます。
シャードラフトグループのメンバーとして、ログレプリカはリーダー投票とログレプリケーションをサポートします。 ログレプリカはリーダーとして選択できず、データの読み取りおよび書き込み操作は実行されません。
マルチRaftメソッドを使用する各データシャードのデータレプリカとログレプリカは、負荷分散を確保するためにノード間に均等に分散されます。