Централизованный self-service ETL. О системе автоматизации, умеющей эффективно и дешево двигать данные между десятками систем

Базы данных и системы хранения

Доклад принят в программу конференции

Тезисы

С ростом продукта и развитием data-driven-подхода мы должны обеспечивать наших коллег простым и удобным способом автоматизировать трансформацию и батч-транзит данных между системами с целью изучать их и проводить продуктовую/бизнес-аналитику.

Идея отделить в организации ETL-процессов декларативную часть от функциональной позволила нам достичь следующих результатов:
* Автоматизация расчетов для нового интересного отчета за 15 минут.
* Подключение к новым инстансам источников данных за считанные часы (пока там эти сисопсы креды в vault запихают).
* Data quality: проверка данных — это просто еще одна задача, которая падает, если цифры не совпадают. Каждый пишет сам под свои витрины.
* Data lineage: вся трансформация и движение данных представлены декларативно с явно указанными зависимостями между задачами.
* Около 2000 ежедневных задач на обработку петабайта данных в месяц (и нет, это не одна таблица), обновление 300 отчетов в Tableau для сотен пользователей, отправка информации во внешние аналитические системы и рекламные кабинеты. Для поддержки всего этого хватает одного дата-инженера.

Мы не забыли и про всякие удобства, потому что без этого никто нашим инструментом пользоваться не будет:
- Continuous deployment, чтобы каждый мог потестить свои задачи сразу на живых данных.
- Slack-бот для взаимодействия с Airflow. Чтобы запустить какие-то зависимости или целые подграфы задач.
- Получение данных там, где тебе нужно. Хочешь в Tableau, хочешь в гугл-спредшит, хочешь в slack.
- А ведь можно, вообще, не какой-то SQL запустить в BigQuery, а, скажем, процесс в контейнере.

В итоге каждый занимается тем, что ему нужно и никого не ждет. Аналитики и команды разработки автоматизируют свой ETL. А свободные от описания графов задач на python дата-инженеры начинают рассказывать про хорошие практики, улучшать сам инструмент, работать над скоростью, стабильностью и денежной эффективностью, внедрять новые абстрактные пути движения данных, а иногда и целые аналитические инструменты.

Старается сделать аналитику в Garage Eight более доступной. С точки зрения понимания процессов и инструментов.

Garage Eight

Garage Eight — международная продуктовая IT-компания. Умеют быстро и гибко адаптироваться к любым вызовам и ценят свободу своей команды. https://garage-eight.com/

Видео