PHP Самара #3, Бадрутдинов Рустам, 3+ лайфхака Clickhouse
Автор: PHP Самара
Загружено: 2022-12-04
Просмотров: 278
Описание:
Рустам Бадрутдинов (avito.tech): Расскажу о том, как при развитии одного из наших продуктов мы столкнулись с необходимостью быстро считать средствами ClickHouse события со всего Авито, какие приемы и лайфхаки для этого обнаружили.
Презентация: https://docs.google.com/presentation/...
Доклад по обновлению данных в ClickHouse: Альтернативный способ изменения данных в ClickHouse-е • Альтернативный способ изменения данных в C...
Таймкоды:
00:00 Вступление.
00:28 Чем занимается наша команда. Наши продукты
01:26 Новый продукт - аналитика рынка.
02:13 Одна небольшая фича - фильтр по цене от и до.
02:27 Устройство наших сервисов.
03:24 Что наши сервисы делают (нагрузка).
03:53 Варианты как можно посчитать аналитику в ClickHouse.
04:45 Схема базы с событиями.
06:09 Простое решение влоб SELECT, время выполнения минуты. Долго.
06:48 Что делать? Разбираемся как ClickHouse хранит данные. Шардирование.
08:33 Новая схема базы данных с событиями.
09:34 Шардируем. Но ClickHouse продолжает ходить по всем шардам и не использует ключ шардирования (при SELECT).
10:50 Лайфхак 1: заставляем использовать ключ шардирования через optimize_skip_unused_shards. Время выполнения 10 сек. Это много, но с этим уже можно работать.
11:33 Лайфхак 2: считаем параллельно. Используем UNION. Все еще 10 сек.
12:40 Лайфхак 3: меньше агрегируем. Время выполнения 6 сек.
13:25 Новый хайфхак: вообще не группируем. Точность падает, но время 1 сек.
14:40 Что можно еще? В теории предагрегация должна помочь.
15:10 Новая схема базы данных с предагрегацией.
16:09 Время схемы с предагрегацией 15 сек. Что пошло не так?
17:25 Выводы. Правильно готовим ClickHouse и отвечаем за доли секунд.
18:27 Вопрос: уточнение, что такое шардирование?
19:27 Вопрос: вопрос по ORDER BY, в каком порядке записываем, в таком порядке на диске?
20:10 Вопрос: партицирование это разбивка по шардам?
20:51 Вопрос: должны ли быть согласованны PARTITION и ORDER BY?
21:38 Вопрос: как ClickHouse хранит таблицы?
23:58 Вопрос: скорость работы, он столько принимает и столько отдает?
23:55 Вопрос: как ClickHouse используем память, используется ли кэширование?
25:35 Вопрос: какими кусками следует записывать данные в ClickHouse?
26:20 Вопрос: на сколько ClickHouse эффективно удаляет данные?
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: