3 つのデータ センター展開でのローカル読み取り

3 つのデータ センターのモデルでは、リージョンには各データ センターで分離された 3 つのレプリカがあります。ただし、強力な一貫性のある読み取りの要件により、TiDB はすべてのクエリに対して対応するデータのLeaderレプリカにアクセスする必要があります。クエリがLeaderレプリカとは異なるデータ センターで生成された場合、TiDB は別のデータ センターからデータを読み取る必要があり、アクセスのレイテンシーが増加します。

このドキュメントでは、 ステイル読み取り機能を使用して、センター間アクセスを回避し、リアルタイムのデータ可用性を犠牲にしてアクセスのレイテンシーを減らす方法について説明します。

3つのデータセンターのTiDBクラスタをデプロイ

3データセンター展開方式については、 1 つの地域展開における複数のデータセンターを参照してください。

TiKV ノードと TiDB ノードの両方に構成項目labelsが設定されている場合、同じデータセンター内の TiKV ノードと TiDB ノードは、ラベルzoneに同じ値を設定する必要があることに注意してください。たとえば、TiKV ノードと TiDB ノードの両方がデータセンターdc-1にある場合、2 つのノードを次のラベルで設定する必要があります。

[labels] zone=dc-1

ステイル読み取りを使用してローカル読み取りを実行する

ステイル読み取りは、TiDB がユーザーに履歴データを読み取るために提供するメカニズムです。このメカニズムを使用すると、特定の時点または指定された時間範囲内の対応する履歴データを読み取ることができ、storageノード間のデータ複製によって生じるレイテンシーを節約できます。地理的に分散された展開の一部のシナリオでステイル読み取りを使用する場合、TiDB は、リアルタイム パフォーマンスを犠牲にして、現在のデータ センターのレプリカにアクセスして対応するデータを読み取ります。これにより、センター間の接続によって生じるネットワークレイテンシーが回避され、クエリ プロセス全体のアクセスレイテンシーが短縮されます。

TiDB がステイル読み取りクエリを受信すると、その TiDB ノードのzoneラベルが設定されており、 tidb_replica_readclosest-replicasに設定されている場合、TiDB は、対応するデータ レプリカが存在する同じzoneラベルを持つ TiKV ノードに要求を送信します。

ステイル読み取り の実行方法については、 AS OF TIMESTAMP句を使用してステイル読み取りを実行する参照してください。

このページは役に立ちましたか?