Первоначальное знакомство и использование StarRocks
Первоначальное знакомство и использование StarRocks

Официальная документация: https://docs.starrocks.io/zh/docs/quick_start/

Краткое руководство: https://docs.starrocks.io/zh/docs/quick_start/shared-nothing/

Китайское сообщество: https://forum.mirrorship.cn/

StarRocks это продукт, основанный на MPP(Massive Parallel Processing) — продукт распределенного хранилища данных с архитектурой, предназначенный для предоставления предприятиям высокопроизводительных и недорогих решений для анализа данных. Стар Рокс поддерживать ANSI SQL, доступен в основной версии BI Инструменты легко интегрируются и подключаются к нескольким источникам данных для удовлетворения разнообразных потребностей предприятий в данных. Полностью поглотите тип отношений OLAP Отличные достижения в области баз данных и распределенных систем хранения. Его архитектура проста и использует комплексный механизм векторизации Совместимость. с протоколом MySQL поддерживает стандарт SQL Грамматика: вы можете создавать различные модели, включая большие широкие таблицы, модели звезд и модели снежинок.

характеристика

Совместимость с протоколом MySQL

StarRocks Совместимость с протоколом MySQL,поддерживатьстандартный SQL. Пользователи могут легко пройти MySQL Клиент подключается к StarRocks Запрашивайте и анализируйте данные в режиме реального времени.

Живой импорт

StarRocks Он может импортировать задержки в течение нескольких секунд и предоставлять возможности обслуживания в квазиреальном времени. Стар Рокс Механизм хранения может обеспечить точность каждой операции при импорте данных. КИСЛОТА. Данные импорта пакета вступают в силу атомарно: либо весь импорт успешен, либо все не выполнен. Параллельные транзакции не влияют друг на друга и обеспечивают внешние Snapshot Isolation уровень изоляции транзакции.

Оптимизатор CBO

StarRocks Разработан и внедрен новый оптимизатор затрат с нуля. CBO(Cost Based Оптимизатор). Оптимизатор — это Cascades Like , при проектировании, для StarRocks Комплексный векторизованный механизм выполнения был глубоко настроен и претерпел множество оптимизаций и инноваций. Оптимизатор внутренне реализует повторное использование общедоступных выражений, переписывание коррелированных подзапросов, Join,Join Reorder,Join Распределенный выбор стратегии изучения, оптимизация словаря малой мощности и другие важные функции и оптимизация. На данный момент оптимизатор полностью поддерживается TPC-DS 99 полоска SQL заявление.

Из-за нового CBO изподдерживать,StarRocks может выполнять запросы, связанные с несколькими таблицами, лучше, чем аналогичные продукты.,Особо сложные запросы, связанные с несколькими таблицами,Позволяет полностью векторизованному движку достичь максимальной производительности.

Озеро аналитических данных

использовать StarRocks Унифицируйте управление озерами и хранилищами данных и разместите предприятия с высокими требованиями к параллельной работе и работе в режиме реального времени в StarRocks Средний анализ, также можно использовать External Catalog ивнешний столПроведение озера данныхизанализировать。

StarRocks Он не только может эффективно анализировать данные локального хранилища, но также может использоваться в качестве механизма вычислений для непосредственного анализа. аналитических данныесерединаизданные. Пользователи могут StarRocks предоставил External Каталог, простой запрос хранится в Apache Hive、Apache Iceberg、Apache Hudi、Delta Lake Если данные находятся в озере данных, миграция данных не требуется. Система хранения включает в себя HDFS, S3, OSS, поддерживаются форматы файлов, включая Parquet、ORC、CSV。

Как показано на рисунке выше, в сценарии анализа озера данных StarRocks Он в основном отвечает за расчет и анализ данных, а озеро данных в основном отвечает за хранение, организацию и обслуживание данных. использование из преимуществ существующее можно использовать в открытом формате хранения, гибком и изменяемом schema определяется таким образом, чтобы это позволяло BI/AI/Adhoc/отчетность и другие сервисы унифицированы single source of правда. и StarRocks Будучи вычислительным механизмом озера данных, он может полностью использовать механизм векторизации и CBO Эти преимущества значительно повышают производительность анализа озера данных.

