Alibaba Cloud Elasticsearch Agent Engine Edition では、Slice キャッシュウォーミングにより、アクセスされる予定の Slice データを事前にクエリノードのローカルキャッシュにロードします。ウォーミングによって、コールドデータへの初回アクセス時のクエリレイテンシーが低減されるため、アクセス頻度の低いナレッジベースやコードリポジトリを開いた後でも、ユーザーはより迅速に検索結果を取得できます。以降のクエリは、オブジェクトストレージからの読み取りを待つ代わりに、キャッシュされたデータを再利用します。
ユースケース
ビジネス上のタイミング | 用途とメリット |
ナレッジベースまたはコードリポジトリを選択するとき | 後続の初回検索の待ち時間を短縮するために、対応する Slice を事前に非同期でウォームアップします。 |
バルクインポート後にトラフィックを切り替える予定がある | データが検索可能になった後に、アクセスされる予定の Slice をウォームアップし、最初のクエリバッチにおけるコールドキャッシュのレイテンシーを低減します。 |
アクセスピークが見込まれる | アクセスが見込まれるデータをバッチに分割し、ピーク前に各バッチを準備することで、クエリとコールドデータのロード間のリソースの競合を低減します。 |
ビジネススペース単位でキャッシュウォーミングを実行できるため、アクセスされる予定のデータから優先的にキャッシュを埋められます。データのバッチがキャッシュされた後は、クエリごとに再度ウォームアップする必要はありません。
考慮事項
すでにアクティブなデータ、またはアクセス範囲を予測できないワークロードの場合は、クエリによってオンデマンドでデータをロードしてください。同時に多数のウォーミングリクエストを実行すると、ネットワークおよびキャッシュリソースを消費し、既存のホットデータがエビクトされる可能性があるため、ウォーミングの範囲と同時実行性を制御してください。
キャッシュウォーミングは、オプションのパフォーマンス最適化です。使用する場合は、まずバックグラウンドの自動リフレッシュによって、新規に書き込まれたデータが検索可能になるまで待つ必要があります。キャッシュウォーミングによってデータがより早く検索可能になることはなく、また、データがキャッシュに保持されることも保証されません。書き込み可能なデータブランチ:Branch Slice (ベータ) は、通常の Slice に変換されるまでキャッシュウォーミングをサポートしません。
次の手順
ウォーミングリクエスト、同期呼び出しと非同期呼び出し、タスク結果の評価、クエリアフィニティの設定については、「Warm Up the Slice Cache」をご参照ください。
テナント別またはナレッジベース別にデータを整理する方法については、「クイックスタート」をご参照ください。