Highload++ 2016 short present of 3:
Оригинальные доклады, рекомендуемые к просмотру:
* Особенности архитектуры распределённого хранилища в Dropbox. Слава Бахмутов (SRE в группе разработки стораджа в Dropbox) - http://www.highload.ru/2016/abstracts/2257.html
* ClickHouse: очень быстро и очень удобно. Виктор Тарнавский (Руководитель разработки аналитических продуктов в Яндексе), Алексей Миловидов (Главный разработчик ClickHouse) - http://www.highload.ru/2016/abstracts/2327.html
* Переезжаем на Yandex ClickHouse - Александр Зайцев (LifeStreet) - http://www.highload.ru/2016/abstracts/2297.html
2. Disclaimer
Информация и часть слайдов заимствованы из оригинальных презентаций:
● Особенности архитектуры распределённого хранилища в Dropbox - Слава
Бахмутов (SRE в группе разработки стораджа в Dropbox)
● ClickHouse: очень быстро и очень удобно - Виктор Тарнавский
(Руководитель разработки аналитических продуктов в Яндексе), Алексей
Миловидов (Главный разработчик ClickHouse)
● Переезжаем на Yandex ClickHouse - Александр Зайцев (LifeStreet)
2
11. 11
Защита
● Валидация операций
○ Оператор не виноват. Если что-то может быть поломано - оно будет поломано
○ Команды проще
○ Однозначный синтаксис
● Восстановление
○ Многое можно восстановить автоматически
● Тестирование
○ Тестировать стоит ПО, процедуры и даже тестирование
● Всегда что-то может пойти не так
○ Необходимо определять что именно и где
21. 21
Хранение данных
Классический подход
● Агрегированные данные
● Нормализация
● Множество таблиц
● Key -> Metrics
Современный подход
● Сырые данные
● Небольшое количество широких таблиц
● Огромное количество фильтров и группировок
● Event -> Properties
22. 22
Основные идеи создания
➔ SQL диалект
➔ Линейная масштабируемость
➔ Фокус на скорости выполнения
запросов
➔ Приблизительные вычисления
➔ Массивы, кортежи
➔ Распределённые запросы “из коробки”
➔ Внешние словари
➔ URI и другие функции
23. 23
Скорость на грани фантастики
➔ Типичные запросы быстрее секунды
➔ >100 раз быстрей нам Hadoop
➔ >100 раз быстрей чем типичная RDBMS
➔ 100 млн - 1 миллиард строк в секунду на одной ноде
➔ До 2 терабайт в секунду для кластера на 400 нод
25. 25
Когда не надо использовать
➔ OLTP
➔ Key-value
➔ Document-oriented
➔ Модификация данных
26. 26
Best practises
➔ Широкие таблицы, множество колонок
➔ QPS относительно небольшой, но много данных
используется в каждом запросе
➔ Большой поток входящих данных
➔ Аналитика по петабайтам данных