Перейти к основному содержимому
Перейти к основному содержимому

Аналитика в реальном времени

Что такое аналитика в реальном времени?

Аналитика в реальном времени — это обработка данных, результаты которой становятся доступными конечным пользователям и клиентам сразу после появления данных. Она отличается от традиционной или пакетной аналитики, где данные собираются пакетами и обрабатываются, часто значительно позже того, как они были получены.

Системы аналитики в реальном времени строятся на основе потоков событий, которые состоят из серии событий, упорядоченных во времени. Событие — это то, что уже произошло. Это может быть добавление товара в корзину на сайте электронной коммерции, передача показаний датчиком Интернета вещей (IoT) или удар по воротам в футбольном матче.

Ниже приведён пример события (от воображаемого IoT-датчика):

{
  "deviceId": "sensor-001",
  "timestamp": "2023-10-05T14:30:00Z",
  "eventType": "temperatureAlert",
  "data": {
    "temperature": 28.5,
    "unit": "Celsius",
    "thresholdExceeded": true
  }
}

Организации могут получать ценные сведения о своих клиентах, агрегируя и анализируя такие события. Традиционно это делалось с помощью пакетной аналитики, и в следующем разделе мы сравним пакетную и аналитическую обработку данных в реальном времени.

Аналитика в реальном времени и пакетная аналитика

Диаграмма ниже показывает, как обычно выглядит система пакетной аналитики с точки зрения отдельного события:

диаграмма пакетной аналитики

Видно, что существует довольно большая задержка между моментом, когда событие происходит, и временем, когда мы его обрабатываем и получаем из него информацию. Традиционно это был единственный способ анализа данных, и нам приходилось создавать искусственные временные границы, чтобы обрабатывать данные пакетами. Например, мы могли обрабатывать все данные, собранные к концу дня. Это работало для многих сценариев, но для других было неоптимально, потому что мы работаем с устаревшими данными и не можем реагировать на них достаточно быстро.

Напротив, в системах аналитики в реальном времени мы реагируем на событие сразу после того, как оно произошло, как показано на следующей диаграмме:

диаграмма аналитики в реальном времени

Теперь мы можем получать аналитические выводы из событий почти сразу после их генерации. Но почему это полезно?

Преимущества аналитики в реальном времени

В современном динамичном мире организации полагаются на аналитику в реальном времени, чтобы оставаться гибкими и оперативно реагировать на постоянно изменяющиеся условия. Система аналитики в реальном времени может принести бизнесу множество преимуществ.

Более качественное принятие решений

Качество принятия решений можно повысить, имея доступ к практически применимым инсайтам благодаря аналитике в реальном времени. Когда команды, отвечающие за работу бизнеса, видят события в момент их возникновения, значительно проще вовремя вмешаться.

Например, если мы вносим изменения в приложение и хотим понять, не оказывают ли они негативного влияния на пользовательский опыт, нам нужно узнать об этом как можно быстрее, чтобы при необходимости откатить изменения. При менее оперативном подходе нам, возможно, пришлось бы ждать до следующего дня, чтобы провести такой анализ, и к тому времени у нас уже было бы много недовольных пользователей.

Новые продукты и источники дохода

Аналитика в реальном времени может помочь бизнесу создать новые источники дохода. Организации могут разрабатывать новые ориентированные на данные продукты и сервисы, предоставляющие пользователям доступ к возможностям выполнения аналитических запросов. Эти продукты часто оказываются достаточно ценными, чтобы пользователи были готовы платить за доступ к ним.

Кроме того, существующие приложения можно сделать более «липкими» для пользователей, повышая вовлечённость и удержание. Это приводит к более активному использованию приложения и, как следствие, к росту доходов организации.

Повышение качества обслуживания клиентов

Благодаря аналитике в реальном времени бизнес может мгновенно получать представление о поведении, предпочтениях и потребностях клиентов. Это позволяет компаниям своевременно оказывать помощь, персонализировать взаимодействия и создавать более вовлекающий пользовательский опыт, который стимулирует клиентов возвращаться.

Сценарии использования аналитики в реальном времени

Настоящая ценность аналитики в реальном времени становится очевидной, когда мы рассматриваем её практические применения. Рассмотрим некоторые из них.

Обнаружение мошенничества

Обнаружение мошенничества связано с выявлением мошеннических схем — от поддельных аккаунтов до платёжного мошенничества. Нам нужно обнаруживать такие случаи как можно быстрее, помечая подозрительную активность, блокируя транзакции и при необходимости отключая учётные записи.

Этот сценарий характерен для различных отраслей: здравоохранения, цифрового банкинга, финансовых услуг, ритейла и многого другого.

Instacart — ведущая в Северной Америке онлайн‑компания по продаже продуктов с миллионами активных клиентов и курьеров. Она использует ClickHouse как часть Yoda — своей платформы для обнаружения мошенничества. В дополнение к общим типам мошенничества, описанным выше, платформа также пытается выявлять сговор между клиентами и курьерами.

Аналитика в реальном времени для обнаружения мошенничества

Они выделили следующие характеристики ClickHouse, которые позволяют реализовать обнаружение мошенничества в реальном времени:

ClickHouse поддерживает семейство движков MergeTree на основе LSM‑дерева. Они оптимизированы под запись, что подходит для приёма больших объёмов данных в реальном времени.

ClickHouse специально спроектирован и оптимизирован для аналитических запросов. Это идеально соответствует потребностям приложений, в которых данные непрерывно анализируются на наличие закономерностей, потенциально указывающих на мошенничество.

Принятие решений в условиях жёстких временных ограничений

Принятие решений в условиях жёстких временных ограничений относится к ситуациям, когда пользователям или организациям нужно быстро принимать обоснованные решения на основе самой актуальной доступной информации. Аналитика в реальном времени даёт пользователям возможность принимать информированные решения в динамичных условиях — будь то трейдеры, реагирующие на колебания рынка, покупатели, принимающие решения о покупках, или специалисты, адаптирующиеся к оперативным изменениям в режиме реального времени.

Coinhall предоставляет своим пользователям актуальные в реальном времени сведения о движении цен с помощью свечного графика, который показывает цены открытия, максимума, минимума и закрытия для каждого торгового периода. Им нужно было уметь выполнять такие запросы быстро и при большом количестве одновременных пользователей.

Аналитика в реальном времени для принятия решений в условиях жёстких временных ограничений

С точки зрения производительности ClickHouse стал однозначным победителем, выполняя запросы к данным для построения свечных графиков за 20 миллисекунд по сравнению с 400 миллисекундами и более для других баз данных. Он выполнял запросы последней цены за 8 миллисекунд, опережая следующую по результату систему (SingleStore), которой требовалось 45 миллисекунд. Наконец, он обрабатывал запросы ASOF JOIN за 50 миллисекунд, в то время как Snowflake требовал 20 минут, а Rockset не укладывался в лимит времени.