SlideShare una empresa de Scribd logo
1 de 32
Немного про ClickHouse
Обо мне
Алексей, разработчик ClickHouse.
С 2008 занимался движком обработки
данных в Яндекс.Метрике.
История
Яндекс.Метрика — сервис веб-аналитики.
В России первый, в мире — второй.
Ежедневно приходит ~25 млрд. событий.
Надо показывать отчёты в реальном времени.
Старая Метрика (2008–2014)
Всё отлично работало. Пользователь мог
получить примерно 50 разных отчётов.
Но есть проблема. Нам хочется большего.
Чтобы каждый отчёт был сколь угодно
кастомизируемым.
Конструктор отчётов
Быстро сделали прототип и на его основе
реализовали "Конструктор отчётов".
Это 2010 год.
Стало понятно, куда двигаться дальше.
Нам нужна хорошая column-oriented DBMS.
Почему column-oriented?
Так работают row-oriented системы:
Почему column-oriented?
Так работают column-oriented системы:
Почему ClickHouse?
Ничего готового не подошло.
Тогда мы сделали ClickHouse.
"Эволюция структур данных в
Яндекс.Метрике"
https://habrahabr.ru/company/yandex/blog/273305/
Метрика 2.0
Коротко
● column-oriented
● линейная масштабируемость
● отказоустойчивость
● загрузка данных в реальном времени
● онлайн (sub-second) запросы
● поддержка диалекта SQL + расширения
(массивы, вложенные структуры данных, domain-
specific функции, сэмплирование)
Основной кластер Метрики
● 18.3 триллионов строк
● 426 серверов
● скорость обработки данных до двух
терабайт в секунду
* Если вы хотите попробовать ClickHouse, достаточно и одного сервера.
ClickHouse в Яндексе
● Нам удалось сделать систему сравнительно удобной.
●
С самого начала мы имели подробную документацию.
●
В течение пары лет ClickHouse распространился по другим
отделам Яндекса.
●
Почта, Маркет, Директ, Вебмастер, AdFox, Инфраструктура,
Бизнес аналитика...
● Есть случаи, когда аналитики самостоятельно устанавливали
ClickHouse на виртуальные машины и успешно использовали
без каких-либо вопросов.
Open-source
Потом мы решили — ClickHouse слишком
хорошая система, чтобы нам одним на нём
сидеть.
Чтобы было веселее, надо подсадить на
ClickHouse людей снаружи, пусть радуются.
Решили сделать open-source.
Open-source
Лицензия Apache 2.0 — минимум
ограничений.
Цель — максимальное распространение
продукта.
Мы хотим, чтобы продуктом Яндекса
пользовались по всему миру.
См. “Яндекс открывает ClickHouse”
https://habrahabr.ru/company/yandex/blog/303282/
Когда надо использовать
ClickHouse
Хорошо структурированные, очищенные,
неизменяемые события.
Click stream. Веб-аналитика. Рекламные сети.
RTB. E-commerce.
Аналитика онлайн игр. Данные сенсоров и
мониторингов. Телеком данные.
Финансовые транзакции. Биржевая аналитика.
Когда не надо использовать
ClickHouse
● OLTP.
В ClickHouse нет UPDATE и полноценных транзакций.
● Key-Value.
Если нужны частые запросы на обновление по ключу,
используйте другое решение.
● Blob-store, document oriented.
ClickHouse предназначен для большого количества мелко-
гранулированных данных.
● Излишне нормализованные данные.
Лучше сделать широкую таблицу фактов.
Почему ClickHouse такой
быстрый?
От безысходности.
Яндекс.Метрика должна работать.
Почему ClickHouse такой
быстрый?
● Алгоритмическая оптимизация.
MergeTree, локальность расположения данных на диске
— быстрые диапазонные запросы.
Пример: функция uniqCombined состоит из комбинации трёх
различных структур данных, подходящих под разные диапазоны
кардинальностей.
● Низкоуровневая оптимизация.
Пример: vectorized query execution.
● Специализация и внимание к деталям.
Пример: у нас есть 17 разных алгоритмов выполнения GROUP BY.
Для вашего запроса выбирается лучший.
ClickHouse vs.
typical row-oriented DBMS
Itai Shirav: "I haven't made a rigorous
comparison, but I did convert a time-series
table with 9 million rows from Postgres to
ClickHouse.
Under ClickHouse queries run about 100 times
faster, and the table takes 20 times less disk
space. Which is pretty amazing if you ask me."
Bao Dang: "Obviously, ClickHouse
outperformed PostgreSQL at any metric."
https://github.com/AnalyticsGo/AnalyticsGo/issues/1
ClickHouse vs. Vertica
Timur Shenkao: "ClickHouse is extremely fast
at simple SELECTs without joins, much faster
than Vertica."
ClickHouse vs. PrestoDB
Ömer Osman Koçak: "When we evaluated ClickHouse the results
were great compared to Prestodb. Even though the columnar
storage optimizations for ORC and Clickhouse is quite similar,
Clickhouse uses CPU and Memory resources more efficiently
(Presto also uses vectorized execution but cannot take
advantage of hardware level optimizations such as SIMD
instruction sets because it's written in Java so that's fair) so we
also wanted to add support for Clickhouse for our open-source
analytics platform Rakam (https://github.com/rakam-io/rakam)"
ClickHouse vs. Spark
"Я потестировал Clickhouse, по скорости
просто отлично = намного быстрее spark на
одной машине (у меня получилось порядка
3x, но еще буду сравнивать). Кроме того
compression получается лучше."
ClickHouse vs. Google BigQuery
"ClickHouse показывает сравнимую скорость на
таком запросе за 30 дней и в 8 раз быстрее (!) на
таком запросе. В планах есть протестировать и
другие запросы, еще не добрались.
Скорость выполнения запросов стабильна. В
Google BigQuery в период пиковых нагрузок,
например в 4:00 p.m. PDT или в начале месяца,
время выполнения запросов может заметно
увеличиваться."
ClickHouse vs. Druid
"В этом году мы развернули сборку на
основе Druid — Imply Analytics Platform, а
также Tranquility, и уже приготовились
запускать в продакшн… Но после выхода
ClickHouse сразу отказались от Druid, хотя
потратили два месяца на его изучение и
внедрение."
https://habrahabr.ru/company/smi2/blog/314558/
ClickHouse vs. InfiniDB
" 结论: clickhouse 速度更快! "
"In conclusion, ClickHouse is faster!"
http://verynull.com/2016/08/22/infinidb clickhouse /与 对比
ClickHouse for sensor data
ClickHouse vs. Greenplum
На самом деле всё не так однозначно.
Подключение к ClickHouse
● HTTP REST
● clickhouse-client
● JDBC
● Python, PHP, Go, Perl, Ruby, Node.JS, R
● Web UI: https://github.com/smi2/clickhouse-frontend
Сообщество
● Официальный сайт: https://clickhouse.yandex/
● Google группа:
https://groups.google.com/forum/#!forum/clickhouse
● Рассылка: clickhouse-feedback@yandex-team.com
● Чат в Telegram: https://telegram.me/clickhouse_ru
● GitHub: https://github.com/yandex/ClickHouse/
+ митапы. Следите за анонсами.
Как запустить ClickHouse своими силами и
выиграть джекпот.
https://habrahabr.ru/company/smi2/blog/314558/
Начните использовать ClickHouse сегодня!
Спасибо. Задавайте вопросы.

Más contenido relacionado

La actualidad más candente

MongoDB первые впечатления
MongoDB первые впечатленияMongoDB первые впечатления
MongoDB первые впечатления
fudz1k
 
Как мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяцКак мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяц
Mikhail Tabunov
 
Aлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreetAлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreet
Ontico
 
Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»
DataArt
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...
Vyacheslav Nikulin
 
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Ontico
 

La actualidad más candente (19)

Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
 
Где сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearchГде сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearch
 
Построение системы аналитики
Построение системы аналитикиПостроение системы аналитики
Построение системы аналитики
 
Бигдата — как добывать золото из данных / Александр Сербул (1С-Битрикс)
Бигдата — как добывать золото из данных / Александр Сербул (1С-Битрикс)Бигдата — как добывать золото из данных / Александр Сербул (1С-Битрикс)
Бигдата — как добывать золото из данных / Александр Сербул (1С-Битрикс)
 
MongoDB первые впечатления
MongoDB первые впечатленияMongoDB первые впечатления
MongoDB первые впечатления
 
Как устроено API в AppMetrica
Как устроено API в AppMetricaКак устроено API в AppMetrica
Как устроено API в AppMetrica
 
Как мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяцКак мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяц
 
Мобильная Яндекс.Почта — Дмитрий Александров
Мобильная Яндекс.Почта — Дмитрий АлександровМобильная Яндекс.Почта — Дмитрий Александров
Мобильная Яндекс.Почта — Дмитрий Александров
 
Диагностика postgresql для системного администратора
Диагностика postgresql для системного администратораДиагностика postgresql для системного администратора
Диагностика postgresql для системного администратора
 
Aлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreetAлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreet
 
Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...
Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...
Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...
 
Аналитика над петабайтами в реальном времени
Аналитика над петабайтами в реальном времениАналитика над петабайтами в реальном времени
Аналитика над петабайтами в реальном времени
 
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
 
Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»
 
Оценка производительности hadoop кластера.
Оценка производительности hadoop кластера.Оценка производительности hadoop кластера.
Оценка производительности hadoop кластера.
 
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...
 
Cергей Коржнев, 2ГИС
Cергей Коржнев, 2ГИСCергей Коржнев, 2ГИС
Cергей Коржнев, 2ГИС
 
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
 

Destacado

Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
Ontico
 
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
tfmailru
 
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
Ontico
 
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Ontico
 

Destacado (14)

ClickHouse Intro
ClickHouse IntroClickHouse Intro
ClickHouse Intro
 
Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
 
Analysis postgre sql-vs_mongodb_report
Analysis   postgre sql-vs_mongodb_reportAnalysis   postgre sql-vs_mongodb_report
Analysis postgre sql-vs_mongodb_report
 
YCSB JSONB 対応版 を作ってMongoDB と 比較してみた
YCSB JSONB 対応版 を作ってMongoDB と 比較してみたYCSB JSONB 対応版 を作ってMongoDB と 比較してみた
YCSB JSONB 対応版 を作ってMongoDB と 比較してみた
 
Jirafe E-commerce Strategy Session: How to Prepare for the Holidays and Sell ...
Jirafe E-commerce Strategy Session: How to Prepare for the Holidays and Sell ...Jirafe E-commerce Strategy Session: How to Prepare for the Holidays and Sell ...
Jirafe E-commerce Strategy Session: How to Prepare for the Holidays and Sell ...
 
Pinterest Vs. Facebook? Are You Ready To Sell On Social?
Pinterest Vs. Facebook? Are You Ready To Sell On Social? Pinterest Vs. Facebook? Are You Ready To Sell On Social?
Pinterest Vs. Facebook? Are You Ready To Sell On Social?
 
Strata + Hadoop World 2012: HDFS: Now and Future
Strata + Hadoop World 2012: HDFS: Now and FutureStrata + Hadoop World 2012: HDFS: Now and Future
Strata + Hadoop World 2012: HDFS: Now and Future
 
Fluentd and WebHDFS
Fluentd and WebHDFSFluentd and WebHDFS
Fluentd and WebHDFS
 
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
 
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
 
Иван Красников — K☆50 — ICBDA2016
Иван Красников — K☆50 — ICBDA2016Иван Красников — K☆50 — ICBDA2016
Иван Красников — K☆50 — ICBDA2016
 
29 Ways To Grow Your Ecommerce Revenue
29 Ways To Grow Your Ecommerce Revenue29 Ways To Grow Your Ecommerce Revenue
29 Ways To Grow Your Ecommerce Revenue
 
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
 
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
 

Similar a ClickHouse

Как мы строили аналитическую платформу на несколько миллиардов событии в меся...
Как мы строили аналитическую платформу на несколько миллиардов событии в меся...Как мы строили аналитическую платформу на несколько миллиардов событии в меся...
Как мы строили аналитическую платформу на несколько миллиардов событии в меся...
Coub
 
Алексей Рылко, iProspect — «SEO-инсайды, которые вы можете достать из логов ...
Алексей Рылко, iProspect  — «SEO-инсайды, которые вы можете достать из логов ...Алексей Рылко, iProspect  — «SEO-инсайды, которые вы можете достать из логов ...
Алексей Рылко, iProspect — «SEO-инсайды, которые вы можете достать из логов ...
shevchuk_conf
 
Архитектуре проектов на примере интеграции TourIndex, TourDealer
Архитектуре проектов на примере интеграции TourIndex, TourDealerАрхитектуре проектов на примере интеграции TourIndex, TourDealer
Архитектуре проектов на примере интеграции TourIndex, TourDealer
Vitaly Belenky
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей Шетухин
Ontico
 
Конструктор веб-форм и баз данных онлайн
Конструктор веб-форм и баз данных онлайнКонструктор веб-форм и баз данных онлайн
Конструктор веб-форм и баз данных онлайн
Dmitry Savchenko
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
IT-Portfolio
 
Что вы знаете о своем seo? @seoconference,2014
Что вы знаете о своем seo? @seoconference,2014Что вы знаете о своем seo? @seoconference,2014
Что вы знаете о своем seo? @seoconference,2014
mikeslivinsky
 
Сравнение инструментов для построения отчетов
Сравнение инструментов для построения отчетовСравнение инструментов для построения отчетов
Сравнение инструментов для построения отчетов
Маркетинг-аналитика с OWOX BI
 

Similar a ClickHouse (20)

Как мы строили аналитическую платформу на несколько миллиардов событии в меся...
Как мы строили аналитическую платформу на несколько миллиардов событии в меся...Как мы строили аналитическую платформу на несколько миллиардов событии в меся...
Как мы строили аналитическую платформу на несколько миллиардов событии в меся...
 
От Статистики до Статистики. Эволюция архитектуры системы на примере системы ...
От Статистики до Статистики. Эволюция архитектуры системы на примере системы ...От Статистики до Статистики. Эволюция архитектуры системы на примере системы ...
От Статистики до Статистики. Эволюция архитектуры системы на примере системы ...
 
доклад на вмк 15.10.2015
доклад на вмк 15.10.2015доклад на вмк 15.10.2015
доклад на вмк 15.10.2015
 
Солянка seo хитростей для работы в арбитраже
Солянка seo хитростей для работы в арбитражеСолянка seo хитростей для работы в арбитраже
Солянка seo хитростей для работы в арбитраже
 
Евгений Аралов
Евгений АраловЕвгений Аралов
Евгений Аралов
 
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
 
BigData в онлайн-маркетинге для малого и среднего бизнеса
BigData в онлайн-маркетинге для малого и среднего бизнесаBigData в онлайн-маркетинге для малого и среднего бизнеса
BigData в онлайн-маркетинге для малого и среднего бизнеса
 
Логическая витрина данных
Логическая витрина данныхЛогическая витрина данных
Логическая витрина данных
 
Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...
Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...
Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...
 
Андрей Осипов. Как начать работать с bigQuery и перестать думать о семплирова...
Андрей Осипов. Как начать работать с bigQuery и перестать думать о семплирова...Андрей Осипов. Как начать работать с bigQuery и перестать думать о семплирова...
Андрей Осипов. Как начать работать с bigQuery и перестать думать о семплирова...
 
Алексей Рылко, iProspect — «SEO-инсайды, которые вы можете достать из логов ...
Алексей Рылко, iProspect  — «SEO-инсайды, которые вы можете достать из логов ...Алексей Рылко, iProspect  — «SEO-инсайды, которые вы можете достать из логов ...
Алексей Рылко, iProspect — «SEO-инсайды, которые вы можете достать из логов ...
 
«Что такое проектирование сайтов и зачем оно нужно» Роман Симачевский, 1Step ...
«Что такое проектирование сайтов и зачем оно нужно» Роман Симачевский, 1Step ...«Что такое проектирование сайтов и зачем оно нужно» Роман Симачевский, 1Step ...
«Что такое проектирование сайтов и зачем оно нужно» Роман Симачевский, 1Step ...
 
Роман Симачевский: Проектируем сайт
Роман Симачевский: Проектируем сайтРоман Симачевский: Проектируем сайт
Роман Симачевский: Проектируем сайт
 
Архитектуре проектов на примере интеграции TourIndex, TourDealer
Архитектуре проектов на примере интеграции TourIndex, TourDealerАрхитектуре проектов на примере интеграции TourIndex, TourDealer
Архитектуре проектов на примере интеграции TourIndex, TourDealer
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей Шетухин
 
Core Web Vitals - Ru Devparty, June 27, 2020
Core Web Vitals  - Ru Devparty, June 27, 2020Core Web Vitals  - Ru Devparty, June 27, 2020
Core Web Vitals - Ru Devparty, June 27, 2020
 
Конструктор веб-форм и баз данных онлайн
Конструктор веб-форм и баз данных онлайнКонструктор веб-форм и баз данных онлайн
Конструктор веб-форм и баз данных онлайн
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
 
Что вы знаете о своем seo? @seoconference,2014
Что вы знаете о своем seo? @seoconference,2014Что вы знаете о своем seo? @seoconference,2014
Что вы знаете о своем seo? @seoconference,2014
 
Сравнение инструментов для построения отчетов
Сравнение инструментов для построения отчетовСравнение инструментов для построения отчетов
Сравнение инструментов для построения отчетов
 

ClickHouse

  • 2. Обо мне Алексей, разработчик ClickHouse. С 2008 занимался движком обработки данных в Яндекс.Метрике.
  • 3. История Яндекс.Метрика — сервис веб-аналитики. В России первый, в мире — второй. Ежедневно приходит ~25 млрд. событий. Надо показывать отчёты в реальном времени.
  • 4. Старая Метрика (2008–2014) Всё отлично работало. Пользователь мог получить примерно 50 разных отчётов. Но есть проблема. Нам хочется большего. Чтобы каждый отчёт был сколь угодно кастомизируемым.
  • 5. Конструктор отчётов Быстро сделали прототип и на его основе реализовали "Конструктор отчётов". Это 2010 год. Стало понятно, куда двигаться дальше. Нам нужна хорошая column-oriented DBMS.
  • 8. Почему ClickHouse? Ничего готового не подошло. Тогда мы сделали ClickHouse. "Эволюция структур данных в Яндекс.Метрике" https://habrahabr.ru/company/yandex/blog/273305/
  • 10. Коротко ● column-oriented ● линейная масштабируемость ● отказоустойчивость ● загрузка данных в реальном времени ● онлайн (sub-second) запросы ● поддержка диалекта SQL + расширения (массивы, вложенные структуры данных, domain- specific функции, сэмплирование)
  • 11. Основной кластер Метрики ● 18.3 триллионов строк ● 426 серверов ● скорость обработки данных до двух терабайт в секунду * Если вы хотите попробовать ClickHouse, достаточно и одного сервера.
  • 12. ClickHouse в Яндексе ● Нам удалось сделать систему сравнительно удобной. ● С самого начала мы имели подробную документацию. ● В течение пары лет ClickHouse распространился по другим отделам Яндекса. ● Почта, Маркет, Директ, Вебмастер, AdFox, Инфраструктура, Бизнес аналитика... ● Есть случаи, когда аналитики самостоятельно устанавливали ClickHouse на виртуальные машины и успешно использовали без каких-либо вопросов.
  • 13. Open-source Потом мы решили — ClickHouse слишком хорошая система, чтобы нам одним на нём сидеть. Чтобы было веселее, надо подсадить на ClickHouse людей снаружи, пусть радуются. Решили сделать open-source.
  • 14. Open-source Лицензия Apache 2.0 — минимум ограничений. Цель — максимальное распространение продукта. Мы хотим, чтобы продуктом Яндекса пользовались по всему миру. См. “Яндекс открывает ClickHouse” https://habrahabr.ru/company/yandex/blog/303282/
  • 15. Когда надо использовать ClickHouse Хорошо структурированные, очищенные, неизменяемые события. Click stream. Веб-аналитика. Рекламные сети. RTB. E-commerce. Аналитика онлайн игр. Данные сенсоров и мониторингов. Телеком данные. Финансовые транзакции. Биржевая аналитика.
  • 16. Когда не надо использовать ClickHouse ● OLTP. В ClickHouse нет UPDATE и полноценных транзакций. ● Key-Value. Если нужны частые запросы на обновление по ключу, используйте другое решение. ● Blob-store, document oriented. ClickHouse предназначен для большого количества мелко- гранулированных данных. ● Излишне нормализованные данные. Лучше сделать широкую таблицу фактов.
  • 17. Почему ClickHouse такой быстрый? От безысходности. Яндекс.Метрика должна работать.
  • 18. Почему ClickHouse такой быстрый? ● Алгоритмическая оптимизация. MergeTree, локальность расположения данных на диске — быстрые диапазонные запросы. Пример: функция uniqCombined состоит из комбинации трёх различных структур данных, подходящих под разные диапазоны кардинальностей. ● Низкоуровневая оптимизация. Пример: vectorized query execution. ● Специализация и внимание к деталям. Пример: у нас есть 17 разных алгоритмов выполнения GROUP BY. Для вашего запроса выбирается лучший.
  • 19. ClickHouse vs. typical row-oriented DBMS Itai Shirav: "I haven't made a rigorous comparison, but I did convert a time-series table with 9 million rows from Postgres to ClickHouse. Under ClickHouse queries run about 100 times faster, and the table takes 20 times less disk space. Which is pretty amazing if you ask me."
  • 20. Bao Dang: "Obviously, ClickHouse outperformed PostgreSQL at any metric." https://github.com/AnalyticsGo/AnalyticsGo/issues/1
  • 21. ClickHouse vs. Vertica Timur Shenkao: "ClickHouse is extremely fast at simple SELECTs without joins, much faster than Vertica."
  • 22. ClickHouse vs. PrestoDB Ömer Osman Koçak: "When we evaluated ClickHouse the results were great compared to Prestodb. Even though the columnar storage optimizations for ORC and Clickhouse is quite similar, Clickhouse uses CPU and Memory resources more efficiently (Presto also uses vectorized execution but cannot take advantage of hardware level optimizations such as SIMD instruction sets because it's written in Java so that's fair) so we also wanted to add support for Clickhouse for our open-source analytics platform Rakam (https://github.com/rakam-io/rakam)"
  • 23. ClickHouse vs. Spark "Я потестировал Clickhouse, по скорости просто отлично = намного быстрее spark на одной машине (у меня получилось порядка 3x, но еще буду сравнивать). Кроме того compression получается лучше."
  • 24. ClickHouse vs. Google BigQuery "ClickHouse показывает сравнимую скорость на таком запросе за 30 дней и в 8 раз быстрее (!) на таком запросе. В планах есть протестировать и другие запросы, еще не добрались. Скорость выполнения запросов стабильна. В Google BigQuery в период пиковых нагрузок, например в 4:00 p.m. PDT или в начале месяца, время выполнения запросов может заметно увеличиваться."
  • 25. ClickHouse vs. Druid "В этом году мы развернули сборку на основе Druid — Imply Analytics Platform, а также Tranquility, и уже приготовились запускать в продакшн… Но после выхода ClickHouse сразу отказались от Druid, хотя потратили два месяца на его изучение и внедрение." https://habrahabr.ru/company/smi2/blog/314558/
  • 26. ClickHouse vs. InfiniDB " 结论: clickhouse 速度更快! " "In conclusion, ClickHouse is faster!" http://verynull.com/2016/08/22/infinidb clickhouse /与 对比
  • 28. ClickHouse vs. Greenplum На самом деле всё не так однозначно.
  • 29. Подключение к ClickHouse ● HTTP REST ● clickhouse-client ● JDBC ● Python, PHP, Go, Perl, Ruby, Node.JS, R ● Web UI: https://github.com/smi2/clickhouse-frontend
  • 30. Сообщество ● Официальный сайт: https://clickhouse.yandex/ ● Google группа: https://groups.google.com/forum/#!forum/clickhouse ● Рассылка: clickhouse-feedback@yandex-team.com ● Чат в Telegram: https://telegram.me/clickhouse_ru ● GitHub: https://github.com/yandex/ClickHouse/ + митапы. Следите за анонсами.
  • 31. Как запустить ClickHouse своими силами и выиграть джекпот. https://habrahabr.ru/company/smi2/blog/314558/
  • 32. Начните использовать ClickHouse сегодня! Спасибо. Задавайте вопросы.