アクセスログの概要
高ボリュームのワークロードでは、どのデータが最も頻繁にアクセスされているかを理解することが、インデックスのチューニングやパーティション戦略などの最適化判断において重要です。クエリパターンが見えない場合、これらの判断は推測に頼らざるを得ません。
アクセスログは、その可視性を実現します。Zilliz Cloud クラスターで有効にすると、アクセスログパイプラインがクエリ活動をキャプチャし、構造化されたログファイルとしてお客様のオブジェクトストレージへ配信します。その後、これらのログをデータウェアハウスに読み込み、エンティティ ID ごとに集計することで、ホットデータ、遅いクエリ、利用傾向を特定できます。
このリリースでは、検索系またはクエリ系のアクション(Search、HybridSearch、Query)のみをログに記録します。全アクションのサポートは今後のリリースで予定されています。
パイプラインの仕組み
アクセスログパイプラインは、Zilliz Cloud 側での収集と、お客様側での分析という 2 つのフェーズで構成されます。

Zilliz Cloud によるログの収集と配信
クラスターでアクセスログを有効にすると、Zilliz Cloud はプロキシレイヤーでクエリ活動のキャプチャを開始します。クラスターレベルで以下の 2 つの設定を行います:
-
サンプルレート: ログに記録されるリクエストの割合を制御します。値は 0 から 100 で、ランダムにサンプリングされてアクセスログに書き込まれるリクエストの割合を表します。例えば、サンプルレートを 1 に設定すると、約 1% のリクエストがアクセスログのエントリとして生成されます。高ボリュームのワークロードでは、サンプルレートを低く設定することで、アクセスパターンを分析するのに十分なデータを維持しつつ、ログストレージのコストを削減できます。
-
出力フィールド: 各アクセスログエントリに含まれる追加のレスポンスフィールドを制御します。一般的なオプションは以下の通りです:
-
params.ids: クエリ結果で返されたプライマリキー ID のリストを記録します。これにより、後でエンティティごとに集計してホットデータやアクセス頻度を特定できます。 -
params.scores:params.ids内の各 ID に対する類似度スコアを記録し、どの結果が高信頼度のマッチで、どれが境界線のマッチであったかを理解するのに役立ちます。
-
ログはJSON Lines形式(1 行につき 1 つの JSON オブジェクト)で書き込まれ、セットアップ時に設定したオブジェクトストレージバケットへ自動的に配信されます。各ファイルは予測可能なパス規約に従います:
/<Cluster ID>/<Log type>/<Date>/<HH:MM:SS>-<UUID>.log
例:/in03-c7be749d5f403ad/access/2024-12-20/09:16:53-jz5l7D8Q.log
パラメータの詳細については、アクセスログリファレンス を参照してください。
ログの分析
ログは標準的な JSON Lines ファイルとして独自のバケットに配信されるため、JSON を読み取れる任意のツールで処理できます。各ログエントリには、action、cluster_id、timestamp、および params.ids(クエリ結果に含まれる主キーのリスト)などの構造化フィールドが含まれています。
一般的な分析アプローチは以下の通りです。
-
JSON Lines ファイルをデータウェアハウスまたは分析ツールにロードします。
-
各エントリから
actionおよびparams.idsフィールドを解析します。 -
時間ウィンドウ内で主キーごとに集計し、アクセス頻度を可視化します。
その結果、どのエンティティが最も頻繁にクエリされ、どのアクションを通じて、いつアクセスされたかを示すデータのヒートマップが得られます。
信頼性と請求
アクセスログパイプラインは、「ログ記録がクエリパフォーマンスを低下させることはない」という基本原則に基づいて設計されています。
ノンブロッキング保証
アクセスログの収集は、ユーザーリクエストを遅延させたりブロックしたりすることはありません。システムがクエリの完了とログエントリの書き込みのいずれかを選択しなければならない場合、常にクエリが優先されます。
グレースフルデグラデーション
極度の負荷状态下では、クエリスループットを維持するためにアクセスログエントリがドロップされる場合があります。つまり、アクセスログはクエリ活動の完全な記録を保証するものではなく、ベストエフォート型の記録を提供するものです。
請求
アクセスログの請求はボリュームベースではなく、時間ベースです。コストはクエリ CU 単価の 12.5% で、クラスター上でアクセスログが有効になっている期間に応じて請求されます。これにより、クエリ量に関わらずコストを予測可能にでき、クラスターが 1 時間に 100 件のクエリを処理しても 100,000 件のクエリを処理しても、支払額は同じになります。
次のステップ
-
アクセスログの設定: アクセスログの有効化、サンプリングレートと出力パラメータの調整、またはログ記録の無効化。
-
アクセスログリファレンス: 完全なフィールドスキーマ、アクションリスト全体、およびファイルパスの規約。