Яндекс ClickHouse. Быстрее некуда::Журнал СА 1-2.2017
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Контакты
   

  Опросы
1001 и 1 книга  
12.02.2021г.
Просмотров: 9600
Комментарии: 7
Коротко о корпусе. Как выбрать системный блок под конкретные задачи

 Читать далее...

11.02.2021г.
Просмотров: 9961
Комментарии: 9
Василий Севостьянов: «Как безболезненно перейти с одного продукта на другой»

 Читать далее...

20.12.2019г.
Просмотров: 17102
Комментарии: 1
Dr.Web: всё под контролем

 Читать далее...

04.12.2019г.
Просмотров: 15963
Комментарии: 13
Особенности сертификаций по этичному хакингу

 Читать далее...

28.05.2019г.
Просмотров: 16870
Комментарии: 6
Анализ вредоносных программ

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Яндекс ClickHouse. Быстрее некуда

Архив номеров / 2017 / Выпуск №1-2 (170-171) / Яндекс ClickHouse. Быстрее некуда

Рубрика: Базы данных /  Новый дистрибутив

Олег Филиппов ОЛЕГ ФИЛИППОВ, АНТ-Информ, заместитель начальника отдела разработки, comol@mail.ru

Яндекс ClickHouse. Быстрее некуда

Недавно в свободный доступ попала Open Source СУБД компании Яндекс – ClickHouse, которая обслуживает Яндекс.Метрику. Посмотрим, что это такое?

Что это такое и зачем оно нужно?

Достаточно заманчивый заголовок, который говорит о чем-то быстром и бесплатном, вызывает два традиционных вопроса: «Что это такое?» и «Как я могу это использовать?». Ответы на них могут быть разными в зависимости от того, к чему привык читатель. Начнем, пожалуй, с самого далекого от ClickHouse варианта – «мира Windows и MS SQL Server». Популярное мнение «чем дороже СУБД, тем она быстрее», мягко говоря, неверно в общем случае. Как минимум СУБД бывают OLAP и OLTP. Первые ориентированы на скорость получения данных, вторые – на параллельность работы при согласованности данных. Часто наиболее сложными механизмами в СУБД являются как раз функции многопользовательского доступа к общим данным. При этом данные должны в каждый момент времени оставаться согласованными. Поддержание этих механизмов требует существенных затрат.

В то же время в большинстве случаев такая «защитная» согласованность данных не требуется. Если вы пишете систему обмена сообщениями или собираете информацию о кликах пользователей, или загружаете товар с ценами на сайт, у вас, по сути, и нет общего ресурса, к которому нужно разделять доступ, да и пишете вы в каждый момент времени только водну таблицу. Для этих целей проще всего использовать более простые и быстрые OLAP СУБД. Но под OLAP мы привыкли понимать кубы, «in memory», перестроение, предварительную агрегацию данных… В современном мире все не совсем так.

В мире Big Data существуют совсем другие СУБД. И это не Microsoft SQL Server Enterprise, естественно, не PostreSQL, не IBM DB2, не Teradata и даже не Oracle Database. Большую часть Big Data-инфраструктуры (речь идет не о гигабайтах и даже не о терабайтах, скорее, ближе к петабайтам данных) обслуживают такие СУБД, как Facebook Presto [1], Google BigQuery [2], Apache Hive [3] и, конечно, HP Vertica [4]. В эту же категорию можно отнести и ClickHouse.

Яндекс в своем блоге очень долго рассказывал о том, чем же их Open Source СУБД лучше других [5]. В частности, провели сравнение с HP Vertica как наиболее близким попроизводительности [6]. Часть этого теста приведена на рис. 1.

Рисунок 1. Benchmark СУБД Яндекс ClickHouse и HP Vertica

Рисунок 1. Benchmark СУБД Яндекс ClickHouse и HP Vertica

Даже если не обращать внимания на сам Benchmark (он все-таки проведен Яндексом), обратите внимание на количество данных в датасете для анализа – 1 биллион. При этом примерное время выполнения запроса к данным – секунды. То есть выборка из таблицы, в которой биллион данных, занимает в среднем не более нескольких секунд! Теперь вспомните, на каких объемах у вас начинались проблемы при использовании СУБД MS SQL? Таблица с несколькими десятками миллионов записей уже часто требует отдельного обслуживания, секционирования и совсем нетривиальных действий. При этом вам вряд ли удастся достичь времени выборки в одну секунду.

Конечно, у вас, как правило, не биллионы данных, и не нужна распределенная архитектура из десятков или сотен серверов. Но уже на таблицах из миллионов записей разница вскорости будет весьма ощутимой. И не нужно никаких кубов, предварительной агрегации, данные попадают в выборку сразу после записи. И самое главное, если ранее подобные решения были «для избранных», потому что были или дороги, или сложны во внедрении, Яндекс сделал шаг к нам навстречу и решение для Big Data сделал «для всех». Чем же ClickHouse уникальна:

  • прежде всего она бесплатна. Существующие Big Data-решения, как правило, не дешевы, что ограничивало область их применения именно в Big Data;
  • ClickHouse поддерживает SQL. Конечно, где-то она расширенная, а где-то урезанная, но базовые конструкции соответствуют стандарту ANSI;
  • ClickHouse проста в установке и настройке (есть сборка под Linux Debian);
  • ClickHouse достаточно хорошо документирована, что, как правило, является редкостью для открытых проектов, рожденных внутри компании [7].

Разобравшись с тем, что такое ClickHouse и зачем она нужна, дальше, наверное, нужно рассмотреть...

Статью целиком читайте в журнале «Системный администратор», №1-2 за 2017 г. на страницах 56-58.

PDF-версию данного номера можно приобрести в нашем магазине.


  1. Facebook Presto СУБД – https://prestodb.io.
  2. Big Data СУБД от Google – https://cloud.google.com/bigquery.
  3. Apache Hive – Big Data СУБД, используемая совместно с Hadoop – https://hive.apache.org.
  4. HP Vertica – СУБД для анализа Big Data – http://www8.hp.com/ru/ru/software-solutions/advanced-sql-big-data-analytics/index.html.
  5. Заметка в блоге компании Яндекс о презентации ClickHouse – https://habrahabr.ru/company/yandex/blog/303282.
  6. Benchmark СУБД Clickhouse и HP Vertica – https://clickhouse.yandex/benchmark.html#[1000000000,["ClickHouse","Vertica","InfiniDB","Hive"],["0","1"]].
  7. Руководство пользователя ClickHouse – https://clickhouse.yandex/reference_ru.html.
  8. В разделе Download команды установки для Ubuntu – https://clickhouse.yandex.
  9. Библиотека для работы с ClickHouse из языка Python – https://github.com/Infinidat/infi.clickhouse_orm.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru