Перейти к содержанию
Публикация AiManual

Datacor встроила self-service аналитику аренды в TrackAbout на базе Amazon Quick Sight

Datacor встроила в TrackAbout интерактивные дашборды и поиск на естественном языке на базе Amazon Quick Sight, чтобы газовые и сварочные дистрибьюторы сами пров

Коротко

Что будет в материале

  1. 01

    Что именно сделала Datacor: суть апдейта TrackAbout

  2. 02

    Архитектура: кросс-облачный конвейер от Azure SQL до дашбордов Quick Sight

  3. 03

    Мультитенантная изоляция через row-level security: как масштабировать без дублирования

  4. 04

    Поиск на естественном языке: как NL-запросы учат отраслевую терминологию

Что именно сделала Datacor: суть апдейта TrackAbout

Datacor встроила в TrackAbout аналитику аренды на базе Amazon Quick Sight: в платформе появились интерактивные дашборды и строка поиска на естественном языке. Кейс описан в блоге AWS: How Datacor built self-service rental analytics with Amazon Quick Sight.

TrackAbout помогает промышленным газовым и сварочным дистрибьюторам отслеживать и управлять баллонами и контейнерами по всей цепочке поставок. Клиенты TrackAbout совместно управляют 27,5 млн активов и более 725 000 счетов в месяц. Тарифы на аренду, оборачиваемость баллонов и загрузка парка считаются по этим данным, и задержка с отчётом напрямую тормозит коммерческие решения.

Разница для пользователя простая. Сценарий «что если поднять тарифы на ацетилен на 5%?» больше не требует заявки в поддержку: менеджер задаёт вопрос в строке поиска и получает ответ в тот же день. Аналитика не заменяет аналитика, она снимает поток простых проверок гипотез.

Amazon Quick Sight — встроенная аналитическая возможность в составе Amazon Quick. Сам ассистент вышел на десктоп, а мобильные версии получили ленту активности; подробности в разборе Amazon Quick на macOS и Windows.

Почему прежняя модель отчётности не работала

Клиенты присылали запросы на кастомные отчёты SSRS (SQL Server Reporting Services) или на выгрузку сырых данных. Команда поддержки собирала такой отчёт вручную, доставка занимала дни, иногда недели. Результат был статичным: он отвечал ровно на тот вопрос, который задали при заказе, а любое уточнение запускало новый цикл ожидания.

Готовые отчёты тоже не закрывали задачу целиком. Дистрибьюторы различаются размером парка, ассортиментом, географией и структурой биллинга, поэтому один стандартный отчёт не подходил всем. Проверить сценарий «что если поднять тарифы на ацетилен на 5%?» и получить ответ в тот же день было нельзя: решение по ценам откладывалось до момента, когда выгрузка наконец доезжала.

Архитектура: кросс-облачный конвейер от Azure SQL до дашбордов Quick Sight

В публикации AWS прямо упомянут автоматический кросс-облачный конвейер данных, встроенные дашборды и запросы на естественном языке на базе генеративного BI в Amazon Quick Sight. Пошаговый состав сервисов в доступной версии статьи не расшифрован, поэтому схему ниже стоит воспринимать как заявленную, а не выписанную из документации.

  1. Источник. Транзакционные данные TrackAbout хранятся в Azure SQL.
  2. Перенос. Azure Data Factory забирает их и складывает в Amazon S3.
  3. Обработка. AWS Glue и Step Functions превращают сырые файлы в таблицы Apache Iceberg.
  4. Отдача. Готовые таблицы загружаются в SPICE, из которого Amazon Quick Sight строит дашборды.

Отдельные элементы этой схемы подтверждаются документацией AWS и Apache Iceberg, но не кейсом Datacor. Так, Apache Iceberg позволяет использовать AWS Glue в качестве реализации каталога, а Amazon S3 применяет серверное шифрование AES-256 (документация Apache Iceberg по AWS). Iceberg также поддерживает потоковую доставку данных в таблицы в Amazon S3 с автоматическим применением вставки, обновления и удаления записей, причём для этого требуется AWS Glue Data Catalog. Это общие возможности технологии, а не описание конкретного конвейера TrackAbout.

Зачем понадобился кросс-облачный маршрут Azure → AWS

TrackAbout годами работает как SaaS на Azure SQL, а аналитический слой Datacor построен на AWS. Публичное описание мотив не раскрывает. Реконструкция такая: работающую транзакционную систему не мигрируют, а аналитику собирают там, где есть готовые сервисы визуализации.

Плата за такой маршрут предсказуема. Данные пересекают границу облаков, добавляются расходы на передачу, точки отказа и задержка между появлением записи в Azure SQL и её отражением в дашборде. Каждый переход (Data Factory, S3, Glue, Step Functions, SPICE) приходится мониторить отдельно, иначе сбой в середине конвейера вы заметите только по устаревшим цифрам на экране.