Catalog

Catalog разделен на Internal catalog и External catalog。Internal catalog это внутренний каталог данных, используемый для управления импортом в StarRocks Данные в и внутренних материализованных представлениях и т. д. Каждый кластер имеет ровно один именованный default_catalog из Internal каталог, содержащий одну или несколько баз данных. Стар Рокс Храните данные как хранилище данных,Может значительно улучшить производительность запросов,Специально для сложных запросов и анализа крупномасштабных данных.

External catalog Это внешний каталог данных, используемый для подключения данных в озере данных. Вы можете использовать StarRocks В качестве механизма запросов можно запрашивать данные на озере напрямую, не импортируя данные в StarRocks。

техническая спецификация

StarRocks серединаизповерхностьразделен на Две категории:внутренняя таблицаивнешний стол。

внутренняя таблица

внутренняя таблица принадлежит Internal catalog из базы данных, хранилище данных существует StarRocks середина。внутренняя Таблица состоит из строк и столбцов, и каждая строка данных представляет собой полоску записи.

Примечание

здесьвнутренняя таблицыиз строк и столбцов существуют логические понятия StarRocks серединаданные фактическиеда Хранить в столбцахиз。физически,Столбец данных будет подвергаться таким операциям, как блочное кодирование и сжатие.,Затем сохраните хранилище.

существовать StarRocks , в соответствии с типом ограничения внутри Существует четыре типа таблиц.,Это таблица первичного ключа, таблица подробностей, таблица агрегации и таблица обновления.,Подходит для хранения и запроса данных в различных бизнес-сценариях.,Например, исходный журнал、данные в реальном времени、и агрегированные данные.

внутренняя таблица принимает раздел + сегмент из двух уровней Стратегия распределения данных, чтобы добиться равномерного распределения данных. И корзины равномерно распределяются в виде множества копий по BE узлы для обеспечения высокой доступности данных.

внешний стол

внешний столда External catalog В таблице фактические данные хранятся во внешнем источнике данных StarRocks. Сохраняйте только таблицу, соответствующую метаданным, вы можете передать внешний стол Запрос внешних данных.

Выполните DESCRIBE, чтобы просмотреть структуру таблицы.

StarRocks предоставляет четыре типа таблиц,Включая подробную таблицу, таблицу первичного ключа, таблицу агрегации и таблицу обновления.,Подходит для хранения различных бизнес-данных.,Например, необработанные данные, часто обновляемые в режиме реального времени данные и агрегированные данные.

  • список Простой и удобный в использовании,Данные в таблице не имеют ограничений,Одна и та же строка данных может сохраняться повторно. Эта таблица подходит для хранения необработанных данных, не требующих ограничений и предварительной агрегации.,Например, журналы и т. д.
  • таблица первичных ключей Сильная способность,Имеет уникальное ненулевое ограничение. Таблица может одновременно поддерживать обновления в реальном времени, частичные обновления столбцов и другие сценарии.,Гарантированная производительность запросов,Подходит для запросов в реальном времени.
  • Таблицы агрегации подходят для хранения предварительно агрегированных данных.,Может уменьшить объем данных, необходимых для сканирования и вычислений во время запросов агрегации.,Значительно повысить эффективность совокупного запроса.
  • Таблица обновлений подходит для бизнес-сценариев обновления в реальном времени.,Постепенно она была заменена таблицей первичных ключейзаменять。

потому чтотаблица первичных Стратегия группировки ключей только для подтверждения — это хэш-группировка,Так что вам тоже нужно пройти DISTRIBUTED BY HASH () Определите ключ хэш-ведра.

существовать реальный бизнес-сценарий,Для ускорения запросов и управления данными,При создании таблицы первичного ключа,Обычно используются такие функции, как распределение данных и ключи сортировки.

с 3.0 Таблица первичного ключа разделяет первичный ключ и ключ сортировки, поэтому вы можете использовать столбцы, которые часто используются в качестве фильтров запроса, для формирования ключа сортировки. Предполагая, что вы часто запрашиваете продажи продуктов на основе даты заказа и измерений комбинации продавцов, вы можете использовать ORDER BY (dt,merchant_id) Укажите ключ сортировки как dt и merchant_id

