[VELODB.IO]
DATANOMIX.PRO // ДОКУМЕНТАЦИЯ // VELODB

Введение в APACHE DORIS / VELODB

MPP-хранилище данных реального времени: архитектура, сценарии использования, ключевые возможности

Источник:
Apache Doris Documentation 4.x
Адаптация:
Datanomix.pro
Время чтения:
~12 мин

Что такое Apache Doris/VeloDB

Apache Doris/VeloDB — это MPP-хранилище данных в реальном времени, известное своей высокой скоростью запросов. Для запросов на больших наборах данных он возвращает результаты в подсекундах. Поддерживает как высококонкурентные точечные запросы, так и высокопроизводительный комплексный анализ. Его можно использовать для анализа отчётов, специальных запросов, унифицированного хранилища данных и ускорения запросов озера данных.

На базе Apache Doris/VeloDB пользователи могут создавать приложения для анализа поведения пользователей, платформы A/B тестирования, анализа журналов, анализа профиля пользователя и анализа заказов электронной коммерции.

Apache Doris/VeloDB, ранее известная как Palo, была изначально создана для поддержки рекламной аналитики Baidu. Проект был официально открыт в 2017 году и передан Baidu в Apache Software Foundation в июле 2018 года. В июне 2022 года Apache Doris успешно прошла инкубацию и стала проектом верхнего уровня Apache (Top-Level Project). К настоящему времени сообщество Apache Doris объединяет более 700 контрибьюторов из сотен компаний в различных отраслях, с более чем 120 ежемесячно активными участниками.

Apache Doris/VeloDB имеет широкую пользовательскую базу. Он используется в производственных средах более 5000 компаний по всему миру, включая гигантов, таких как TikTok, Baidu, Tencent и NetEase. Он также широко используется в различных отраслях от финансов, розничной торговли и телекоммуникаций до энергетики, производства, медицинского обслуживания и т.д.

// КЛЮЧЕВЫЕ ФАКТЫ
5000+
компаний в production
700+
контрибьюторов
Top-Level
Apache Project с 2022
< 1s
задержка запросов

Сценарии использования

Как показано на схеме ниже, после различных интеграций и обработки данных источники данных обычно поступают в хранилище данных в реальном времени Doris/VeloDB и офлайн-озёра данных (такие как Hive, Iceberg и Hudi).

Apache Doris — data pipeline

Apache Doris/VeloDB широко используется в следующих сценариях:

Анализ данных в реальном времени

  • Отчёты в реальном времени и принятие решений — Doris/VeloDB обеспечивает доставку обновлённых отчётов и информационных панелей для внутреннего и внешнего использования предприятия, поддержка принятия решений в режиме реального времени в автоматизированных процессах.
  • Ad-hoc анализ — Doris/VeloDB предоставляет возможности анализа данных, позволяющие быстро анализировать бизнес-аналитику и специальные запросы.
  • Профилирование пользователей и анализ поведения — Apache Doris/VeloDB может анализировать поведение пользователей: участие, удержание и конверсия, сегментация аудитории и таргетинг.

Аналитика Lakehouse

  • Ускорение запросов Lakehouse — Doris/VeloDB ускоряет запросы данных Lakehouse с помощью его эффективного механизма запросов.
  • Федеративная аналитика — Doris/VeloDB поддерживает федеративные запросы в нескольких источниках данных, упрощение архитектуры и устранение информационных силосов.
  • Обработка данных в реальном времени — Doris/VeloDB сочетает потоки данных в реальном времени и возможности обработки пакетных данных для удовлетворения потребностей бизнеса с высокой конкурентностью и низкой задержкой.

SQL-ориентированная наблюдаемость (Observability)

  • Анализ логов и событий — Apache Doris/VeloDB позволяет проводить анализ журналов и событий в режиме реального времени в распределённых системах.

Общая архитектура

Apache Doris/VeloDB использует протокол MySQL, хорошо совместим с синтаксисом MySQL и поддерживает стандартный SQL. Пользователи могут получить доступ к Apache Doris/VeloDB с помощью различных клиентских инструментов, и он легко интегрируется с BI-инструментами.

Интегрированная архитектура хранения и вычислений

Интегрированная архитектура Apache Doris/VeloDB оптимизирована и проста в обслуживании. Она состоит из двух типов процессов:

  • Frontend (FE): Отвечает за обработку пользовательских запросов, парсинг и планирование запросов, управление метаданными и задачи управления узлами.
  • Backend (BE): Отвечает за хранение данных и выполнение запросов. Данные разбиваются на шарды и хранятся с несколькими репликами в узлах BE.
Apache Doris — MPP architecture: Frontend (FE) & Backend (BE)
Роль Функция
Master Узел FE Master отвечает за операции чтения и записи метаданных. Когда изменения метаданных происходят в Master, они синхронизируются с узлами Follower или Observer по протоколу BDB JE.
Follower Узел Follower отвечает за чтение метаданных. Если узел Master выходит из строя, Follower может быть выбран новым Master.
Observer Узел Observer отвечает за чтение метаданных и используется для повышения параллелизма запросов. Он не участвует в выборах лидера кластера.

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

