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

ClickHouse - похожие решения и продукты

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

Amazon Athena

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

Apache Pinot

Apache Pinot (Incubating) — распределенное хранилище данных OLAP в реальном времени

Apache Druid

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

MongoDB

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

Сравнение ClickHouse и похожих решений

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

Posted inДайджест, Сравнение

Сравнение открытых OLAP-систем Big Data: ClickHouse, Druid и Pinot

ClickHouse, Druid и Pinot — три открытых хранилища данных, которые позволяют выполнять аналитические запросы на больших объемах данных с интерактивными задержками. «Сегментированный» подход к управлению данными в Druid и Pinot против более простого управления данными в ClickHouse определяет многие аспекты систем. Однако, важно заметить, что это различие оказывает небольшое (или не оказывает вовсе) влияние на потенциальную эффективность сжатия (впрочем, история про компрессию для всех трех систем имеет […]

Posted inДайджест, Сравнение

Сравнение производительности MongoDB vs ClickHouse

MongoDB: кросс-платформенная, документно-ориентированная база данных. Из особенностей можно отметить простой язык запросов, хорошая документация, огромное сообщество и т.д. MongoDB использует: Google, UPS, Facebook, Cisco, eBay, BOSH, Adobe, SAP, Forbes и множество других компаний. ClickHouse: кросс-платформенная, колоночная СУБД для OLAP (online обработки аналитических запросов). Особенности: Нет поддержки транзакций и нет полноценной поддержки операций UPDATE и DELETE […]

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

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

Posted inИнтеграции

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

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

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

Отзывы

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

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

Ваш адрес email не будет опубликован.