Уведомление,Если тыиспользовать ПонятноСтратегия распределения данных,Поскольку текущая таблица первичного ключа требует, чтобы первичный ключ включал столбцы разделов и столбцы сегмента.,Предположим, чтоиз Стратегия распределения данныхда Воля dt в качестве столбца секционирования и merchant_id В качестве столбца хеш-корзины первичный ключ также должен включать dt и merchant_id

Представления и материализованные представления

материализованный вид разделить на Синхронное материализованное представление и асинхронное материализованное представление. Среди них асинхронные материализованные представления являются более мощными и могут хранить данные на основе нескольких базовых таблиц (внутренняя таблица). таблицаивнешний стол) из предварительно вычисленных результатов и богатых операторов агрегирования.

StarRocks поддерживатьпользовательиспользоватьматериализованный вид(materialized view) для ускорения запросов и стратификации хранилища данных. В отличие от некоторых аналогичных продуктов, в которых материализованные представления требуют ручной синхронизации данных с исходной таблицей, StarRocks из Материализированные представления могут автоматически обновлять данные на основе исходной таблицы. Пока данные исходной таблицы изменяются, обновление материализованного представления также выполняется одновременно. Никакие дополнительные операции обслуживания не требуются, чтобы гарантировать, что материализованное представление остается согласованным с исходной таблицей. Мало того, выбор материализованного представления также выполняется автоматически. Стар Рокс существуют При выполнении планирования запроса, если существует подходящее материализованное представление, которое может ускорить запрос, StarRocks с Автоматически выполнять переписывание запроса (запрос rewrite), автоматически позиционирует запрос в наиболее подходящее материализованное представление для ускорения выполнения запросов.

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

StarRocks материализованные представления могут заменить традиционные ETL Процесс моделирования,Пользователям не нужно выполнять преобразование данных в вышестоящем приложении.,Преобразование данных может быть выполнено, когда существуетиспользовать материализованное представление.,Упрощенный процесс обработки данных.

Например, на рисунке нижний слой ODS данные изLake могут быть переданы External Catalog MV строить DWD слойиз normalized таблица и может быть связана через несколько таблиц из материализованного представления; DWS Таблица ширины слоев (denormalized table); верхний уровень может дополнительно создавать материализованные представления в реальном времени для поддержки запросов с высоким уровнем параллелизма и обеспечения более высокой производительности запросов.

View — гибкий инструмент запросов.,Он может виртуально объединять несколько таблиц вместе. Пользователи могут просто запрашивать операции через представления.,Нет необходимости понимать основную физическую структуру таблицы и распределение данных. также,Представления также могут быть настроены в соответствии с потребностями пользователя.,Обеспечьте более гибкую функцию запроса.

Материализованные представления используются для объединения нескольких таблиц и операций расширенного агрегирования. Материализованные представления — это предварительно вычисленные и сохраненные представления.,Может быстро изучить сложные операции запроса. отличается от представления,Материализованные представления могут хранить фактические результаты данных.,Тем самым улучшая скорость запроса. также,Материализованные представления также предоставляют различные сценарии перезаписи запросов.,Вы можете выполнить запрос автоматически или прозрачно переписать оператор запроса.,Для повышения эффективности запросов.

Представляя Представления и материализованные представлениядве технологии,StarRocks обеспечивает более эффективные операции запросов и более сложные задачи обработки данных. Эти две технологии предоставляют пользователям удобные и быстрые услуги запроса и обработки данных.,Тем самым улучшая общую производительность и эффективность запроса данных.

Материализованные представления SR (т.е. материализованные представления) будут занимать дополнительное место для хранения. По описанию в результатах поиска,Каждое новое материализованное представление — это дополнительная нагрузка на хранилище. поэтому,Хотя материализованные представления могут повысить производительность запросов и снизить потребление ресурсов.,Но им требуется дополнительное пространство для хранения предопределенных результатов запроса. так,существоватьиспользоватьматериализованный видчас,Необходимо разумно контролировать количество материализованных просмотров.,Чтобы избежать чрезмерной нагрузки на хранилище.

