すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:読み書き分離機能が有効になっている場合に、ApsaraDB RDS for MySQLインスタンスでデータを読み取るタイミングを確保するにはどうすればよいですか。

最終更新日:Jan 23, 2024

ApsaraDB RDSは、プライマリRDSインスタンスと読み取り専用RDSインスタンス間でのバイナリログのリアルタイム送信を保証します。 通常、読み取り専用RDSインスタンスからデータを読み取るときに、レイテンシは発生しません。 読み取り専用RDSインスタンスの詳細については、「読み取り専用ApsaraDB RDS For MySQLインスタンスの概要」をご参照ください。 ただし、MySQLデータベースエンジンにはレプリケーションに制限があります。 バイナリログの適用に長い時間がかかる場合、データ同期にレイテンシが発生します。 この制限は解除できません。 バイナリログを適用するときの同期遅延を最小限に抑えるために、プライマリRDSインスタンスの仕様以上の仕様の読み取り専用RDSインスタンスを使用することを推奨します。

ApsaraDB RDSでは、 レイテンシしきい値 読み取り専用RDSインスタンスのレイテンシがしきい値を超えると、ApsaraDB RDSは読み取り専用RDSインスタンスにリクエストを転送しなくなります。 すべての読み取り専用RDSインスタンスのレイテンシがしきい値を超えた場合、ApsaraDB RDSはすべてのリクエストをプライマリRDSインスタンスに直接ルーティングします。 これは、プライマリRDSインスタンスに非ゼロの読み取り重みが設定されているかどうかに関係なく適用されます。

読み書き分離を有効にした後、SQL文を使用してリアルタイムデータクエリを実行する場合は、ヒントを使用してこれらの文をプライマリRDSインスタンスに強制的に転送できます。 ヒントを /* FORCE_MASTER */ 形式で記述します。 例:

/* FORCE_MASTER */ SELECT * FROM table_name;