サンプリング ↗ は、すべてのデータポイントを処理するのではなく、データの一部を分析する手法です。Cloudflare Analytics では、高い正確性と信頼性を保ちつつ、効率的な性能とスケーラビリティを確保するためにサンプリングを使います。この文書では、サンプリングの仕組み、使う理由、Cloudflare の各ツールにおける分析への影響を説明します。
大きなデータセットでもクエリがすばやく完了するよう、Adaptive Bit Rate(ABR) ↗ というサンプリング手法を使います。ABR は、クエリの複雑さと所要時間に応じて、取得するデータの詳細度を動的に調整します。これにより、大きく複雑なクエリが計算資源を偏って消費し、小さなクエリを遅くしたりブロックしたりするのを防ぎ、公平性を保ちます。資源をより均等に配分することで、データセットの大きさに関係なく、すべてのユーザーに一貫した性能を提供します。
これを可能にするため、データは複数の解像度(100%、10%、1%)で保存され、それぞれ異なるサンプリング率を表します。クエリを実行すると、ABR はクエリの複雑さと取得する行数に基づいて最適な解像度を選びます。データ解像度を動的に調整することで、ABR は性能を最適化し、遅延を防ぎます。大きなデータセットでタイムアウト、エラー、高コストが起きやすいシステムとは、この点が異なります。
Cloudflare のデータパイプラインは、グローバルネットワーク全体で 毎秒 7 億件を超えるイベント ↗(さらに増加中)を扱います。このデータをすべてリアルタイムで処理・保存すると、コストも時間も膨大になります。慎重に設計したサンプリング手法により、Cloudflare Analytics は正確で実用的なデータを、精度と性能のバランスを取りながら提供します。
サンプリングで可能になること:
- スケーラビリティ: 洞察を損なうことなく、処理するデータ量を減らします。
- 性能: 分析クエリの実行を速くします。
- コスト効率: 資源の使用とストレージを抑えます。
サンプルデータは信頼性が高く、全データセットから得た洞察と同じくらい確実な洞察を提供できます。Cloudflare は、データセット全体の本質的な特徴を捉えるようサンプリング手法を設計し、信頼できる結果を届けます。
サンプリングは、ほかの分野でも使われる手法です。たとえば次のとおりです。
-
Google マップ: オンライン地図は、縮小すると低解像度、拡大すると高解像度の画像を表示し、ピクセル数はほぼ一定に保ちます。Cloudflare Analytics も同様に、サンプリング率を動的に調整して洞察を効率よく提供し、データセットの大きさに関係なく、クエリが一貫して正確な結果を返すようにします。
-
世論調査: 調査会社が人口の一部をサンプリングして選挙結果を予測するように、Cloudflare はデータの一部をサンプリングし、システム全体に対する正確な洞察を提供します。
-
映画のフレーム: 60 fps ではなく 30 fps で映画を見ても全体の体験は変わりません。分析データセットでも、より少ないデータポイントを分析しても、同じパターンと傾向が見えます。
現時点では、ABR クエリ結果の正確な解像度を確認しにくい場合があります。一般的な目安として、読み取った行数を確認してください。読み取った行数が多いほど、解像度の高い結果になります。たとえば、数千行に基づく結果は代表的である可能性が高く、数行だけの結果は信頼性が下がることがあります。
近い将来、クエリ結果とともに信頼区間を公開する予定です。結果の正確さを正確に確認できるようになります。
サンプリングが発生するとき
- サンプリングは、全データ分析が現実的でない、非常にトラフィックの多いデータセットに適用されることが一般的です。
- 小さいデータセットでは、サンプリングなしで全データ分析を行うことがよくあります。
サンプリング率
- サンプリング率は、データセットと製品によって異なります。
- Cloudflare は、1 つのデータセット内でサンプリング率を一定にし、クエリ間の正確さを保ちます。
指標への影響
- サンプリングは処理するデータ量を減らしますが、合計、平均、パーセンタイルなどの集計指標は、サンプルサイズに基づいて外挿されます。これにより、報告される指標はデータセット全体を正確に表します。
制限
- 発生率が非常に低い、極端にまれなイベントは、サンプリングで捉えられないことがあります。
分析インターフェースでのサンプリング
- GraphQL API: サンプリングのメタデータはクエリレスポンスに含まれます。詳細は GraphQL Analytics API のサンプリングのドキュメントを参照してください。
- Workers Analytics Engine: 詳細は Workers Analytics Engine のドキュメントを参照してください。
- Dashboard Analytics: 可視化にサンプルデータを使った場合、サンプリングしたデータの割合を示すアイコンを表示します。