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

Кейс · Серверы и СХД

Серверная инфраструктура для аналитической платформы данных на Yadro Vegman R660

Крупный ритейлер построил аналитическую платформу данных на 4 узлах Yadro Vegman R660 с СХД Aerodisk Engine N2. ClickHouse обрабатывает 2 млрд событий в сутки, время запроса — 1.8 секунды.

0
позиций в поставке
0
дней до поставки
0%
экономия клиента
0
сумма проекта, ₽

Коротко о проекте

Что поставили

Сервер Yadro Vegman R660 G2, 2U, 2×Intel Xeon Platinum 8360Y 36C/72T, 1 ТБ DDR4 ECC — узел ClickHouse4 шт.
Диск NVMe U.2 7.68 ТБ Micron 7450 PRO MTFDKCC7T6TFR, PCIe 4.0, горячий тир ClickHouse24 шт.
СХД Aerodisk Engine N2, dual-controller, 4U, 60×bay LFF, 4×10GbE, для холодного тира и резерва1 шт.
Диск HDD SAS 12G 16 ТБ Seagate Exos X18 ST16000NM004J, LFF 3.5", холодный тир данных24 шт.
RAID-контроллер Broadcom MegaRAID SAS 9560-16i, 8 ГБ кэш, для boot и SAS-накопителей узлов4 шт.
Коммутатор 25/100GbE управляемый L3 Eltex ESR-200 32×QSFP28 для data-fabric кластера2 шт.
ИБП 10000 ВА On-Line Delta Amplon N-10K для стойки аналитического кластера2 шт.

Крупный ритейлер с онлайн-каналом, 300 офлайн-магазинами и программой лояльности на 8 млн участников накапливал данные о продажах, поведении покупателей и логистике в операционной базе PostgreSQL. Данные росли быстро: свыше 500 ГБ в месяц. По мере роста аналитические запросы маркетингового отдела (когортный анализ, воронки конверсии, ABC-анализ ассортимента) стали занимать 10–15 минут на PostgreSQL. Построение дашбордов в BI-системе заканчивалось таймаутом. Директор по маркетингу на совете директоров озвучил: «Пока аналитика считается 15 минут, мы не можем принимать оперативные решения о ценообразовании и промоакциях.» Бизнес требовал аналитику в реальном времени с задержкой не более 5 секунд для типового запроса.

Задача клиента

Построить выделенную аналитическую платформу на базе ClickHouse, способную обрабатывать 2 млрд аналитических событий в сутки с p50-задержкой не более 3 секунд для типового запроса. Горячий тир: последние 30 дней. Холодный архив: 3 года. Масштабируемость без замены оборудования — до 10 млрд событий в сутки. Бюджет — до 10 млн рублей с НДС.

Ограничения и требования

Все серверы — из реестра Минпромторга (компания имеет государственных партнёров и готовится к субсидированному кредиту от ФРП — требование реестра МПТ). ОС — Astra Linux или РЕД ОС. Управление кластером ClickHouse — силами собственного DBA-отдела после обучения. Срок поставки и развёртывания — 13 рабочих дней (до начала квартального промосезона).

Что предложили

Четыре вычислительных узла Yadro Vegman R660 G2 с двумя Intel Xeon Platinum 8360Y (36 ядер на сокет, 72 потока, 1 ТБ DDR4 ECC). Каждый узел несёт шесть NVMe U.2 Micron 7450 PRO 7.68 ТБ (суммарно 46 ТБ на узел, 184 ТБ на весь горячий тир после учёта репликации ClickHouse). Горячий тир покрывает 30 дней данных при ежесуточном приросте около 4 ТБ после сжатия ClickHouse 6:1.

Холодный тир для исторических данных — Aerodisk Engine N2 с 24 HDD SAS 16 ТБ Seagate Exos X18 (около 320 ТБ полезных после RAID 6), подключённый по 4×10GbE iSCSI. Данные старше 30 дней автоматически мигрируют с NVMe-тира на HDD через политику multi-volume storage ClickHouse — прозрачно для SQL-запросов.

Кластер ClickHouse: 4 шарда × 2 реплики (каждая пара соседних узлов — один шард с репликой). ZooKeeper ансамбль из 3 нод — на существующих VM ритейлера. Межузловые соединения — 100GbE через два коммутатора Eltex ESR-200 с ECMP-балансировкой и LACP failover.

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

