Что такое StarRocks DB

Обновлено и опубликовано Опубликовано:

StarRocks DB —
простыми словами

распределенная база данных, разработанная для аналитики среди больших объемов данных в режиме реального времени. Она оптимизирована для выполнения сложных OLAP (Online Analytical Processing) запросов. Основные компоненты приложения разработаны с использованием языка программирования C++, в то время, как веб-сервисы работают на Java.

Ключевые особенности StarRocks:

  1. Колоночное хранение данных.
  2. Высокая производительность при выполнении OLAP-запросов.
  3. Возможность горизонтального масштабирования для обработки увеличивающихся объемов данных.
  4. Интеграция с различными источниками данных: поддержка подключения к различным системам хранения и обработки данных.

Сервер StarRocks может быть развернут в виде контейнера docker или kubernetes, что позволяет легко управлять и масштабировать систему в облачных или локальных средах. Также StarRocks может быть скомпилирован из исходников для Linux (Ubuntu или RHEL). Клиентом может выступать любое ПО, поддерживающее драйвер MySQL, например MySQL Client, DBeaver или MySQL Workbench. Подробнее ознакомиться с программным продуктом можно на странице документации официального сайта.

StarRocks можно поставить в один ряд с такими приложениями, как ClickHouse, Trino, Greenplum и Doris. Они являются базами, оптимизированными для быстрого выполнения аналитических запросов в режиме онлайн. Однако, у каждой из них есть и свои особенности:

  • StarRocks лучше подходит для сценариев с низкой задержкой и высокой производительностью запросов, особенно в контексте озер данных. Также она демонстрирует лучшую производительность в однотабличных тестах и имеет преимущество при работе с многотабличными ассоциациями.
  • ClickHouse лучше подходит для сценариев с плоскими таблицами и минимальными изменениями размерных данных. Также она хорошо справляется с большими объемами данных и поддерживает OLAP-запросы.
  • Trino является более универсальным решением для аналитики, объединяющей данные из различных источников. Также может использоваться в качестве интерфейса к различным хранилищам.
  • Doris может работать в режиме близком к реальному времени, но для точечных запросов.
  • Greenplum больше ориентирован на традиционное хранение данных и пакетную обработку, но также поддерживает OLAP-запросы.

StarRocks может управлять данными, предоставляемыми открытым форматом Apache Iceberg (обеспечивает управление версиями и схемами данных).

Для сетевого взаимодействия база использует следущие порты:

а) Frontend:

  • 8030 — веб-интерфейс для просмотра состояния.
  • 8080 — обратный прокси на базе nginx, который перенаправляет запросы на Frontend или Backend в зависимости от адреса.
  • 9010 — может использоваться для дополнительных сервисов или функций в зависимости от конфигурации вашего развертывания.
  • 9020 — может быть использован для внутренних процессов или дополнительных сервисов в зависимости от конфигурации.
  • 9030 — основной порт для обработки SQL-запросов от клиентов и взаимодействия с базой данных.

б) Backend:

  • 8040 — HTTP API (RESTful).
  • 8060 — управление метаданными и координации между узлами кластера.
  • 9050 — взаимодействие с другими узлами кластера (порт службы heartbeat).
  • 9060 — для взаимодействия с клиентами через JDBC и ODBC (bRPC порт).
  • 9070 — обмен данными между узлами кластера, аналогично порту 9050.


Дмитрий Моск
— IT-специалист.
Настройка серверов, услуги DevOps.

Другие термины

GitLab   API   Javascript   Keycloak   ЦОД   RTSP   InfluxDB   WordPress   Биткоин   Hashicorp Vault   MX-запись   QR-код   7-zip   NTP   Утилита   SpamAssassin   HTTP/2   PHP-FPM   BIND   Fail2ban  
.....

Реклама