Новая эра объединенного Лейкхауса: Кто будет править? Глубокое погружение в Apache Doris против ClickHouse
Apache Doris обеспечивает унифицированную аналитику в режиме реального времени с гибкими обновлениями и высокой степенью параллелизма, превосходя ClickHouse в выполнении сложных запросов.
В связи со стремительным ростом объема данных спрос на аналитику в режиме реального времени в различных отраслях как никогда актуален. Высокопроизводительные хранилища данных являются основой анализа в режиме реального времени, позволяя предприятиям быстро получать информацию и принимать решения. Среди множества решений с открытым исходным кодом Apache Doris и ClickHouse выделяются как два наиболее заметных конкурента. В этой статье проводится подробное сравнение Apache Doris и ClickHouse, целью которого является предоставление ценной информации техническим специалистам и лицам, принимающим решения, при выборе аналитических решений в режиме реального времени.
Apache Doris
Apache Doris - это современное хранилище данных с открытым исходным кодом, основанное на архитектуре массово-параллельной обработки (MPP) и известное своей исключительно высокой производительностью обработки запросов. Разработанный для предоставления ответов на запросы за доли секунды, Doris может без особых усилий обрабатывать как точечные запросы с высокой степенью параллелизма, так и сложные аналитические рабочие нагрузки с высокой пропускной способностью. Его архитектура состоит из двух основных компонентов: внешнего интерфейса (FE) и внутреннего интерфейса (BE). FE обрабатывает запросы пользователей, анализ запросов, управление метаданными и управление узлами, в то время как BE отвечает за хранение данных и выполнение запросов — при этом данные секционируются и хранятся в нескольких репликах на разных узлах. Такая конструкция поддерживает горизонтальное масштабирование, что позволяет одному кластеру Doris управлять сотнями машин и петабайтами данных, при этом поддерживается разделение вычислений и хранилища для гибкого масштабирования и эффективного использования ресурсов.
Ключевыми особенностями Doris являются:
- Обработка данных в режиме реального времени: Поддерживает прием данных с задержкой всего в несколько секунд как с помощью push-, так и потокового методов, обеспечивая актуальность данных.
- Молниеносное выполнение запросов: для достижения высокого уровня параллелизма и пропускной способности используются столбчатое хранилище, архитектура MPP, оптимизатор затрат и векторизованный механизм выполнения.
- Федеративный запрос: Позволяет выполнять запросы к различным хранилищам данных и базам данных, упрощая процесс интеграции данных.
- Эластичная архитектура и унифицированный Lakehouse: Поддерживает разделение вычислений и хранилища и многоуровневое хранение, что не только снижает затраты, но и создает единую архитектуру lakehouse, позволяя напрямую запрашивать данные из data lake.
- Совместимость с открытой экосистемой: Высокая совместимость с протоколами MySQL и ANSI SQL, что упрощает интеграцию с различными инструментами бизнес-аналитики; он также предоставляет API-интерфейсы открытых данных для поддержки внешних движков, таких как Spark и Flink.
- Поддержка полуструктурированных данных: Обеспечивает поддержку составных типов данных, таких как массивы, карты и JSON, а также эффективную индексацию при текстовом поиске.
Эта простая, но гибкая архитектура значительно сокращает затраты как на обучение, так и на обслуживание, что делает Doris незаменимым инструментом в таких сценариях, как анализ отчетов, профилирование клиентов, ускоренные запросы к озеру данных и создание унифицированных хранилищ данных.
ClickHouse
ClickHouse - это система управления столбчатыми базами данных с открытым исходным кодом, разработанная Яндексом и предназначенная специально для онлайн-аналитической обработки (OLAP). Она известна своей превосходной скоростью обработки запросов и высокоэффективным сжатием данных, что делает ее особенно подходящей для обработки крупномасштабных наборов данных. Используя столбчатое хранилище, ClickHouse сводит к минимуму сканирование данных, повышает эффективность запросов и поддерживает горизонтальное масштабирование для решения задач анализа данных размером в петабайт.
Ключевые особенности ClickHouse включают:
- Молниеносное выполнение запросов: Оптимизировано для рабочих нагрузок с интенсивным чтением, особенно для запросов с одной таблицей.
- Эффективное хранение данных в столбцах: Достигается значительная экономия памяти и ускорение выполнения запросов благодаря высокой степени сжатия.
- Векторизованное выполнение: Использует инструкции SIMD для пакетной обработки данных, повышая общую производительность.
- Гибкие табличные движки: Предлагает различные табличные движки для удовлетворения различных требований к хранилищу и запросам.
- Совместимость с SQL: Хотя ClickHouse поддерживает SQL, близкий к стандартам ANSI, он использует свой собственный диалект SQL — некоторые расширенные функции могут потребовать дополнительного изучения.
Хотя ClickHouse отличается высокой производительностью чтения, он сталкивается с ограничениями при обработке сложных многотабличных соединений и частых обновлений данных. Операции обновления, как правило, выполняются асинхронно, что иногда может привести к проблемам с согласованностью данных. Кроме того, управление кластерами и настройка производительности могут быть более сложными, что увеличивает проблемы с обслуживанием.
Подробное сравнение функций
Чтобы наглядно сравнить сильные стороны каждой системы, мы рассмотрим несколько ключевых аспектов:
Модель данных
Apache Doris:
- Предлагает три модели данных: подробную, агрегированную и уникальную.
- Подробная модель используется для хранения необработанных данных; агрегатная модель повышает эффективность запросов за счет предварительной агрегации; уникальная модель поддерживает обновления и удаления на уровне строк, что делает ее идеальной для часто меняющихся данных.
ClickHouse:
- В основном он основан на табличных движках серии MergeTree, ориентированных на операции записи только при добавлении и оптимизацию фонового слияния.
- Хотя он поддерживает некоторые операции обновления, он менее гибок, чем Doris, для высокочастотных обновлений.
Совместимость с SQL
Apache Doris:
- Высокая совместимость с протоколом MySQL и стандартным SQL, что упрощает выполнение запросов и перенос системы, сокращая время обучения.
ClickHouse:
- Использует собственный диалект SQL, который, хотя и в значительной степени совместим с ANSI SQL, имеет некоторые отличия в расширенных функциях запросов.
Производительность в режиме реального времени и возможности обновления
Apache Doris:
- Обеспечивает получение данных в режиме реального времени с низкой задержкой и ответы на запросы за секунды.
- Использует строго согласованную модель хранения первичных ключей для поддержки синхронных обновлений и удалений, обеспечивая согласованность данных.
ClickHouse:
- Обладает высокой производительностью записи, однако его операции обновления асинхронны, что может привести к временным несоответствиям данных.
Удобство использования и обслуживания
Apache Doris:
- Отличается простой архитектурой, простотой развертывания и дружественным к MySQL интерфейсом SQL, что ускоряет внедрение и сводит к минимуму затраты на обслуживание.
- Такие функции, как автоматическое масштабирование, разделение вычислительных ресурсов и хранилища и унифицированная архитектура lakehouse, еще больше упрощают управление системой и работу с конвейерами передачи данных.
ClickHouse:
- Несмотря на то, что он обладает множеством функций, управление кластерами, балансировка нагрузки и оптимизация сложных запросов требуют более специальных знаний, что усложняет обслуживание и масштабирование.
Масштабируемость и развертывание
Apache Doris:
- Поддерживает гибкое горизонтальное и вертикальное масштабирование, при этом автоматическое гибкое масштабирование достигается за счет разделения вычислений и хранилища, что идеально подходит для создания единого хранилища данных.
ClickHouse:
- Хорошо работает при горизонтальном масштабировании, однако такие задачи, как ручная настройка для сегментирования, репликации и балансировки нагрузки, могут быть трудоемкими.
Подходящие варианты использования
Apache Doris:
- Идеально подходит для точечных запросов с высокой степенью параллелизма, сложных объединений нескольких таблиц, обновлений в режиме реального времени и создания унифицированного хранилища данных.
- Его унифицированная архитектура lakehouse позволяет напрямую обращаться к хранилищам данных, упрощая конвейеры передачи данных, сокращая объем избыточного хранилища и снижая затраты, что делает его отличным кандидатом для аналитики на уровне предприятия.
ClickHouse:
- Лучше подходит для запросов к одной таблице с интенсивным чтением, анализа журналов и временных рядов, но может быть затруднен из-за сложных объединений и необходимости обновления в режиме реального времени.
Активность сообщества и затраты на обслуживание
Apache Doris:
- Благодаря растущей активности сообщества и надежной коммерческой поддержке, простая архитектура и гибкие механизмы расширения позволяют снизить затраты на развертывание и обслуживание.
ClickHouse:
- Несмотря на развитую экосистему, ее сложность может привести к увеличению затрат на эксплуатацию и масштабирование.
Почему стоит выбрать Apache Doris?
Таким образом, Apache Doris обладает явными преимуществами в нескольких областях:
- Высокий уровень параллелизма и эффективная производительность объединения: Doris более эффективно обрабатывает сложные многотабличные объединения и сценарии с высокой степенью параллелизма.
- Гибкое обновление данных и обеспечение согласованности: Его уникальная модель и механизм синхронного обновления обеспечивают согласованность данных в режиме реального времени.
- Простая и понятная архитектура: Благодаря совместимым с MySQL интерфейсам SQL и простой архитектуре FE/BE развертывание, обслуживание и перенос данных значительно упрощаются.
- Унифицированная архитектура Lakehouse: Поддержка разделения вычислительных ресурсов и хранилища и прямой запрос к озеру данных снижают сложность конвейера передачи данных, избыточность хранилища и общие затраты, открывая путь к созданию современных унифицированных хранилищ данных.
- Поддержка на уровне предприятия и гибкая масштабируемость: Такие функции, как автоматическое масштабирование, балансировка нагрузки и развитая коммерческая поддержка, предлагают экономичное и высокопроизводительное аналитическое решение для предприятий.
Практические примеры: Apache Doris в действии
На основе примеров миграции, представленных в Doris vs. На странице ClickHouse приведены несколько убедительных примеров, иллюстрирующих преимущества перехода на Apache Doris:
- Tencent Music: Их платформа обработки данных была перенесена с ClickHouse на Apache Doris, что привело к повышению оперативности передачи данных и снижению затрат на обслуживание. Гибкие методы обработки данных Doris и надежный протокол согласования обеспечивают высокую доступность и надежность.
- Улучшенная производительность объединения нескольких таблиц: Компании сообщают о значительном повышении производительности объединения нескольких таблиц после перехода на Doris, при этом сложные запросы на объединение выполняются в 2-10 раз быстрее, чем раньше.
- Упрощены конвейеры передачи данных: Например, Kwai перешла на архитектуру lakehouse, заменив ClickHouse на Doris, что упростило передачу данных и устранило необходимость в импорте данных, поскольку Doris может напрямую запрашивать данные из data lakes.
- Улучшена производительность запросов. В различных сценариях основные бизнес-запросы выполняются в 2-3 раза быстрее, в то время как производительность сложных запросов на объединение увеличилась до 10 раз.
- Гибкое управление данными: Благодаря материализованным представлениям Doris обеспечивает улучшенное управление данными, предоставляя предприятиям более гибкий подход к управлению рабочими нагрузками в области аналитики.
В заключение отметим, что Apache Doris отличается высокой степенью параллелизма обработки, гибкими механизмами обновления данных, удобной архитектурой и инновационным подходом unified lakehouse. Для предприятий, стремящихся к эффективным запросам, обновлению данных в режиме реального времени и оптимизации конвейеров передачи данных, Doris является идеальным выбором. Благодаря растущему сообществу и усиленной коммерческой поддержке Apache Doris готов играть все более важную роль в будущем аналитики данных и способствовать цифровой трансформации бизнеса.