ВИСТЛАН — авторизованный партнёр Yadro и Aerodisk. Партнёрские цены на 4 сервера Vegman R660 G2 и СХД Aerodisk Engine N2 обеспечили экономию 16% от рыночных цен — около 1,42 млн рублей. Диски Micron 7450 PRO (24 штуки) закуплены по объёмному партнёрскому прайсу дистрибьютора. Суммарная экономия по проекту превысила 1,5 млн рублей.

Этапы и сроки

Дни 1–3: профилирование 20 ключевых SQL-запросов PostgreSQL, проектирование схем таблиц ClickHouse (MergeTree, партиционирование, первичные индексы), расчёт тиеров и ёмкости. Дни 4–6: поставка серверов и СХД. Дни 7–9: монтаж в стойку, Astra Linux SE, ClickHouse 24.x, ClickHouse Keeper, настройка репликации и тиерного хранения. Дни 10–11: ETL-загрузка исторических данных (3 года из PostgreSQL), верификация записей. Дни 12–13: нагрузочное тестирование 2 млрд событий (синтетический бенчмарк + реальные запросы BI), 8-часовое обучение DBA-команды заказчика, подписание актов.

Результат

Аналитическая платформа обрабатывает 2,1 млрд событий в сутки. p50-задержка типового запроса агрегации — 1.8 секунды против 10–15 минут на PostgreSQL. Дашборды BI строятся без таймаутов; маркетинговая команда запустила 12 новых аналитических отчётов за первый месяц работы платформы. В первый промосезон после запуска оперативная корректировка цен по результатам почасовой аналитики продаж принесла 4,1% прироста маржи. Сумма поставки — 8 900 000 рублей с НДС.

Почему выбрали нас

Экспертиза ВИСТЛАН в аналитических платформах и ClickHouse (4 реализованных проекта с 2022 года), прямые партнёрские цены на Yadro и Aerodisk, опыт построения многотиерных систем хранения и практические знания оптимизации схем ClickHouse под e-commerce нагрузку — совокупность компетенций, которую заказчик не нашёл у конкурентов. Оптимизация 15 ключевых аналитических запросов и обучение DBA-команды включены в стоимость проекта.

Оптимизация схем ClickHouse под e-commerce нагрузку

В рамках проекта инженер-DBA ВИСТЛАН провёл профилирование 20 ключевых SQL-запросов маркетингового отдела (когортный анализ, воронки конверсии, ABC-анализ SKU, анализ корзин) и разработал оптимальные схемы таблиц ClickHouse. Ключевые решения: применение MergeTree с ORDER BY (user_id, date) для эффективного сканирования по пользователям, материализованные представления для топ-100 SKU (обновляются при каждой вставке, запрос к ним занимает 0.05 с вместо 3 с), партиционирование по месяцам для эффективного удаления старых данных по TTL.

Схема словарей (Dictionaries) в ClickHouse загружает справочные данные из PostgreSQL (каталог товаров, профили пользователей программы лояльности) через PostgreSQL-движок каждые 5 минут. Это позволяет JOIN-операциям в аналитических запросах не обращаться к PostgreSQL в runtime — JOIN выполняется локально внутри ClickHouse по загруженному словарю, что ускоряет JOIN-запросы с 800 мс до 12 мс.

TTL-политика настроена для автоматического управления жизненным циклом данных: события старше 30 дней перемещаются с NVMe-тира (политика 'hot') на HDD-тир Aerodisk Engine N2 (политика 'cold') через ClickHouse multi-volume storage. События старше 3 лет автоматически удаляются. Процесс TTL-перемещения выполняется фоново без блокировки запросов — производительность во время TTL-слияний снижается не более чем на 8%.

ETL и потоковая загрузка данных

Загрузка событий из operational PostgreSQL в ClickHouse реализована через Apache Kafka: в PostgreSQL установлен Debezium CDC (Change Data Capture) коннектор, публикующий каждую транзакцию в топик Kafka. ClickHouse читает из Kafka через движок Kafka Engine и вставляет данные батчами по 100 000 событий каждые 5 секунд. Задержка между событием в PostgreSQL и его появлением в ClickHouse для аналитики — не более 10 секунд. Это обеспечивает «почти реальное время» для оперативных дашбордов без нагрузки на продуктивный PostgreSQL.

Измеримый бизнес-эффект аналитической платформы

