Categories: Софт

ClickHouse — что это такое?

ClickHouse — это распределенная аналитическая столбцовая (column-oriented) СУБД созданная внутри компании Яндекс в 2012 году. Основная задача ClickHouse это выполнять аналитические запросы в режиме реального времени на структурированных больших данных.

Благодаря развитой функциональности и наличию детальной документации привели к тому, что ClickHouse постепенно распространился по многим отделам Яндекса и ClickHouse стал использоваться в Директе, Маркете, Почте, AdFox, Вебмастере, в мониторингах и в бизнес-аналитике. ClickHouse позволял либо решать задачи, для которых раньше не было подходящих инструментов, либо решать задачи на порядки эффективнее, чем другие системы. В 2016 году Яндекс принимает решение сделать СУБД ClickHouse open-source проектом, т.е. доступным всем желающим по лицензии Apache 2.0.

Область применения:

  • аналитика веб-приложений;
  • аналитика метрик в режиме реального времени;
  • мониторинг и анализ логов;
  • мониторинг и анализ данных в режиме реального времени;

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

  • ClickHouse позволяет выполнять аналитические запросы в интерактивном режиме по данным, обновляемым в реальном времени.
  • Система способна масштабироваться до десятков триллионов записей и петабайтов данных.
  • Линейная масштабируемость. Система позволяет увеличивать кластер добавлением серверов.
  • Отказоустойчивость. Система представляет собой кластер шардов, где каждый шард — это группа реплик. Используется асинхронная multimaster репликация: после записи на любую доступную реплику, данные распространяются на все остальные реплики. Для координации работы реплик используется ZooKeeper (ZooKeeper не участвует в процессе обработки и выполнения запроса).
  • Поддержка SQL. ClickHouse поддерживает диалект SQL c расширениями: массивы и вложенные структуры данных, вероятностные структуры, функция по работе с URI, возможность подключить внешнее key-value хранилище и т. д.
  • Сжатие данных.

Принципы работы

Ключевым преимуществом ClickHouse считается высокая скорость выполнения SQL-запросов на чтение (OLAP-сценарий), которая обеспечивается благодаря следующим архитектурным решениям:

  • столбцовое хранение данных, что позволяет считывать данные только из нужных колонок и эффективно сжимать однотипную информацию;физическая сортировка данных по первичному ключу позволяет быстро получать конкретные значения или диапазонов;
  • векторные вычисления по кусочкам столбцов снижают издержки на диспетчеризацию и позволяют более эффективно использовать CPU;
  • распараллеливание операций как в пределах одного сервера на несколько процессорных ядер, так и в рамках распределенных вычислений на кластере за счет механизма шардирования;
  • поддержка приближенных вычислений на части выборки, что снижает число обращений к жесткому диску и еще больше повышает скорость обработки данных.

Стоит отметить, что в отличие от других популярных столбцовых СУБД для Big Data, которые работают только в оперативной памяти, ClickHouse работает с жесткими дисками (HDD, SSD). Это снижает стоимость эксплуатации системы, поскольку жесткие диски дешевле RAM. При работе в кластере данные реплицируются асинхронно в фоновом режиме с поддержкой полной идентичности на разных репликах. Apache ZooKeeper используется для координации процесса репликации, но не участвует в обработке данных и выполнения запросов. При сбое в большинстве случаев восстановление данных происходит автоматически. По желанию можно включить кворумную запись данных. Кластер ClickHouse масштабируется линейно путем добавления новых узлов. Так же ClickHouse поддерживает диалект SQL c расширениями, такими как массивы и вложенные структуры данных, вероятностные структуры, возможность подключить внешнее key-value хранилище.

Недостатки

  • Отсутствие полноценных транзакций.
  • Возможность изменять или удалять ранее записанные данные с низкими задержками и высокой частотой запросов не предоставляется. Есть массовое удаление и изменение данных для очистки более не нужного или соответствия GDPR.
  • Разреженный индекс делает ClickHouse плохо пригодным для точечных чтений одиночных строк по своимключам.

Вывод

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

admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

1 месяц ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

1 месяц ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

1 месяц ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

1 месяц ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

1 месяц ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

1 месяц ago