Приветствую, любители аналитики!
Продолжим разговор о жизненном цикле витрин данных и сегодня расскажу, как у нас построен процесс релиза витрин, их выкатывания.
Напомню, что у нас
Витрина данных = представление (view) + кэш-таблица (table), записанная с него.
Кэш-таблицы может и не быть, если представление отрабатывает мгновенно или очень быстро.
Релиз происходит, конечно, уже после проверки витрины, то есть ревьюер и заказчик - удовлетворены результатом.
Вот шаги процесса релиза:
1. Занести метаданные витрины. То есть, описание самой таблицы и вьи, а также описание каждого поля. Мы заносим метаданные в электронную табличку, из которой специальный даг Airflow регулярно пишет их в Clickhouse, где и живут витрины.
2. Мержнуть код представления и DDL-запрос создания кэш-таблицы. Мы используем репозиторий gitLab для хранения всех наших вьей и следим, чтобы в продовском хранилище всегда была последняя версия мастер-ветки. Мы даже запилили механизм CI/CD, который при мерже автоматически пишет вью в Кликхаус (об этом, авось, как-нибудь отдельно).
3. Поставить витрину на обновление. Как и метаданные, витрины, подлежащие обновлению, перечислены в особой электронной таблице, по которой проходится даг обновления.
4. Поставить на мониторинг качества данных. При необходимости, можно указать дагу проверки качества данных, что для этой витрины требуется проверять выполнение таких-то условий (консистентность и/или количество строк).
5. Сообщить коллегам о готовности. Да, по-хорошему, о появлении новой витрины стоит написать хотя бы в канал команды в корпоративном мессенджере, чтобы все порадовались.
Вот теперь витриной можно пользоваться.
Продолжим разговор о жизненном цикле витрин данных и сегодня расскажу, как у нас построен процесс релиза витрин, их выкатывания.
Напомню, что у нас
Витрина данных = представление (view) + кэш-таблица (table), записанная с него.
Кэш-таблицы может и не быть, если представление отрабатывает мгновенно или очень быстро.
Релиз происходит, конечно, уже после проверки витрины, то есть ревьюер и заказчик - удовлетворены результатом.
Вот шаги процесса релиза:
1. Занести метаданные витрины. То есть, описание самой таблицы и вьи, а также описание каждого поля. Мы заносим метаданные в электронную табличку, из которой специальный даг Airflow регулярно пишет их в Clickhouse, где и живут витрины.
2. Мержнуть код представления и DDL-запрос создания кэш-таблицы. Мы используем репозиторий gitLab для хранения всех наших вьей и следим, чтобы в продовском хранилище всегда была последняя версия мастер-ветки. Мы даже запилили механизм CI/CD, который при мерже автоматически пишет вью в Кликхаус (об этом, авось, как-нибудь отдельно).
3. Поставить витрину на обновление. Как и метаданные, витрины, подлежащие обновлению, перечислены в особой электронной таблице, по которой проходится даг обновления.
4. Поставить на мониторинг качества данных. При необходимости, можно указать дагу проверки качества данных, что для этой витрины требуется проверять выполнение таких-то условий (консистентность и/или количество строк).
5. Сообщить коллегам о готовности. Да, по-хорошему, о появлении новой витрины стоит написать хотя бы в канал команды в корпоративном мессенджере, чтобы все порадовались.
Вот теперь витриной можно пользоваться.