ClickHouse

ClickHouse — столбцовая система управления базами данных (СУБД) для онлайн обработки аналитических запросов (OLAP)

Официальный сайт

Описание

ClickHouse — высокопроизводительная аналитическая СУБД с открытым исходным кодом.

Особенности ClickHouse

  • ClickHouse позволяет выполнять аналитические запросы в интерактивном режиме по данным, обновляемым в реальном времени.
  • Система способна масштабироваться до десятков триллионов записей и петабайтов данных.
  • Использование ClickHouse открывает возможности, которые раньше было трудно даже представить: вы можете сохранять весь поток данных без предварительной агрегации и быстро получать отчёты в любых разрезах.
  • ClickHouse разработан в Яндексе для задач Яндекс.Метрики — второй по величине системы веб-аналитики в мире.
  • Действительно столбцовая СУБД. Рядом с данными не хранятся другие величины, например, в ClickHouse поддерживаются значения постоянной длины, чтобы не хранить рядом размер типа.
  • Линейная масштабируемость. Система позволяет увеличивать кластер добавлением серверов.
  • Отказоустойчивость. Система представляет собой кластер шардов, где каждый шард — это группа реплик. Используется асинхронная multimaster репликация: после записи на любую доступную реплику, данные распространяются на все остальные реплики. Для координации работы реплик используется ZooKeeper (ZooKeeper не участвует в процессе обработки и выполнения запроса).
  • Способность работать с большими данными (триллионы записей и петабайты данных).
  • Поддержка SQL. ClickHouse поддерживает диалект SQL c расширениями: массивы и вложенные структуры данных, вероятностные структуры, функция по работе с URI, возможность подключить внешнее key-value хранилище и т. д.
  • Высокая эффективность работы. Векторные вычисления; данные не только хранятся по столбцам, но и обрабатываются по векторам (кусочкам столбцов), за счёт чего достигается высокая эффективность по CPU; наличие функциональности для семплирования и приблизительных вычислений; параллельная и распределенная обработка запросов (в том числе JOIN’ов).
  • Сжатие данных.
  • СУБД оптимизирована для работы на HDD-дисках. Можно обрабатывать данные, которые не помещаются в оперативную память.
  • Разнообразные клиенты для подключения к БД. Для работы с базой данных можно использовать консольный клиент, HTTP API и ряд wrapper’ов на Python, PHP, NodeJS, Perl, Ruby и R. Также для ClickHouse есть JDBC и Golang драйверы.

 

Применение ClickHouse

  • ClickHouse разрабатывался для OLAP сценария работы:
    • в системе несколько слабо связанных таблиц с большим количеством параметров/столбцов (порядка сотен);
    • запросы могут использовать большое количество строк, но только небольшое подмножество столбцов;
    • в основном, запросы на чтение и достаточно редкие (обычно не более 100 rps на сервер);
    • при выполнении простых запросов, допустимы задержки в районе 50 мс;
    • значения в столбцах достаточно мелкие — числа и небольшие строки (пример — 60 байт на URL);
    • требуется высокая пропускная способность при обработке одного запроса (до миллиардов строк в секунду на один сервер);
    • результат выполнения запроса существенно меньше исходных данных — то есть, данные фильтруются или агрегируются;
    • сравнительно простой сценарий обновления данных, обычно только добавление данных пачками; нет сложных транзакций.
  • ClickHouse не подходит для транзакционных систем, OLTP задач и использования как хранилища типа «ключ-значение» или в качестве документоориентированной системы.
  • Один из типичных сценариев использования ClickHouse — это анализ серверных логов. После настройки регулярной поставки серверных access или других логов (рекомендуется записывать строки батчами более 1000 записей) можно с помощью SQL запросов анализировать инциденты и мониторить метрики сервиса, такие как число ошибок, время ответа и т. д.
  • ClickHouse — это внутреннее хранилище данных для аналитиков. В ClickHouse можно сложить данные из различных систем (например, Hadoop или просто логи) и строить по ним отчеты для бизнес-нужд.
Информация была полезна для вас?

Расскажите пожалуйста что мы можем улучшить?

Аналоги и Альтернативы для ClickHouse

Ключевые Особенности: OLAP БД

Amazon Athena

Amazon Athena – это интерактивный сервис запросов, позволяющий просто анализировать данные в хранилище Amazon S3 с помощью стандартного SQL

Продолжить чтение Amazon Athena

Apache Druid

Druid - это ориентированное на столбцы распределенное хранилище данных с открытым исходным кодом, написанное на Java

Продолжить чтение Apache Druid

MongoDB

MongoDB — документоориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц. Классифицирована как NoSQL, использует JSON-подобные документы и схему базы данных. Написана на языке C++

Продолжить чтение MongoDB

Сравнение ClickHouse и др. решений

Рассмотрим плюсы и минусы, преимущества ClickHouse относительно других решений

Смотреть все сравнения с ClickHouse

Интеграции для ClickHouse

Интеграция Cube.js и ClickHouse для создания отчетов и панелей управления

Cube.js - это модульная структура с открытым исходным кодом для создания аналитических веб-приложений. Он в основном используется для создания внутренних инструментов бизнес-аналитики или для добавления аналитики, ориентированной на клиента, в существующее…

Продолжить чтение Интеграция Cube.js и ClickHouse для создания отчетов и панелей управления
Смотреть все интеграции с ClickHouse

Отзывы

Плюсы и минусы продукта

Отзывов пока нет.

Будьте первым, кто оставил отзыв на “ClickHouse”

Ваш адрес email не будет опубликован. Обязательные поля помечены *