Pattern

Блог Tarantool

BackIcon

Как применять архитектуру HTAP в бизнесе и задачах real-time аналитики

Как применять архитектуру HTAP в бизнесе и задачах real-time аналитики

CalendarIcon

21.11.2025

TimeIcon

5 мин.

scroll iconScroll

Транзакционные системы (OLTP) — это сердце любой современной компании. С их помощью каждую секунду обрабатывают заказы, платежи, пополняют склады, сверяют остатки. Но, чтобы эти данные работали на бизнес, одного хранения недостаточно — нужны аналитика, отчеты, предсказания и поиск аномалий. Для этого традиционно применяют OLAP-системы. Проблема в том, что OLTP и OLAP живут в параллельных мирах — и это мешает быстро принимать решения на свежих данных. И здесь возникает потребность в универсальных решениях, способных работать на стыке OLTP и OLAP.

В этой статье познакомимся с основами гибридной обработки данных, инструментом для ее реализации и сценариями, в которых подобное решение наиболее востребовано.

Начнем с сути проблемы

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

  • OLTP-системы (Online Transaction Processing) оптимизированы для очень быстрой обработки огромного количества коротких транзакций (например, оформление заказа в интернет-магазине, списание денег со счета, обновление складских остатков). Их главная цель — обеспечить целостность и актуальность данных в режиме реального времени для повседневных операций. Однако сложные аналитические запросы в таких системах выполняются медленно и могут мешать основной работе.
  • OLAP-системы (Online Analytical Processing) предназначены для глубокого анализа и быстрого выполнения сложных запросов по большим массивам исторических данных, построения отчетов, выявления тенденций и прогнозирования. Данные в них обычно загружаются из OLTP-систем периодически (раз в день, неделю), поэтому аналитика в OLAP работает на устаревшей информации, запаздывающей на часы или даже дни. Это неприемлемо, когда бизнесу нужны решения на основе самой свежей оперативной картины.

Для преодоления этого разрыва и решения задачи операционной аналитики появился подход HTAP (Hybrid Transactional/Analytical Processing). HTAP — это архитектура, позволяющая одновременно выполнять высокопроизводительную обработку транзакций (OLTP) и сложную аналитику (OLAP) на одних и тех же актуальных данных. При этом данные для анализа не нужно дополнительно копировать и синхронизировать между собой.

Для реализации HTAP-подхода нужны системы, способные выполнять соответствующую обработку. И с этим нередко возникают трудности.

Так, классический Tarantool не приспособлен для работы с аналитической нагрузкой:

  • Tarantool обычно существует в кластере, и для аналитических нагрузок требовалось бы делать MapReduce, что тоже нехорошо;
  • у Tarantool свой протокол взаимодействия (CRUD по key-value), то есть можно делать только базовые операции с ограничениями, что может быть неудобно.

Чтобы преодолеть ограничения, мы решили создать хранилище, которое хорошо работает на вставках и обновлениях и при этом позволяет делать аналитические запросы.

Так мы получили колоночную СУБД Tarantool Column Store, которая реализует HTAP-обработку, что дает возможность мгновенно выполнять аналитику на самых новых данных, а также уменьшить затраты на перенос и копирование информации.

Знакомство с Tarantool Column Store

Tarantool Column Store — in-memory колоночная СУБД на базе Tarantool Enterprise Edition для транзакционно-аналитической обработки данных в реальном времени. Инструмент хранит и обрабатывает данные в виде колонок.

Интеграция Tarantool Column Store с бизнес-приложениями выстраивается через Arrow flight SQL (через AJBC/JDBC драйвера), также поддерживается HTTP API. Масштабирование Tarantool Column Store обеспечивается с помощью реплицирования и шардирования, которые в классическом Tarantool доступны «из коробки».

Архитектура Tarantool Column Store: image4.png

Функциональность Tarantool Column Store включает в себя:

  • колоночное хранение данных в оперативной памяти;
  • гарантированную персистентность хранимых данных;
  • асинхронную репликацию данных;
  • поддержку INSERT (единичная и пакетная вставки, insert into select);
  • поддержку UPDATE;
  • поддержку SQL SELECT (агрегатные и оконные функции, join, Explain, Prepared statement);
  • поддержку DELETE (единичных записей);
  • первичный ключ;
  • вторичные составные индексы;
  • нематериализованные представления;
  • поддержку ACID;
  • шифрование трафика;
  • экспорт метрик мониторинга в Prometheus, Grafana;
  • автоматизацию установки и запуска кластера (ATE);
  • UI/СLI-управление кластером;
  • поддержку механизма failover для отказоустойчивости;
  • работу на отечественных операционных системах: Astra Linux, РедОС.

Детали о хранении данных и работе с диском

Хранение данных реализовано на новом колоночном движке MemCS, обладающем следующими возможностями:

  • делать единичные апдейты и вставки, выполнять full-сканы;
  • хранить данные в промежуточном (гибридном) формате;
  • одинаково эффективно справляться с OLTP и OLAP.

