このトピックでは、インメモリ列インデックス (IMCI) 機能が有効になっている読み取り専用列ストアノードのトランザクションの一貫性について説明します。
サポートされているバージョン
このトピックで説明するトランザクションの一貫性は、次のバージョンのクラスターとPolarProxyに適用できます。
PolarDBクラスターでは、次のいずれかのバージョンを使用する必要があります。
PolarDB for MySQL 8.0.1.1.31以降
PolarDB for MySQL 8.0.2.2.12以降
PolarProxyのバージョンは2.8.11以降です。
クラスターバージョンとPolarProxyバージョンを確認する方法の詳細については、「エンジンバージョンの照会」をご参照ください。
トランザクションの一貫性
読み取り専用列ストアノードのレプリケーションログシーケンス番号 (LSN) は、列ストアレプリケーションLSNと行ストアレプリケーションLSNの間の最小値です。 ノードは、次の原則に基づいて、PolarDBによって提供されるさまざまな一貫性レベルで複雑なクエリを処理します。 詳細については、「一貫性レベル」をご参照ください。
行ストアおよび列ストアノード間のリクエストの自動配布を有効にすると、PolarProxyは、SQL文の推定実行コストが指定されたしきい値を超える複雑なクエリを、一般的なクエリとは異なる方法で処理します。 複雑なクエリの場合、PolarProxyは読み取り専用列ストアノードにのみリクエストを送信します。 ノードの整合性LSNがタイムアウトしても、PolarProxyは要求をプライマリノードに転送しません。 代わりに、PolarProxyはアプリケーション側にエラーを送信します。 詳細については、「行ストアおよび列ストアノード間のリクエストの自動配布」をご参照ください。
説明ノードでのリクエストタイムアウトによる多数のエラーを回避するために、ノードでの複雑なクエリのタイムアウトは、一般的なクエリよりも長くなります。
行ストアノードと列ストアノード間の自動リクエスト配布を有効にしない場合、PolarProxyはノードを一般的な読み取り専用ノードと見なします。 詳細については、「行ストアおよび列ストアノード間のリクエストの自動配布」をご参照ください。
読み取り専用列ストアノードは、行ストアと列ストアの整合性ビューをサポートしていません。