Разработка API ClickHouse: почти ORM для конструктора отчетовСеть, бэкенд и web-разработка

Доклад принят в программу конференции
Виталий Самигуллин
Rambler&Co

Руководитель группы разработки технологий, Рамблер/Топ-100.

samigullinv@gmail.com
Тезисы

В докладе я расскажу:
- как продуктовые требования привели нас к использованию cтолбцовой БД ClickHouse;
- почему мы разработали API для работы с ClickHouse среди возможных альтернатив;
- какое место API ClickHouse занимает в архитектуре сервиса и как взаимодействует с клиентами: веб-приложением, партнерским API, сервисами для аналитиков и т.д.;
- как устроена API ClickHouse изнутри: понятие "кубик" (сущности генерации запросов), виды кубиков, их иерархия и реализация на Python, устройство генератора запросов;
- как обеспечивается качество для критически важного сервиса: параметризованные тесты с "эталонными запросами", статический анализ типов и другие стадии CI;
- плюсы и минусы подхода: правило 80/20, нужны ли преагрегаты, оправдан ли наш подход в условиях поступления новых требований бизнеса.

API
,
Python
,
Бэкенд / другое
,
Организация доступа к базам данных, ORM, собственные драйвера
,
Архитектурные паттерны
,
Непрерывная интеграция
,
Интеграционное тестирование
,
Юнит-тестирование

Другие доклады секции Сеть, бэкенд и web-разработка