ВИСТЛАН совместно с аналитической командой ритейлера провёл оценку бизнес-эффекта от внедрения платформы ClickHouse через 3 месяца после запуска. Результаты: маркетинговая команда сократила цикл A/B-тестирования промоакций с 7 дней (ожидание аналитики PostgreSQL) до 2 дней, что позволило провести на 40% больше экспериментов за квартал. Команда категорийного менеджмента запустила еженедельную ротацию ассортимента на основе ABC-анализа в ClickHouse: доля мёртвых остатков на складах снизилась с 8,2% до 5,7% за квартал. Отдел ценообразования перешёл на ежечасный мониторинг конкурентных цен через ClickHouse вместо суточного — что позволило реагировать на изменения цен конкурентов в тот же день. По оценке финансового директора ритейлера, совокупный эффект от аналитики реального времени составил 1,2% прироста операционной прибыли в первом квартале после запуска — при стоимости платформы 8,9 млн рублей окупаемость составила менее одного квартала.

Архитектура надёжности платформы ClickHouse

Кластер ClickHouse из трёх узлов DEPO Storm 2250N5 настроен с репликацией через ZooKeeper (три ZK-узла развёрнуты на тех же серверах в виде ВМ под zVirt с изоляцией CPU и памяти). Шардирование: данные разбиты на 3 шарда (по одному на сервер) с коэффициентом репликации 2 (каждый шард реплицируется на один соседний узел). При отказе одного из трёх серверов: оставшиеся два содержат все реплики всех шардов, запросы продолжают выполняться с незначительным ростом задержки (~15%). Резервное копирование: ClickHouse clickhouse-backup на объектное хранилище S3 (ежедневный инкрементальный снапшот, хранение 30 дней, полный снапшот ежемесячно с хранением 12 месяцев). Мониторинг кластера: Grafana-дашборд с 22 ключевыми метриками ClickHouse — от реплик lag до merge queue depth.

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

Частые вопросы

Почему для аналитики выбран ClickHouse, а не традиционные СУБД?

ClickHouse — колоночная СУБД, оптимизированная для аналитических запросов по большим объёмам данных. На данных ритейла (продажи, клики, поведение) ClickHouse в 10–100 раз быстрее PostgreSQL или MySQL за счёт колоночного хранения, векторных вычислений и сжатия данных 5–10:1. Время агрегации 2 млрд строк — 1–2 секунды.

Как данные распределяются между горячим NVMe-тиром и холодным HDD СХД?

В ClickHouse используется политика multi-volume storage: «горячие» данные (последние 30 дней) хранятся на локальных NVMe-дисках узлов для максимальной скорости запросов. Данные старше 30 дней автоматически перемещаются на холодный тир СХД Aerodisk Engine N2 по HDD политике. Процесс прозрачен для SQL-запросов.

Насколько масштабируется ClickHouse-кластер на Yadro Vegman?

ClickHouse масштабируется горизонтально добавлением шардов (новых узлов). Добавление пятого узла Yadro Vegman R660 увеличивает суммарный throughput пропорционально. Задержка запроса при этом остаётся стабильной, так как данные распределяются равномерно. Кластер из 4 узлов поддерживает рост до 8–10 млрд событий в сутки без замены оборудования.

Как обеспечивается сохранность данных аналитики при отказе узла?

ClickHouse реплицирует данные между узлами через ReplicatedMergeTree с ZooKeeper/ClickHouse Keeper. Каждый шард имеет 2 реплики — при отказе одного узла данные доступны с реплики. Холодный тир на Aerodisk Engine N2 с RAID 6 защищает исторические данные независимо от состояния кластера.

Какой объём данных накапливает ритейлер за год?

2 млрд событий в сутки × 365 = около 730 млрд событий в год. При сжатии ClickHouse 8:1 и среднем размере события 200 байт — около 18 ТБ сжатых данных в год. Текущий кластер с 24 NVMe по 7.68 ТБ (горячий тир) и 384 ТБ HDD (холодный тир) обеспечивает хранение без расширения 15–20 лет истории.

Предоставляет ли ВИСТЛАН консультации по оптимизации ClickHouse-запросов?

Да, в команде ВИСТЛАН есть ClickHouse DBA с опытом оптимизации схем, индексов, партиций и материализованных представлений. В рамках проекта было выполнено профилирование 15 ключевых запросов заказчика и разработаны рекомендации по оптимизации схем таблиц. Постпроектная оптимизационная консультация — 8 часов в подарок.

Посчитайте свою экономию

При подборе под задачу и спец-ценах от производителя экономия по этому кейсу — 16%. Двигайте бюджет и смотрите вашу выгоду.

Ваш бюджет на оборудование1 000 000
100 тыс ₽20 млн ₽
Ваша экономия
160 000
Итого к оплате
840 000
Подобрать решение под мою задачу

Оценка ориентировочная. Точную цену и срок подтвердит менеджер.

Нужно похожее решение?

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

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