Роль SPICE и Apache Iceberg в производительности дашбордов

Apache Iceberg — открытый табличный формат для аналитических нагрузок. Данные лежат в Amazon S3, а сам формат даёт схему, версионирование и доступ из разных движков. Прямая выгрузка сразу в слой визуализации неудобна: слой хранения переживает смену BI-инструмента, а привязка к конкретному дашборду нет.

SPICE — in-memory слой Amazon Quick Sight. Он держит подготовленную копию данных рядом с визуализациями, поэтому график открывается без обращения к S3 на каждый клик. Расклад простой: Iceberg отвечает за долговременное хранение в открытом формате, SPICE — за скорость отдачи. Конкретных цифр ускорения публикация не приводит, так что эффект придётся мерить на своих объёмах.

Отдельная линия развития — семантический слой. Amazon Quick получил Agentic Catalog Experience, который наследует метаданные из AWS Glue и Databricks Unity Catalog и позволяет находить таблицы запросами на естественном языке: разбор Agentic Catalog Experience. Для команды, которая уже держит обработку на Glue, это сокращает ручную работу с описаниями датасетов.

Мультитенантная изоляция через row-level security: как масштабировать без дублирования

По описанию кейса все клиенты TrackAbout работают на общем наборе датасетов и дашбордов, а границу между организациями держит row-level security (RLS), привязанная к идентификатору клиента. Пользователь видит только строки своего тенанта. Для SaaS с десятками организаций это принципиально: без RLS каждому новому клиенту нужны копии датасетов и дашбордов, а значит больше места в SPICE, больше времени на обновление и больше расхождений между копиями.

Механика RLS в Amazon Quick подтверждается документацией AWS. Для зарегистрированных пользователей применяется user-based RLS: пользователь или группа сопоставляется с набором правил, который определяет видимые строки датасета (Configuring row-level security in Amazon Quick Sight). В Quick Sight Enterprise edition поддерживаются вложенные условия внутри тегов RLS, позволяющие комбинировать AND и OR и упрощать мультитенантные шаблоны доступа. При встраивании дашбордов для непровизионных (незарегистрированных) пользователей видимые данные тоже можно настраивать с помощью RLS-тегов, что позволяет масштабироваться на миллионы пользователей без управления ими в Quick Sight (Enable complex row-level security in embedded dashboards). Это общие возможности сервиса, а не подтверждённые параметры внедрения Datacor.

Почему дублирование датасетов на каждого клиента упирается в тупик

Копии растут линейно: десять клиентов — десять наборов, пятьдесят — пятьдесят. Каждую копию нужно обновлять, тестировать и сопровождать, и любая правка метрики превращается в пятьдесят правок. Единый датасет с RLS убирает эту арифметику, но требует дисциплины в модели данных: tenant ID должен присутствовать во всех задействованных таблицах и корректно прокидываться в Quick Sight.

Риск тоже понятен. Ошибка в маппинге идентификатора клиента покажет одному дистрибьютору данные другого, а это уже не баг отчётности, а инцидент с утечкой. Спасает не настройка сама по себе, а регулярное тестирование изоляции: проверки под учётными записями разных тенантов после каждого изменения модели данных.

Оговорка: детали RLS именно во внедрении Datacor в доступной версии публикации AWS не раскрыты, схема восстановлена по описанию кейса. Перед повторением стоит проверить, как RLS ведёт себя при агрегатах, join и кэшированных наборах SPICE, потому что дыры обычно находятся именно там. Общие принципы построения корпоративной платформы данных с управлением доступом разобраны отдельно: архитектура корпоративной data-платформы.

Поиск на естественном языке: как NL-запросы учат отраслевую терминологию

Вторая половина апдейта — запросы на естественном языке на базе генеративного BI в Amazon Quick Sight. Пользователь пишет вопрос словами, система подбирает данные и возвращает ответ. Работает это при одном условии: модель понимает отраслевой словарь — баллон, контейнер, ацетилен, аренда, тариф, счёт.

Что даёт NL-поиск бизнес-пользователю на практике

Пример из первоисточника: вопрос про повышение тарифов на ацетилен на 5% и ответ в тот же день. Раньше такой сценарий уходил в поддержку и стоял в очереди кастомных отчётов. Ценность в скорости проверки гипотез, а не в замене аналитика: NL-поиск даёт быструю прикидку, дашборды позволяют разобрать результат по срезам.