Немного подробнее остановимся на особенностях хранения данных и работы с диском. Фактически есть две стратегии.

Первая. Мы можем использовать parquet-файлы в качестве внешней таблицы и обрабатывать данные, которые находятся в памяти и на диске.

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

Сценарии применения HTAP-решений в разных бизнес-задачах: где востребованы СУБД, реализующие HTAP-обработку

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

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

Мы провели исследование рынка и выяснили, что среди российских компаний тоже есть спрос на подобные решения. О некоторых из них расскажем подробнее.

Задача 1. Повышение производительности маркетинговых систем

Бизнесу часто нужно уметь выделять статичные и динамические маркетинговые характеристики своих пользователей. Например, к статичным относят возраст и пол пользователя, а к динамичным — среднюю сумму трат на категорию или самую популярную категорию товаров на основе последних покупок. Со статичными параметрами все очевидно: их можно хранить в базе и запрашивать при необходимости. С динамичными сложнее: чтобы делать релевантные предложения на основе максимально свежих данных (например, с учетом покупок, сделанных 10 минут назад, или товаров, только добавленных в корзину), надо уметь проводить анализ динамически меняющихся признаков, то есть обрабатывать не только исторические, но и оперативные данные. Здесь не обойтись без HTAP-решений.

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

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

image1.jpg

Задача 2. Ускорение и повышение точности антифрод-систем

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

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

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

Мы построили систему с применением Tarantool Column Store (TCS), который позволяет реализовать обнаружение подозрительных транзакций практически с нулевой задержкой. TCS встраивается в антифрод-систему в качестве скоростного аналитического хранилища, дает возможность проводить аналитические расчеты в real-time на исторических данных за период от нескольких часов до нескольких месяцев.

image5.jpg

В результате мы получили систему, способную обрабатывать большой объем данных и демонстрировать высокую производительность.

Задача 3: Формирование финансовой отчетности в реальном времени

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

Ранее для таких задач классически применяли SAP HANA, но в условиях приоритетного импортозамещения бизнесу потребовалось создавать подобные решения самостоятельно, в том числе с применением Tarantool Column Store.

Один из наших клиентов построил систему, в которой Tarantool Column Store консолидирует данные о финансово-хозяйственной деятельности (данные об активах и пассивах, закупочной деятельности, сбыте продукции, движении денежных средств) в едином хранилище и выполняет аналитические запросы в реальном времени для быстрого формирования отчетности.

image2.jpg

Задача 4: Создание быстрых витрин для аналитиков

Банковские организации (и не только они) обычно строят распределенные витрины на терабайты данных, информация в которые поступает двумя способами:

  • пакетно (например, профили клиентов, счета);
  • в реальном времени (оферы и отклики на них).

Основная сложность здесь в том, что финансовым и коммерческим компаниям часто надо анализировать данные в ручном режиме: what-if анализ, формирование срезов для маркетинговых кампаний и т. д. Для этого аналитики должны иметь возможность многократно перезапускать запросы на большом объеме данных, итерационно уточняя условия. Соответственно, запросы должны отрабатываться быстро, а хранилище не должно «пухнуть» от большого количества временных таблиц.

Для эффективного решения такой задачи можно применить Tarantool Column Store в качестве хранилища основной, базовой витрины, содержащей предварительно подготовленные данные, необходимые аналитикам. TCS хранит данные в оперативной памяти и обеспечивает высокую скорость доступа к ним, возможность запускать сложные аналитические запросы с join, group by, фильтрами и быстрый расчет агрегатов. То есть такая реализация позволит сделать работу аналитика эффективной и быстрой.

image3.jpg

Выводы

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

Tarantool Column Store (TCS) — высокоэффективное гибридное колоночное in-memory хранилище, предназначенное для аналитики и расчетов в реальном времени, которое эффективно реализует HTAP-обработку. Уже сейчас наше решение обеспечивает минимальную задержку от получения новых данных до их участия в анализе, быструю обработку данных, свойственную in-memory БД, отсутствие затрат (как времени, так и ресурсов) на перемещение данных из OLTP в OLAP БД и сохранность данных. При этом по мере развития возможностей Tarantool Column Store будет становиться только больше.

Читайте также

Вызовы цифровой трансформации, с которыми справляется Tarantool

ArrayIcon

Как правильно приготовить «данные»? Тренды разработки 2023

Данные стали новой нефтью. Сегодня любой бизнес-процесс, любую сущность можно свести к набору данных о нем и соответствующим образом выстроить свою систему для работы с этими объектами. Однако для того, чтобы извлечь из этой нефти пользу, нужны программные системы, которые не просто умеют ее качать, но обрабатывать, хранить и делать это быстро, безопасно и отказоустойчиво.
ArrayIcon

Расширение Tarantool для Visual Studio Code

Теперь у Tarantool есть официальное расширение для Visual Studio Code, предназначенное для ускорения процесса разработки и отладки приложений платформы.
ArrayIcon