← Аналитика / analytics
Основные сведения о выборке данных в Cloudflare Analytics
Сэмплирование ↗ это метод, применяемый в аналитике для анализа подмножества данных вместо обработки каждой отдельной точки данных. В Cloudflare Analytics выборка обеспечивает высокую производительность и масштабируемость при сохранении точности и надёжности. В этом документе приведён полный обзор того, как работает выборка, зачем она нужна и как она влияет на аналитику в разных инструментах Cloudflare.
Как работает выборка
Мы используем метод выборки под названием Adaptive Bit Rate (ABR) ↗ чтобы запросы выполнялись быстро даже при работе с большими наборами данных. ABR динамически регулирует уровень детализации получаемых данных в зависимости от сложности и продолжительности запроса. Это обеспечивает справедливое распределение ресурсов: большие или сложные запросы не потребляют непропорционально много вычислительных мощностей, что иначе могло бы замедлить или заблокировать выполнение менее ресурсоёмких запросов. Более равномерно распределяя ресурсы, ABR поддерживает стабильную производительность для всех пользователей независимо от размера набора данных.
Для этого данные хранятся в нескольких разрешениях (100%, 10%, 1%), каждое из которых соответствует своему проценту выборки. При выполнении запроса ABR выбирает оптимальное разрешение исходя из сложности запроса и количества строк, которые нужно получить. Динамически подстраивая разрешение данных, ABR повышает производительность и предотвращает задержки. Это отличает его от систем, которые сталкиваются с таймаутами, ошибками или высокими затратами при работе с большими наборами данных.
Почему применяется выборка
Конвейер данных Cloudflare обрабатывает более 700 миллионов событий в секунду ↗ (и это число продолжает расти) по всей глобальной сети. Обработка и хранение всех этих данных в реальном времени обошлись бы чрезмерно дорого и заняли бы слишком много времени. Благодаря тщательно продуманным методам выборки Cloudflare Analytics предоставляет точные и полезные для практического применения данные, сохраняя баланс между точностью и производительностью.
Выборка позволяет:
- Масштабируемость: Снижает объём обрабатываемых данных, не жертвуя качеством аналитики.
- Производительность: Ускоряет выполнение запросов для аналитики.
- Экономическая эффективность: Минимизирует использование ресурсов и потребности в хранении.
Можно ли доверять выборочным данным?
Выборочные данные высоко надёжны и позволяют получать такие же достоверные результаты, как и данные из полных наборов. Cloudflare разрабатывает методы выборки так, чтобы захватывать основные характеристики всего набора данных и обеспечивать результаты, на которые можно положиться.
Выборка представляет собой подход, который применяется и в других областях, например:
-
Google Maps: подобно тому, как онлайн-карты показывают изображения с более низким разрешением при отдалении и с более высоким при приближении (при этом общее количество пикселей остаётся примерно постоянным), Cloudflare Analytics динамически регулирует частоту выборки, чтобы эффективно предоставлять аналитику и гарантировать, что запросы возвращают стабильные и точные результаты независимо от размера набора данных.
-
Опросы общественного мнения: подобно тому как социологи опрашивают часть населения, чтобы предсказать итоги выборов, Cloudflare анализирует выборку ваших данных, чтобы дать точную картину по всей системе.
-
Кинокадры: просмотр фильма при 30 кадрах в секунду (fps) вместо 60 fps не меняет общее впечатление, точно так же анализ меньшего количества точек данных всё равно выявляет те же закономерности и тренды в вашем наборе аналитических данных.
Мы понимаем, что точно проверить разрешение результатов запроса ABR сейчас может быть непросто. Но в целом можно ориентироваться на количество прочитанных строк: чем оно выше, тем выше разрешение результатов. Например, результаты, основанные на тысячах строк, с высокой вероятностью репрезентативны, а результаты, основанные всего на нескольких строках, могут быть менее надёжными.
В ближайшее время мы планируем добавить в результаты запросов доверительные интервалы, чтобы вы могли точно видеть, насколько точны ваши результаты.
Дополнительные соображения
Когда применяется выборка
- Выборка обычно применяется к наборам данных с очень высокой нагрузкой, где полный анализ данных был бы непрактичен.
- Для небольших наборов данных полный анализ данных часто выполняется без выборки.
Частоты выборки
- Частота выборки зависит от набора данных и продукта.
- Cloudflare следит за тем, чтобы коэффициент выборки оставался неизменным в рамках одного набора данных, что обеспечивает точность результатов во всех запросах.
Влияние на метрики
- Выборка снижает объём обрабатываемых данных, но агрегированные метрики, такие как суммы, средние значения и процентили, экстраполируются исходя из размера выборки. Это гарантирует, что представленные метрики точно отражают весь набор данных.
Ограничения
- Выборка может не захватывать чрезвычайно редкие события с очень низкой частотой возникновения.
Выборка в интерфейсах аналитики
- GraphQL API: метаданные о выборке включены в ответ на запрос. Подробности см. в разделе о выборке GraphQL Analytics API документация.
- Workers Analytics Engine: дополнительные сведения см. в Workers Analytics Engine документация.
- Dashboard Analytics: отображает значок с процентом выборки данных, если для визуализации использовались выборочные данные.