Глоссарий терминов по внедрению StarRocks
Архитектура и компоненты
- StarRocks — высокопроизводительная MPP (Massively Parallel Processing) аналитическая СУБД, оптимизированная для ad-hoc-запросов и BI-нагрузок. Поддерживает гибридный режим batch + real-time, легко масштабируется, совместима с MySQL-протоколом.
- MPP (Massively Parallel Processing) — архитектура, в которой вычисления выполняются параллельно на множестве узлов кластера, что позволяет быстро обрабатывать большие объемы данных. В StarRocks это распределение между BE (Backends).
-
FE (Frontend) — компонент StarRocks, отвечающий за парсинг SQL, планирование выполнения запросов, метаданные, управление пользователями и сессиями.
Риск: если FE-ноды падают, запросы не будут приниматься; рекомендуется как минимум 3 FE в HA. - BE (Backend) — компонент StarRocks, выполняющий вычисления и хранящий данные. Именно BE загружают, агрегируют и возвращают результаты FE.
- CN (Compute Node) — отдельная роль в архитектуре с разделением вычислений и хранения (Storage-Compute Separation). Используется для выделенной аналитики, сложных запросов или многопоточности.
- Follower / Observer — роли для FE: Follower участвует в консенсусе и может стать лидером, Observer — реплика только для чтения (уменьшает нагрузку на лидера).
Хранение и форматы
- Storage-Compute Separation — архитектурный подход, при котором хранение данных и вычислительные ресурсы масштабируются отдельно. В StarRocks реализуется через внешние хранилища (S3, HDFS) и Compute Nodes.
- Columnar Storage (Колончатое хранение) — способ хранения данных по колонкам (столбцам), а не по строкам, что ускоряет аналитические запросы. В StarRocks — основная модель хранения.
- Iceberg / Hive Catalog — интеграция StarRocks с внешними lakehouse-хранилищами и метахранилищами, чтобы читать данные напрямую.
- Tablet — минимальная единица хранения данных в BE, реплицируемая для отказоустойчивости.
- Bucket — логическая единица распределения данных по backend-нодам. Количество бакетов влияет на параллелизм выполнения.
Модели таблиц
- Duplicate Key — модель таблицы без агрегации: хранит все строки как есть (OLTP-подобная логика).
- Aggregate Key — модель с предагрегацией по ключам (суммы, средние и т. д.), уменьшает объем хранения.
- Unique Key — модель, где ключи уникальны, новые строки с таким ключом заменяют старые.
- Primary Key Table — модель с поддержкой upsert (обновлений и вставок) с использованием первичного ключа.
- Partitioning (Партиционирование) — разбиение таблицы по диапазону значений (например, по дате) для ускорения запросов и загрузки данных.
- Distribution Key — столбец, по которому распределяются данные между бакетами для балансировки нагрузки.
Загрузка и интеграция данных
- Broker Load — способ загрузки файлов (CSV/Parquet/ORC) из HDFS, S3, BOS и т. п. в StarRocks через отдельный процесс.
- Stream Load — API для потоковой загрузки данных по HTTP, удобно для real-time.
- Routine Load — непрерывная загрузка из Kafka, подходит для событийных данных.
- Insert Into — вставка через SQL (подходит для тестов, не для массовых загрузок).
- Spark/Flink Connector — интеграции для загрузки из Spark/Flink напрямую.
- External Table — таблица в StarRocks, которая читает данные из внешнего источника (Hive, Iceberg, Hudi).
Оптимизация и выполнение запросов
- Cost-Based Optimizer (CBO) — оптимизатор запросов в StarRocks, который строит план выполнения на основе статистики данных.
- Vectorized Execution — векторизованное выполнение запросов, обрабатывающее блоки данных вместо построчной обработки, что ускоряет выполнение.
- Pipeline Engine — модель выполнения, при которой план делится на конвейерные стадии для максимальной загрузки CPU.
- Predicate Pushdown — оптимизация, при которой фильтры применяются как можно ближе к источнику данных (уменьшает объем обрабатываемых данных).
- Materialized View (Материализованное представление) — предвычисленная таблица, ускоряющая повторные запросы.
Управление и эксплуатация
- Cluster Scaling — добавление/удаление BE/CN/FЕ-нод без простоя.
- High Availability (HA) — отказоустойчивая конфигурация с несколькими FE (лидер + follower’ы) и репликацией tablet’ов между BE.
- Replication Factor (RF) — количество копий tablet’а в кластере. Минимум для продакшна — RF=3.
- Compaction — процесс слияния мелких файлов в крупные сегменты для ускорения чтения.
- Checkpoint — сохранение состояния метаданных FE для восстановления после сбоев.
- Backup & Restore — встроенные или внешние механизмы резервного копирования.
Настройки и параметры
- FE MetaDir — путь хранения метаданных FE.
- BE Storage Root Path — путь хранения данных BE.
- Query Timeout — лимит времени выполнения запроса.
- Load Concurrency — количество параллельных загрузок.
- Tablet Size — размер сегмента хранения (обычно 512MB–1GB).
Безопасность и доступ
- RBAC (Role-Based Access Control) — ролевая модель управления доступом (в StarRocks реализована начиная с определенной версии).
- Audit Log — журнал действий пользователей.
- Kerberos/OAuth — интеграция с корпоративными системами аутентификации.
- SSL/TLS — шифрование трафика между клиентами и FE/BE.
Мониторинг и поддержка
- Metrics Endpoint — Prometheus-метрики на каждом узле для мониторинга.
- Slow Query Log — журнал медленных запросов.
- Cluster Health Check — проверка состояния FE/BE.
- Resource Group — выделение квот ресурсов на разные группы пользователей/запросов.
Риски при внедрении
- Data Skew — дисбаланс распределения данных между бакетами → одни ноды перегружены, другие простаивают.
- Hot Tablet — перегрузка отдельных tablet’ов из-за частых обновлений в одной партиции.
- Memory Spill — выгрузка промежуточных данных на диск при нехватке памяти, что замедляет запросы.
- Under-provisioning — недооценка ресурсов CPU/ОЗУ/дисков.
- Over-compaction — слишком частое слияние сегментов → лишняя нагрузка.



