Обзор Open Source OLAP систем, работающих в режиме реального времени, 2025 год
Введение
OLAP СУБД, работающие в режиме реального времени, прошли достаточно серьезный путь с момента своего основания в 2010 году. Тогда над ними работали такие компании, как Yandex, Metamarkets и LinkedIn, которые представили своим пользователям ClickHouse, Druid и Pinot, призванные преодолеть недостатки MPP движков.
Эти специализированные базы данных, предназначенные для посекундной аналитики огромных объемов веб-журналов и данных о потоках кликов, с годами значительно расширили свой функционал.
На рынке появились новые игроки (Apache Doris ,StarRocks), стремящиеся преодолеть разрыв между традиционными OLAP-архитектурами и современными MPP-системами.
В этой статье представлен подробный обзор развивающейся экосистемы OLAP, работающей в реальном времени, а также описано текущее состояние и достижения основных OLAP-движков с открытым исходным кодом. Мы рассмотрим следующее:
- Общие сведения о системах баз данных OLAP, работающих в режиме реального времени
- Анализ текущего ландшафта и ведущих продуктов с открытым исходным кодом
- Тенденции 2024 года
- Основные функции и возможности, представленные каждым продуктом в 2024 году
- Оценку ключевых показателей открытого исходного кода, включая популярность, активность разработчиков и вовлеченность сообщества
- Подробное сравнение архитектурных подходов и основных функций
- Рекомендации по выбору и внедрению этих систем
Real-time OLAP DСУБД, работающие в режиме реального времени
OLAP-движки, работающие в режиме реального времени - это специализированные базы данных, разработанные для обеспечения сверхсекундной аналитики.
Они работают аналогично серверам кубов в традиционных BI-решениях, предварительно вычисляя метрики по различным измерениям, что позволяет выполнять drill-down и анализ данных в режиме реального времени.
Эти механизмы достигают исключительной производительности запросов за счет сочетания оптимизированного хранения и сложного индексирования при получении данных. Их архитектура рассматривает данные как неизменяемые единицы, оптимизируя их в первую очередь для операций, связанных только с добавлением и заменой данных на уровне сегментов (т. е. фрагментов данных).
Компромиссные решения
Хотя эта парадигма хранения особенно хорошо подходит для работы с журналами и событиями в денормализованном формате, она все же имеет некоторые ограничения: негибкие модели данных, лимитированные возможности объединения и высокие задержки при вводе данных.
В отличие от современных масштабируемых систем хранения на базе MPP, таких как Redshift, BigQuery и Snowflake, которые не могут выполнять запросы за доли секунды из-за архитектурных ограничений, в этих системах производительность запросов ставится на первое место.
В последние годы ClickHouse и более новые системы, такие как Apache Doris и StarRocks, выходят за рамки традиционной модели хранения OLAP в реальном времени, внедряя поддержку операций с изменяемыми данными и сложных запросов, связанных с системами хранилищ данных.
Текущий ландшафт и основные продукты, представленные на рынке данных
На следующем графике показаны сроки разработки основных OLAP-движков реального времени с открытым исходным кодом. Кроме того, здесь указано, когда каждая система была открыта ипередана в фонд Apache Software Foundation.
На рынке OLAP систем, работающих в режиме реального времени, представлено несколько основных продуктов, каждый из которых имеет свою историю развития. ClickHouse был создан в компании «Яндекс» в 2010 году, за ним последовали Apache Druid (разработанный Metamarkets в 2011 году), Apache Kylin (созданный eBay) и Apache Pinot (созданный в LinkedIn в 2013 году).
Совсем недавно данная экосистема расширилась за счет двух весомых дополнений: Apache Doris и StarRocks. Компания Baidu разработала и выложила в открытый доступ Apache Doris в 2017-2018 годах.
StarRocks возник как форк Doris, возглавляемый бывшими членами PMC Apache Doris, которые стремились устранить пробелы в дорожной карте оригинального проекта для создания современных систем аналитики, работающих в режиме реального времени.
Отличие от традиционной модели OLAP
Хотя Apache Doris и StarRocks и относятся к OLAP-системам реального времени, они все же отличаются от традиционных OLAP-подходов.
Вместо того чтобы полагаться на неизменяемые модели хранения и тяжелые методы предварительной обработки и индексирования с семантикой куба, эти системы по своей сути являются соединительным мостиком между традиционными OLAP-системами и современными архитектурами MPP (Massively Parallel Processing), такими как Amazon Redshift и Google BigQuery.
Благодаря встроенной поддержке массовых обновлений и обновлений на уровне строк, а также сложным возможностям объединения, эти системы стремятся предложить гибридное решение, сочетающее производительность OLAP в реальном времени с универсальностью аналитических платформ общего назначения.
Экосистема также включает в себя проприетарные решения, такие как Rockset и Kinetica, которые выходят за рамки данного обзора, ориентированного на открытый исходный код.
Тренды репозитория GitHub
Проекты с открытым исходным кодом часто оцениваются на основе таких ключевых показателей, как звезды репозитория, количество загрузок, активность контрибьюторов и вовлеченность репозитория, включая коммиты, релизы и проблемы (зарегистрированные и решенные).
В рамках своей работы и страсти к экосистеме открытого исходного кода я запускаю собственную небольшую аналитическую платформу для сбора, хранения и анализа событий на GitHub, чтобы отслеживать тенденции в области инженерии данных.
Популярность проекта
Основываясь на событиях Watch (Star) и Fork на GitHub, которые я использовал в качестве индикаторов интереса сообщества, могу сказать, что в 2024 неоспоримым лидером стал ClickHouse.
С 6400 новыми звездами и огромным количеством форковClickHouse опередил своих конкурентов. Второе место занял Apache Doris.
Количество форков репозитория в 2024 году:
Apache Doris и StarRocks ведут напряженную борьбу за то, чтобы привлечь внимание индустрии и получить признание в качестве ведущих гибридных OLAP-движков реального времени и хранилищ данных.
В отличие от них, Apache Pinot и Apache Druid еле-еле поспевают за ClickHouse и Doris/StarRocks. Отсутствие значительных инноваций в этих проекты в 2024 году может помешать их способности и дальше привлекать внимание рынка.
Активность кода
Активность разработчиков в 2024 году выявила определенные закономерности в разных проектах. Лидерами стали Apache StarRocks и Apache Doris, каждый из которых обработал около 30 тысяч запросов (открытых и закрытых), третье место досталось ClickHouse.
При этом ClickHouse продемонстрировал самую высокую активность приверженности коду, показав наиболее последовательную частоту нажатий и операций слияния. StarRocks и Apache Doris последовали за ним, заняв второе и третье места соответственно.
В 2024 году активность разработчиков Druid, Pinot и Kylin заметно снизилась. Хотя Druid и Pinot являются зрелыми продуктами, которые, естественно, могут требовать менее частых обновлений, снижение их активности в коде все же вызывает опасения по поводу возможной стагнации проекта.
Особенно ярко эта тенденция проявляется в Apache Kylin, где за весь год было зарегистрировано всего 150 запросов на исправление и 85 внедрений кода, что свидетельствует о значительном снижении темпов развития.
В результате Apache Kylin будет скорее всего исключен из данного исследования.
Вовлеченность пользователей
Количество проблем в репозитории - как открытых, так и решенных - служит важнейшим показателем здоровья проекта и вовлеченности сообщества в проекты с открытым исходным кодом.
Анализ данных 2024 показывает, что ClickHouse лидирует и в этом плане с наибольшим количеством зарегистрированных пользователями проблем и их решений, StarRocks и Doris также демонстрируют высокий уровень активности, занимая вторую и третью позиции соответственно.
Коллаборации проектов
ClickHouse по-прежнему сохраняет самую большую базу участников, насчитывающую более 1600 коммиттеров, зарегистрированных с момента создания проекта. Apache Doris и StarRocks продемонстрировали превосходный рост сообщества в 2024 году, привлекая большое количество новых участников.
Показатели вкладов также свидетельствуют о значительной региональной концентрации: StarRocks и Doris получили значительную поддержку от крупнейших китайских технологических компаний, включая Baidu, Tencent и Alibaba. Более 80 % вкладов в эти хранилища поступают из Китая, что свидетельствует о значительных инвестициях в данные платформы в этом регионе.
Установка
Использование продукта в отрасли можно измерить с помощью показателей загрузки и установки, загрузки Docker Hub служат особенно надежным индикатором для систем баз данных.
В этом отношении ClickHouse демонстрирует исключительные результаты - более 100 миллионов загрузок в год.
Apache Pinot и Apache Druid также достаточно широко распространены - 10 и 5 миллионов загрузок в год соответственно. Новые участники рынка, StarRocks и Doris, достигли за год вполне себе обнадеживающих результатов - 500 и 100 тыс. загрузок соответственно.
Основные тренды 2024 года
- Внедрение архитектуры с раздельным хранением и вычислениями
Распределенные OLAP-системы реального времени традиционно придерживались архитектуры «разделяй-не разделяй», характерной для современных систем хранения на базе MPP.
Однако переход отрасли к раздельным моделям хранения и вычислений заставил OLAP-системы реального времени использовать архитектуру "zero-disk ".
Эта архитектура, использующая такие решения для глубокого хранения данных, как HDFS и S3, в качестве основного уровня, обеспечивает повышенную масштабируемость и гибкость при одновременном снижении эксплуатационных расходов.
В 2024 данный подход к построению своих платформ применили такие гиганты, как StarRocks andи Apache Doris.
Ранее ClickHouse заложила основу для такого перехода, представив в версии 21.8 (август 2021 года) таблицы MergeTree с поддержкой S3, позволяющие хранить таблицы напрямую в Amazon S3 или совместимом объектном хранилище.
- Федеративная аналитика
Все более широкое распространение архитектур «озер данных» и «озерных домов» побуждает крупнейшие аналитические системы хранения данных стремиться к беспрепятственной интеграции с открытыми форматами таблиц, такими как Hudi, Iceberg и Delta Lake.
Помимо этого платформы расширяют свои возможности, поддерживая операции чтения и записи для стандартных для отрасли форматов файлов озер данных, таких как Parquet и ORC.
Современные OLAP-движки подхватили эту тенденцию, выйдя за рамки своих традиционных функций и превратившись в унифицированные аналитические платформы.
В ClickHouse, Apache Doris и StarRocks реализованы встроенные федеративные возможности, позволяющие выполнять прямые запросы к различным источникам данных, включая хранилища данных, озера данных и открытые форматы таблиц, без традиционных требований к вводу или репликации данных.
- DWH, работающий в режиме реального времени
Важной тенденцией в области работы с данными является стремление к предоставлению возможностей «хранилища данных, работающего режиме в реального времени».
Такая парадигма позволяет выполнять специальные аналитические запросы без предварительной агрегации, поддерживая сложные объединения нескольких наборов данных - функциональность, которая традиционно ставила под сомнение модели OLAP-хранилищ реального времени.
Doris и StarRocks возглавили эту трансформацию, объединив сильные стороны гибких MPP-движков (примером которых являются Redshift, Snowflake и BigQuery) с аналитическими возможностями OLAP-систем в режиме реального времени. Такой гибридный подход позволяет достичь баланса скорости, гибкости и масштабируемости.
Компания ClickHouse также пошла в этом направлении, усовершенствовав свой основной механизм для поддержки более широких рабочих нагрузок OLAP благодаря улучшенным операциям обновления и расширенным возможностям объединения.
Основные функции и улучшения, реализованные в 2024 году
Ниже представлен анализ основных функций и усовершенствований, которые быоли представлены каждой платформой в 2024 году:
ClickHouse
- Обновляемые материализованные представления: Обеспечивает периодический полный пересчет и обновление материализованных представлений по требованию.
- Кэширование удаленных файлов: повышает эффективность распределенных рабочих нагрузок за счет кэширования удаленных файлов, что значительно сокращает время доступа к данным.
- Тип данных JSON: Представленный в ClickHouse v24.8, данный тип данных значительно улучшает работу с полуструктурированными данными.
StarRocks
- Кластеры общих данных: Представлены в версии 3.3. Обеспечивают раздельную архитектуру хранения и вычислений для возможности работы с нулевым диском, используя глубокое хранилище в качестве основного слоя хранения.
- Сервис Pipe Service: Автоматизирует непрерывную загрузку файлов данных (например, Parquet) из глубоких хранилищ, таких как S3 и HDFS, в движок StarRocks.
- Унифицированный каталог: Обеспечивает федерацию запросов к таблицам Lakehouse, поддерживая прямые запросы к открытым форматам таблиц, с интеграцией с Hive Metastore или AWS Glue для обнаружения данных.
Apache Doris
- Архитектура с раздельным хранением и вычислениями: Введена в Doris 3.0.3 (декабрь 2024 г.), поддерживает S3-совместимое объектное хранилище для сохранения данных в облаке.
- Обратная запись данных: Позволяет выполнять функции DDL и DML, такие как создание таблиц и запись данных в таблицы Hive и Iceberg, непосредственно через Doris.
- Поддержка транзакций: Добавляет CRUD-операции, такие как INSERT INTO SELECT, DELETE и UPDATE.
- Материализованные представления: Внедрены асинхронные и многотабличные материализованные представления.
- Поддержка полуструктурированных данных: Расширена за счет нового типа данных VARIANT.
- Расширенные возможности интеграции с озером данных.
Apache Druid
- Улучшения в версии 30.0: Улучшенные возможности поглощения данных для Amazon Kinesis, Apache Kafka, Delta Lake, а также улучшенные интеграции с Google Cloud Storage и Azure Blob Storage.
- Централизованное управление схемами: Ускоряет работу со схемами и запуск кластера за счет сбора метаданных сегмента.
- Версия 31.0 (движок запросов Dart): Представлен новый механизм запросов, поддерживающий такие сложные рабочие нагрузки, как большие объединения и высококардинальные GROUP BY, что расширяет возможности Druid до территорий MPP (Massively Parallel Processing).
Apache Pinot
- Многоступенчатый механизм запросов: Улучшен для повышения производительности и масштабируемости.
- Улучшения Upsert и Compaction: Оптимизировано для рабочих процессов ввода данных.
- Поддержка полуструктурированных данных: Улучшена работа с данными JSON.
- Интеграция с Delta Lake: Добавлена поддержка библиотеки Delta Kernel, обеспечивающая интеграцию с Delta Lake.
Основные анонсы и возможности вендоров
В следующей таблице перечислены ключевые события, произошедшие с поставщиками SaaS, поддерживающими эти платформы с открытым исходным кодом, включая крупные анонсы, стратегические партнерства и расширение ассортимента продукции:
Сравнение основных характеристик
Системы OLAP, работающие в режиме реального времени, были подробно описаны в многочисленных сравнениях трех ведущих претендентов - ClickHouse, Druid и Pinot.
Исчерпывающий анализ Романа Левентова за 2018 год является ориентиром, подробно описывающим их архитектурные различия и возможности. Однако стоит заметить, что за последние годы эти платформы претерпели значительную эволюцию.
В следующих разделах приводится подробное сравнение этих движков по ключевым архитектурным и функциональным категориям, отражающее их современные возможности и различия.
- Архитектура системы
Все эти платформы основаны на распределенной архитектуре «share - nothing». ClickHouse, Doris и StarRocks расширили эту модель для поддержки конфигураций с общим хранилищем (нулевым диском) за счет разделения возможностей хранения и вычислений.
С точки зрения архитектуры программного обеспечения ClickHouse, Doris и StarRocks имеют более упрощенную архитектуру по сравнению с относительно сложными реализациями Apache Druid и Apache Pinot.
Doris и StarRocks особенно примечательны своей автономной конструкцией, работающей независимо от внешних системных зависимостей.
- Архитектура данных
Все продукты используют колоночные системы хранения данных, а Doris и StarRocks недавно расширили свои возможности для поддержки режимов хранения на основе строк.
Druid и Pinot отличаются своей моделью данных, ориентированной на временные ряды, в которой в качестве первичных полей раздела используются столбцы временных меток. Эти два механизма также поддерживают гибридные рабочие нагрузки (в реальном времени и пакетные) с гибкой гранулярностью сегментации.
Что касается транзакционных возможностей, то Doris и StarRocks лидируют в экосистеме по соответствию ACID, за ними следует ClickHouse. Эти платформы обеспечивают хорошую поддержку уникальности первичных ключей, атомарности и контроля параллелизма.
- Поглощение данных
OLAP-движки реального времени поддерживают два основных режима ввода данных: пакетный для обработки данных из таких источников, как озера данных, и потоковый - для обработки непрерывных потоков данных с таких платформ, как Apache Kafka.
Для загрузки данных эти механизмы в основном используют ETL (Extract, Transform, Load), выполняя преобразования во время загрузки, чтобы привести их в соответствие с неизменяемой моделью данных.
Такой подход особенно хорош для Druid, Pinot и ClickHouse, которые оптимизированы для денормализованных и предварительно агрегированных данных. Альтернативный подход ELT (Extract, Load, Transform), в котором приоритет отдается загрузке необработанных данных, в этих системах имеет определенные ограничения.
Для операций с изменяемыми данными Pinot, ClickHouse, Doris и StarRocks обеспечивают поддержку апсетов и дедупликации строк на уровне первичных ключей.
Использование внешних вычислительных фреймворков
Предлагая собственные возможности пакетного ввода данных, эти платформы интегрируются с внешними платформами, включая Hadoop (Druid, Pinot), Spark и Apache Flink, чтобы разгрузить сложные преобразования и вычисления данных во время ввода.
Кроме того, они поддерживают push-интеграцию с помощью таких фреймворков, как Kafka Connect и Flink CDC Connect, которые позволяют вводить данные с помощью специально разработанных коннекторов.
Поддержка опции внешнего хранения
Все платформы эффективно работают с форматами файлов озер данных (CSV, ORC, Parquet), а ClickHouse, Doris и StarRocks расширяют поддержку основных форматов открытых таблиц в архитектурах озер данных, в чем Druid и Pinot пока отстают.
Что касается сбора данных об изменениях (Change Data Capture, CDC) на основе журналов, ClickHouse и StarRocks предлагают подобные опции, хотя решения ClickHouse для CDC обычно требуют услуг по сбору данных на основе подписки.
Федерация запросов и интерфейсы
Как уже отмечалось ранее, ключевым достижением современных OLAP-систем является их интеграция с внешними системами хранения данных, позволяющая запрашивать данные напрямую без их предварительного ввода.
Среди пяти платформ с открытым исходным кодом лидируют ClickHouse, Apache Doris и StarRocks (благодаря своим расширенным возможностям федеративных запросов). Эти платформы поддерживают основные внешние системы хранения данных, включая озера данных, хранилища и СУБД.
Они позволяют определять внешние таблицы через файлы и каталоги в озерах данных, размещенных на HDFS и S3-совместимых платформах, и облегчают прямой запрос к открытым форматам таблиц, таким как Hudi, Iceberg и Delta Lake. Doris и StarRocks расширяют эту поддержку, включая Apache Paimon.
Обратная запись данных
Для экспорта и обратной записи данных Doris и StarRocks поддерживают запись данных в Hive и Iceberg, а ClickHouse поддерживает MySQL и Postgres.
Doris и StarRocks также расширяют возможности обнаружения данных за счет интеграции с внешними сервисами метаданных, такими как Hive Metastore и AWS Glue.
Что касается более широкой интеграции с экосистемами, ClickHouse, Druid и Pinot демонстрируют всестороннюю поддержку такой опции. Основные вычислительные платформы, включая Spark, Presto, Trino и Hive, интегрированы с этими движками, обеспечивая прямой доступ к данным.
Все платформы обеспечивают умеренную поддержку интеграции BI-инструментов.
Рекомендации
Каждый продукт на современном рынке OLAP обладает уникальными преимуществами, вытекающими из целей его первоначального проектирования и последующего развития функций.
Хотя это общее руководство по рекомендациям и служит некой отправной точкой, при сравнении и выборе продукта важна всесторонняя оценка по множеству критериев.
Развертывания малого и среднего масштаба:
В целом ClickHouse - это отличный OLAP-движок реального времени, подходящий для небольших и средних сред. Простота развертывания, управления и архитектуры делают его самым предпочтительным вариантом.
Локальные развертывания большого масштаба:
Для крупномасштабных внедрений, особенно на Hadoop или аналогичных платформах, ведущими решениями являются ClickHouse, Pinot и Druid. Окончательный выбор должен определяется конкретными требованиями к рабочей нагрузке и случаями использования.
Развертывания в облачной среде:
Облачные развертывания, использующие объектное хранилище в качестве основного слоя персистентности, могут использовать управляемые решения, такие как ClickHouse Cloud, или платформы, такие как StarRocks и Doris. Однако следует учитывать, что StarRocks и Doris представили свою раздельную архитектуру совсем недавно, поэтому следует тщательно оценить их готовность к производству.
Аналитика журналов и данные временных рядов:
Druid и Pinot демонстрируют непревзойденные результаты при обработке неизменяемых данных временных рядов, включая веб-журналы и потоки кликов. Поддержка гибридных таблиц делает их идеальными для архитектур в стиле Lambda.
Унифицированная аналитика с федерацией запросов:
ClickHouse, StarRocks и Doris отлично подходят для сценариев унифицированной аналитики, предлагая возможности федерации запросов, которые обеспечивают беспрепятственный доступ к данным из различных источников, таких как озера данных, хранилища данных и системы СУБД.
Гибридные решения для хранилищ данных и OLAP:
StarRocks и Doris занимают промежуточное положение, сочетая в себе традиционные возможности хранилища данных с производительностью OLAP в реальном времени. Они предлагают всесторонние операции CRUD, поддержку сложных соединений (включая звездную схему), а также гарантии ACID в некоторой степени.
Заключение
Со временем экосистема OLAP в реальном времени превратилась из специализированных движков для обработки данных только в приложениях в универсальные аналитические платформы. В то время как ClickHouse сохраняет свои лидирующие позиции в области развертывания систем общего назначения, новые платформы, такие как StarRocks и Apache Doris, в разы сокращают разрыв между аналитикой в реальном времени и возможностями хранилищ данных.
Внедрение раздельных архитектур и унифицированной аналитики предполагает дальнейшее развитие этого направления. Организациям следует оценить свои специфические требования к производительности, масштабируемости и интеграции, а также учесть зрелость платформы и поддержку сообщества при выборе систем с открытым исходным кодом.






