Разделение хранения и вычислений

Начиная с версии 3.0 можно выбрать архитектуру с разделением хранения и вычислений. Разделяя хранилище и вычисления, пользователи могут самостоятельно масштабировать ёмкость хранилища и вычислительные ресурсы.

  • Слой метаданных — Отвечает за планирование запросов, парсинг запросов, а также за хранение и управление метаданными.
  • Вычислительный слой — Состоит из нескольких вычислительных групп, каждая из которых может работать как независимый арендатор. В каждой группе несколько stateless BE-узлов, эластично масштабируемых.
  • Слой хранения — Может использовать S3, HDFS, OSS, COS, OBS, Minio и Ceph для хранения файлов данных Doris/VeloDB.
Apache Doris — compute-storage decoupled architecture

Основные возможности Apache Doris/VeloDB

Высокая доступность

В Apache Doris/VeloDB метаданные и данные хранятся с несколькими репликами, синхронизируя журналы данных через протокол кворума. Кластер остаётся доступным, даже если несколько узлов выходят из строя. Поддерживает внутризонное и межрегиональное аварийное восстановление.

Высокая совместимость

Apache Doris/VeloDB обладает высокой совместимостью с протоколом MySQL и поддерживает стандартный синтаксис SQL. Позволяет беспрепятственно мигрировать и интегрировать существующие приложения и инструменты. Поддерживает экосистему MySQL для BI-инструментов и средств передачи данных.

Приём данных в реальном времени

Apache Doris/VeloDB предлагает возможности приёма данных с задержкой в секунды. Используя векторизованные движки, архитектуру MPP и Pipeline-движок выполнения, Doris/VeloDB обеспечивает подсекундные запросы и высокопроизводительную платформу реального времени.

Единое озёрное хранилище (Unified Lakehouse)

Apache Doris/VeloDB позволяет создавать унифицированную архитектуру озерного хранилища на основе озёр данных или реляционных баз данных. Обеспечивает бесшовную интеграцию и свободный поток данных между озёрами данных и хранилищами данных.

Гибкое моделирование

Apache Doris/VeloDB предлагает модели с широкими таблицами, модели с предварительной агрегацией, схемы звезд/снежинок. Данные могут быть денормализованы через Flink или моделированы через представления, материализованные представления или соединения в реальном времени.

Технический обзор

Doris/VeloDB обеспечивает поддержку SQL, предоставляет эффективный интерфейс и полностью совместим с протоколом MySQL. Его механизм запросов основан на архитектуре MPP, способной эффективно выполнять сложные аналитические запросы с низкой задержкой. Благодаря колоночному хранению он значительно оптимизирует производительность запросов и коэффициент сжатия.

Интерфейс

Apache Doris/VeloDB использует протокол MySQL, поддерживает стандартный SQL. Беспрепятственно интегрируется с BI-инструментами: Smartbi, DataEase, FineBI, Tableau, Power BI. Может работать источником данных для любых BI, поддерживающих MySQL.

Движок хранения

Колоночный движок хранения кодирует, сжимает и считывает данные по столбцу — высокий коэффициент сжатия и эффективное использование I/O и CPU. Поддерживает индексы:

  • Sorted Compound Key Index — до трёх столбцов для формирования составного ключа сортировки
  • Min/Max — фильтрация по равенству и диапазону для числовых типов
  • BloomFilter — фильтрация столбцов с высокой кардинальностью
  • Инвертированный индекс — быстрый поиск по любому полю

Модели данных:

  • Duplicate Key Model — детальная модель данных для фактовых таблиц
  • Unique Key Model — уникальность ключей, обновление на уровне строк
  • Aggregate Key Model — предварительная агрегация для высокой производительности

Движок запросов

MPP движок для параллельных вычислений между узлами. Поддерживает распределённый shuffle join для больших таблиц.

Apache Doris — MPP Query Engine

Движок запроса полностью векторизован, все структуры данных в памяти организованы в колоночном формате. Apache Doris/VeloDB обеспечивает в 5–10 раз более высокую производительность в сценариях агрегации широких таблиц.

Apache Doris — Vectorized Engine

Apache Doris/VeloDB использует технологию адаптивного выполнения запросов для динамической корректировки плана выполнения. Runtime-фильтр поддерживает In/Min/Max/Bloom Filter.

Apache Doris — Pipeline Engine

Движок Pipeline разбивает запросы на подзадачи для параллельного выполнения, используя многоядерные ЦП. Оптимизатор использует комбинацию CBO, RBO и HBO для высокопроизводительных планов выполнения.

ХОТИТЕ УЗНАТЬ, КАК VELODB РЕШАЕТ ВАШИ ЗАДАЧИ?

> Консультация бесплатная, обязательств нет

./ЗАПРОСИТЬ_КОНСУЛЬТАЦИЮ.sh
© 2026 DATANOMIX.PRO — ЭКСКЛЮЗИВНЫЙ ПАРТНЁР VELODB В ЦЕНТРАЛЬНОЙ АЗИИ
VeloDB — Unified Data Lakehouse | Замена Oracle, Vertica, ClickHouse ГЛАВНАЯ