
Автоскейлинг StarRocks в Kubernetes: как я довел его до предела
Alex_StarRocks 14 минут назад Автоскейлинг StarRocks в Kubernetes: как я довел его до предела Простой 7 мин 416 Хранение данных * Базы данных * Kubernetes * DevOps * Высоконагруженные системы * Кейс Всем, привет! Это не...
Значимый прорыв формирует отрасль ИИ: Alex_StarRocks 14 минут назад Автоскейлинг StarRocks в Kubernetes: как я довел его до предела Простой 7 мин 416 Хранение данных * Базы данных * Kubernetes * DevOps * Высоконагруженные системы * Кейс Всем, привет! Это не глубокая техническая статья и не исследование. Тема просто не влезла в формат поста в моём Telegram-канале поэтому мы с вами тут.
Это пятничный лёгкий длиннопост про автоскейлинг StarRocks. Без глубокого погружения в архитектуру, с мЭмами и несколькими наблюдениями из практики. ПроблематикаПредставьте, 28 дней в месяц аналитический кластер/БД потребляет ресурсы равномерно.
Технические детали
Регламентные отчеты, привычные дашборды, пересчеты витрин. В среднем около 60% ресурсов. И вот наступают самые тяжелые три дня месяца.
Закрытие периода, массовые выгрузки, аналитики разом открывают отчеты. В этот момент кластеру нужно в разы больше мощности, чем обычно. Держать тройной запас постоянно дорого, потому что большую часть месяца он простаивает.
Без запаса пик упирается в потолок и запросы встают в очередь. Долгое время эту задачу решали через сайзинг под пиковую нагрузку. Если расчет делал опытный архитектор, инженер или DBA, пики просто закладывались в конфигурацию.
Отраслевые последствия
То, что большую часть времени серверы работают с низкой загрузкой, считалось платой за спокойный отчетный период. Особенно заметно это было с Exadata и похожими ПАК. Конфигурации фиксированы, шаг масштабирования крупный, поэтому нередко приходилось покупать больше ресурсов, чем требуется для повседневной нагрузки.
Режим Shared-data в StarRocks отчасти появился как раз для того чтобы эту проблему решить, полностью или частично. StarRocks и K8s спешат на помощьКлассический режим StarRocks, shared-nothing, хранит данные на локальных дисках BE-узлов: каждый узел и хранит, и считает. Добавить узел — значит перенести на него tablets и выполнить rebalance.
Это небыстрая операция. Shared-data — это режим развертывания StarRocks, при котором у вас данные лежат на едином удаленном хранилище (S3-хранилище или HDFS), а вычислительные компоненты развернуты отдельно от хранения. Вычислительные компоненты в Shared-data режиме называются Compute Node (CN).
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.