Подготовка к NL-запросам сводится к нескольким шагам.

  • Словарь синонимов: «баллон» и «цилиндр», «аренда» и «rental», «тариф» и «rate» должны вести к одному полю.
  • Описания метрик: что считается активным активом, с какой даты стартует аренда, как считается оборачиваемость.
  • Набор эталонных вопросов от реальных дистрибьюторов и ручная проверка ответов.
  • Тесты на редких терминах: если модель не понимает «ацетиленовую рампу», её уверенный ответ приносит больше вреда, чем отказ отвечать.

Публикация не раскрывает, как именно Datacor настраивала словарь и сколько итераций это заняло. Список выше — рамка для собственного проекта, а не подтверждённая методика вендора.

Этапы проекта: что известно о хронологии

Хронология внедрения в открытых материалах не подтверждается. В плане темы фигурировали сборка конвейера в июле 2025 года, пилот на 6–7 клиентах в сентябре 2025 года, релиз в ноябре 2025 года и включение функции более чем у 50 организаций, однако ни блог AWS, ни другие доступные источники этих дат и охвата не содержат.

Что подтверждается документально: релиз TrackAbout за июль 2025 года вышел 1 июля 2025 года и включал новые функции для TrackAbout Web, Mobile и API (July 2025 Release Notes). Это релизные заметки самого продукта, и они не связывают перечисленные изменения с конвейером данных, пилотом или аналитикой аренды.

Поэтому таблицу с этапами проекта приводить не стоит: она опиралась бы на неподтверждённые данные. Если хронология важна для решения, её нужно запрашивать у вендора напрямую.

Уроки для команд, которые встраивают аналитику в мультитенантный SaaS

  1. RLS проектируйте с первого дня. Добавить tenant ID в готовую модель данных дороже, чем предусмотреть его в схеме сразу: придётся переписать датасеты, перепроверить права и заново протестировать изоляцию.
  2. Один датасет с RLS экономит на масштабировании. Копии на тенанта умножают работу при каждом новом клиенте, единый набор с привязкой к идентификатору держит сложность постоянной.
  3. NL-поиск бесполезен без отраслевого словаря. «Ацетилен», «баллон» и «тариф» должны быть описаны в метаданных, иначе генеративный BI отвечает общими словами.
  4. Ограниченная раскатка снижает риск. Пилот на нескольких клиентах позволяет поймать проблемы изоляции и терминологии до того, как их увидят все пользователи. Конкретные сроки такого пилота в этом кейсе публично не раскрыты.
  5. Кросс-облачный конвейер требует мониторинга на каждом переходе. Сбой между Data Factory, S3, Glue и SPICE не всегда заметен сразу: дашборд просто показывает вчерашние цифры.
  6. SPICE и Iceberg — компромисс между свежестью и скоростью. Кэш ускоряет отдачу, но данные в нём не мгновенные; для отчётности по аренде это обычно приемлемо, для оперативных алертов уже нет.
  7. Поддержку не отключайте разом. Часть клиентов останется на кастомных отчётах SSRS и специфичных выгрузках: привычка, интеграции и нестандартные форматы уходят медленнее, чем появляется новая аналитика.

Экономика встроенной аналитики тоже заслуживает оценки до старта. Tradeshift на Amazon Quick превратила убыточный внутренний BI в продукт, ускорила запросы в 30 раз и добавила около 2% к ARR: разбор кейса Tradeshift. Такая модель подходит не каждой платформе, но посчитать её варианты заранее дешевле, чем после релиза.

Ограничения и открытые вопросы решения

  • Стоимость SPICE и расходы на хранение: в открытых материалах нет ни тарифов, ни объёмов, поэтому бюджет считайте сами.
  • Задержка синхронизации и частота обновления конвейера не раскрыты. Непонятно, насколько свежие цифры видит пользователь в момент вопроса.
  • Точность NL-запросов на редких терминах публично не измерялась: нет ни метрик, ни разбора типовых ошибок.
  • Пошаговый состав конвейера (Azure Data Factory, Glue, Step Functions, Iceberg, SPICE), параметры RLS и хронология проекта в доступной версии публикации AWS отсутствуют. Подтверждены только общие возможности этих технологий по отдельной документации, а не их конфигурация у Datacor.
  • Кросс-облачный маршрут усложняет отладку: инцидент может находиться в любом из четырёх участков, и разбираться придётся сразу в двух облаках.
  • RLS требует регулярного аудита: после каждого изменения модели данных нужны повторные проверки под разными тенантами.

Если планируете похожий проект, начните с двух проверок. Первая: присутствует ли tenant ID во всех таблицах, которые попадут в датасеты. Вторая: понимает ли модель пять-шесть ключевых терминов вашей отрасли. Отрицательный ответ на любой из вопросов означает, что дашборды лучше не показывать клиентам, пока он не станет положительным.

Подписаться на канал