АНАЛИТИКА ПЛЮС
Профессиональные услуги в сфере BI

ClickHouse

 

ClickHouse – аналитическая СУБД от Яндекса для обработки запросов по структурированным большим данным. ClickHouse очень быстро отвечает на аналитические запросы по обновляемым в реальном времени данным, поэтому её можно использовать в интерактивных приложениях. Система способна масштабироваться до десятков триллионов записей и петабайтов данных. Использование ClickHouse открывает возможности, которые раньше было трудно даже представить: вы можете сохранять весь поток данных без предварительной агрегации и быстро получать отчёты в любых разрезах.

Основным сценарием использования ClickHouse считается генерация аналитических запросов по структурированным данным c минимальной задержкой, фактически в режиме в режиме real time.

Главные преимущества ClickHouse:

  • скорость
  • масштабируемость
  • расширяемость
  • высокая доступность и отказоустойчивость
  • простота развертывания и удобство эксплуатации.

Рассмотрим подробнее, какие именно архитектурные и конструктивные особенности ClickHouse обеспечивают все эти достоинства.

 

Скорость

Внедрение ClickHouse на сервисе Яндекс.Метрика отмечает следующие показатели: до 1 миллиарда строк в секунду на одном сервере и до 2-х ТБ в секунду на кластере из 400 узлов.

Такая производительность достигается благодаря архитектурным особенностям ClickHouse:

— колоночное хранение данных;

— физическая сортировка данных по первичному ключу;

— векторные вычисления по участкам столбцов;

— распараллеливание операций на несколько процессорных ядер одного сервера и распределенные вычисления на кластере за счет шардирования;

— поддержка приближенных вычислений с помощью агрегатных функций, семплирования данных (выполнение запросов на части выборки), а также возможность агрегации ограниченного количества случайных ключей.

При том, что ClickHouse как OLAP-система, в первую очередь ориентирован на чтение данных, он также показывает неплохие результаты в скорости записи благодаря табличному движку MergeTree. Он концептуально похож на алгоритм LSM из Google BigTable или Apache Cassandra, но не строит промежуточные таблицы в памяти, записывая данные сразу на жесткий диск. При этом каждый вставленный пакет сортируется только по первичному ключу (primary key), сжимается и записывается на диск. Поэтому ClickHouse отлично подходит для современных корпоративных хранилищ данных или аналитических баз данных.

 

Масштабируемость

Добавление новых узлов позволяет наращивать мощность кластера до очень большого размера, способного обрабатывать петабайты данных. По умолчанию в ClickHouse возможна межцодовая репликация (Cross Data Center Replication), которая реплицирует данные между кластерами, обеспечивая защиту от сбоев и высокопроизводительный доступ к данным для глобально распределенных и критически важных Big Data приложений. За координацию процесса репликации данных отвечает Apache Zookeeper.

 

Расширяемость

ClickHouse поддерживает диалект структурированного языка запросов, близкий к стандарту ANSI SQL, c расширениями, включая массивы и вложенные структуры данных, вероятностные структуры, URI-функцию, возможности подключить внешнее key-value хранилище]. Также можно написать собственные коннекторы на любом языке программирования благодаря наличию HTTP-интерфейса. Благодаря специальным интеграционным движкам (engines) в качестве источника данных ClickHouse может использовать множество внешних хранилищ и баз данных.

 

Высокая доступность и отказоустойчивость

За счет децентрализации и отсутствия единой точки отказа, ClickHouse надежно работает в распределенном кластере. Асинхронная multi-master репликация обеспечивает реплицирование данных в фоновом режиме. СУБД поддерживает полную идентичность данных на разных репликах, автоматически восстанавливая их после сбоев. Для повышения надежности асинхронной репликации в ClickHouse возможен кворумный режим записи данных, когда она считается успешной только после того, как информация записана на несколько серверов — кворум. Так обеспечивается линеаризуемость и имитация синхронных реплик. Если количество реплик с успешной записью не достигнет заданного кворума, то запись считается не состоявшейся и ClickHouse сам удалит вставленный блок из всех реплик для обеспечения целостности данных.

 

Простота развертывания и удобство эксплуатации

Используемый в ClickHouse диалект SQL очень близок стандартному. Это снижает порог входа в технологию для аналитиков данных, для которых знание ANSI SQL является обязательным. В качестве средств подключения к СУБД можно использовать консоль, HTTP API, драйверы JDBS и ODBC, а также множество «оберток» (wrapper’ов) на Python, PHP, NodeJS, Perl, Ruby и R.

Установка ClickHouse на операционных системах Ubuntu и Debian Linux выполняется из готовых пакетов с помощью нескольких простых команд и не требует сложной настройки. Для работы СУБД в распределенном режиме требуется Apache Zookeeper, который обеспечивает координацию процесса репликации данных.

Еще в плане эксплуатации стоит отметить пониженную стоимость хранения данных по сравнению с другими колоночными СУБД. ClickHouse ориентирован именно на эффективную работу с жесткими дисками, которые намного дешевле оперативной памяти.

Вышеописанные преимущества обусловливают высокую популярность ClickHouse среди аналитиков, разработчиков, а также администраторов Big Data.

 

ClickHouse (открытый код) — это колоночная аналитическая СУБД с открытым кодом, позволяющая выполнять аналитические запросы в режиме реального времени на структурированных больших данных, разрабатываемая компанией Яндекс. Сегодня это наилучшая альтернатива.

x

Этот сайт использует файлы cookies, чтобы облегчить вам пользование нашим веб-сайтом.

Продолжая использовать этот веб-сайт, вы даете согласие на использование файлов cookies.