Ссылка: https://tech.qimao.com/starrockszhi-shi-tu-ji-wu-hua-shi-tu-de-shi-jian/

Routine Load

Routine Загрузка — это технология импорта данных, в основном используемая для непрерывного импорта данных из очередей сообщений, таких как Kafka, в базу данных, поддерживающую эту технологию, например Apache. Дорис и Стар Рокс. Ниже приводится процедура Загрузка Некоторые ключевые характеристики и основные принципы:

  1. Постоянно потребляйте данные:Routine Нагрузка будет продолжать использовать Kafka Данные темы и записать их в базу данных.
  2. Домашнее задание и задачи:создаватьRoutine После задания загрузки резидентное задание импорта (загрузка задание) и несколько задач импорта (загрузка задача). Задание импорта — это постоянно выполняемая задача, отвечающая за непрерывное использование данных в Kafka, в то время как задача импорта является подразделением задания импорта как независимой базовой единицы импорта с помощью Stream; Режим загрузки записывается на бэкэнд (BE).
  3. Процесс импорта:ClientКFrontend(FE)представлять на рассмотрениеRoutine Загрузка задания, FE передает задание Планировщик будет подпрограммировать Задание загрузки разделено на несколько процедур. Задачи загрузки, эти задачи рассматриваются как поток на бэкенде (BE). LoadИмпортировать задачи,Отчет в FE после завершения импорта,FE продолжает создавать новые задачи или повторять неудачные задачи на основе результатов отчета.
  4. утверждение формата данных:Routine Loadподдержка использует данные из Kafka в формате CSVиJSON.
  5. использоватьпредел:Routine Загрузка поддержки без аутентификации из доступа Kafka и через аутентификацию SSL из кластера Kafka. Формат сообщения подтверждения: текстовый формат CSV или JSON.,И каждое сообщение в CSV — это одна строка.,Конец строки не содержит символа новой строки.
  6. Семантика «Ровно один раз»:Routine Загрузка — это задание потокового импорта, утверждение Семантика «Ровно один раз», гарантируя, что данные не будут потеряны или дублированы.
  7. SQL-контроль:пользовательможет пройтиSQLкомандное управлениеRoutine Задача загрузки приостанавливается, продолжается и останавливается.

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

Установка и использование

Язык кода:javascript
копировать
docker run -p 9030:9030 -p 8030:8030 -p 8040:8040 -itd \
--name quickstart starrocks/allin1-ubuntu

docker exec -it quickstart \
mysql -P 9030 -h 127.0.0.1 -u root --prompt="StarRocks > "

show databases;

Управление кластером

Управление конфигурацией

Параметры КЭ делятся на динамические параметры и статические параметры.

  • Динамические параметры могут передаваться SQL команда продолжитьсуществоватьконфигурация линиии Корректирование,Удобно и быстро。Нужно обратить внимание, чтобы пройти SQL Команда сделанная из динамических настроек сохраняется перезапуск FE Позже он станет недействительным. Если вы хотите, чтобы настройки вступили в силу в течение длительного времени, рекомендуется изменить их одновременно. fe.conf документ.
  • Статические параметры должны существовать FE Конфигурационный файл fe.conf середина Настроитьи Корректирование。После завершения настройки необходимо перезапустить FE, чтобы изменения вступили в силу.

Можно ли передать параметр, является ли параметр динамическим. ADMIN SHOW CONFIG Возвращенные результаты находятся в из IsMutable вид столбца。TRUE Представляет динамические параметры.

Могут передаваться как статические, так и динамические параметры. fe.conf Файл модифицирован.

Ссылка: https://docs.starrocks.io/zh/docs/administration/management/FE_configuration/

Язык кода:javascript
копировать
ADMIN SHOW FRONTEND CONFIG;
Язык кода:javascript
копировать
ADMIN SHOW FRONTEND CONFIG LIKE '%check_java_version%';
Язык кода:javascript
копировать
ADMIN SET FRONTEND CONFIG ("key" = "value");

Настройка производительности

https://docs.starrocks.io/zh/docs/administration/Query_planning/

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose