![Page 1: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/1.jpg)
![Page 2: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/2.jpg)
ClickHouse: очень быстро
и очень удобноВиктор Тарнавский
RGB
![Page 3: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/3.jpg)
Разработчик, в прошлом разработка железа
Руководитель отдела аналитических продуктов
Пару слов обо мне
3
![Page 4: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/4.jpg)
Немного истории
ClickHouse
![Page 5: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/5.jpg)
Яндекс.Метрика - в тройке крупнейших веб-аналитических систем по количеству сайтов.
Более 20 млрд. событий в день
Более 1 млн. сайтов
Более 100 000 аналитиков каждый день
Яндекс.Метрика
5
![Page 6: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/6.jpg)
Яндекс.Метрика
6
![Page 7: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/7.jpg)
Как хранить данные?
![Page 8: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/8.jpg)
Агрегированные данные
Много разных таблиц
Key → Metrics
Классический подход
8
![Page 9: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/9.jpg)
Неагрегированные данные
Небольшое количество широких таблиц
Высокоэффективные фильтры и группировки
Event → Properties
Современный подход
9
![Page 10: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/10.jpg)
Какую базу данных взять?
![Page 11: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/11.jpg)
Максимально быстро выполнять запросы
Обработка данных в реальном времени
Возможность хранить петабайты данных
Отказоустойивость в терминах датацентров
Гибкий язык запросов
Что мы хотим от базы данных?
11
![Page 12: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/12.jpg)
На рынке пустота!
![Page 13: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/13.jpg)
SQL
Линейная мастабируемость
Фокус на быстром выполнении запросов
Column-oriented
Основные идеи при создании ClickHouse
13
![Page 14: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/14.jpg)
ClickHouse timeline
14
Prototype
Январь 2009 Август 2012
Data Transfer
Июнь 2014
Metrica 2.0
Декабрь 2014 Июнь 2016
Open Source
Production
![Page 15: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/15.jpg)
Более 20 проектов в Яндексе
Open-source с Июля 2016
В продакшне вне Яндекса
ClickHouse сегодня
15
![Page 16: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/16.jpg)
Возможности
ClickHouse
![Page 17: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/17.jpg)
Масштабируется до петабайт данных
Cross-datacenter
High availability
Сжатие данных
Линейная масштабируемость
17
![Page 18: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/18.jpg)
3 Pb
412 серверов
6 датацентров
Часы даунтайма за 4 года
Кластер Яндекс.Метрики
18
![Page 19: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/19.jpg)
SQL диалект
Приблизительные вычисления, URI функции
Массивы, кортежи
Распределённые запросы из коробки
Внешние словари
Запросы
19
![Page 20: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/20.jpg)
20
# Weekly traffic and audience
SELECT count() as visits, sum(PageViews) as hits, uniq(UserID) as users FROM visits_all WHERE StartDate > today() - 7
![Page 21: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/21.jpg)
21
# Using external dictionary for regions
SELECT count() as visits, regionToName(regionToCountry(RegionID), 'en') as country FROM visits_all WHERE StartDate > today() - 7 GROUP BY country ORDER BY visits DESC LIMIT 10
![Page 22: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/22.jpg)
Типичные запросы быстрей чем за секунду
>100 раз быстрей чем Hadoop>100 раз быстрей чем типичная DBMS
100 млн - 1 миллиард строк в секунду на одной ноде
До 2 терабайт в секундудля кластера на 400 нод
Скорость на грани фантастики
22
![Page 23: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/23.jpg)
23
1. Делаем запрос
2. Идём пить кофе
У тебя нет ClickHouse У тебя есть ClickHouse
Проверь 37 идей за 5 минут!
ВНИМАНИЕ: развидеть нельзя
![Page 25: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/25.jpg)
Консольный клиент
HTTP
JDBC
Python, PHP, NodeJS, Go и Perl коннекторы
Интерфейсы
25
![Page 26: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/26.jpg)
Заглянем внутрь
ClickHouse
![Page 27: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/27.jpg)
Код
Векторная обработка данных
Ориентированный на производительность C++14 код
Каждая фича оптимизируетсяпо производительности
Почему ClickHouse такой быстрый?
27
![Page 28: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/28.jpg)
Данные
Колоночное хранение
Merge Treeминимум seek-ов
Обработка максимально близко к данным
Почему ClickHouse такой быстрый?
28
![Page 29: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/29.jpg)
Возможности
Семплирование из коробки
Функции с вероятностными алгоритмами
Оптимизация производительности на уровне запроса
Почему ClickHouse такой быстрый?
29
![Page 30: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/30.jpg)
Нет единой точки координации запросов
Асинхронная репликация
ZooKeeper для координации реплик (не используется в SELECT)
Масштабируемость и отказоустойчивость
30
![Page 31: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/31.jpg)
Кластер Яндекс.Метрики
31
– Shard
Data Center
![Page 32: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/32.jpg)
Кейсы
ClickHouse
![Page 33: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/33.jpg)
OLTP
Key-value
Document-oriented
Модифицирование данных
Когда НЕ надо использовать
33
![Page 34: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/34.jpg)
Широкие таблицыМного колонок
QPS относительно небольшойно много данных используетсяв каждом запросе
Большой поток входящих данных
Аналитика по петабайтам данных
ClickHouse: best practises
34
![Page 35: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/35.jpg)
С этого обычно пробуют ClickHouse
Что делать:
Вставить access и серверные логи в ClickHouseпримерное время: несколько часов
Что получаем:
Анализируем любые инциденты за секунды
Мониторинг и дашборды по ошибкам, таймингам и прочему
Кейс: анализ серверных логов
35
![Page 36: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/36.jpg)
Можно построить свой Data Warehouse и копать данные с невероятной скоростью
Что делать:
Берём Hadoop или другую "не такую быструю" базу
Копируем все данные в ClickHouse
Что получаем:
Realtime аналитика бизнес-процессов
Довольные аналитики и менеджеры
Легко построить внутренние дашборды/метрики
Кейс: внутренняя база для аналитики
36
![Page 37: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/37.jpg)
C чего начать?
ClickHouse
![Page 38: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/38.jpg)
Tutorial: https://clickhouse.yandex/tutorial.html
Пишите вопросы: [email protected]
GitHub: https://github.com/yandex/ClickHouse
Больше информации: https://clickhouse.yandex
С чего начать?
38
![Page 39: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/39.jpg)
Итого
ClickHouse
![Page 40: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/40.jpg)
Open-source колоночная DBMS
Линейная масштабируемость
Невероятная скорость
SQL диалект с расширенными возможностями
ClickHouse за один слайд
40
![Page 41: ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидов (Яндекс)](https://reader033.vdocuments.pub/reader033/viewer/2022042508/586f905a1a28ab54768b7967/html5/thumbnails/41.jpg)
Виктор Тарнавский Руководитель отдела аналитических продуктов
telegram
Контакты