Лучшие практики
Собираем всё вместе
- 📊 Мы пошагово рассмотрели создание семантических моделей и метрик для базового покрытия ключевой области бизнеса.
- 🔁 При этом мы разобрали, как рефакторить «замороженный» rollup, превратив его в динамичное и гибкое решение в Semantic Layer.
Лучшие практики
- ✅ Отдавайте предпочтение нормализации, когда это возможно, чтобы MetricFlow мог динамически денормализовывать данные для конечных пользователей.
- ✅ Используйте marts для денормализации при необходимости — например, для группировки таблиц в более богатые компоненты или для получения мер на размерностных таблицах, связанных с таблицей с временной осью (time spine).
- ✅ Когда исходные данные хорошо нормализованы, вы можете строить семантические модели поверх staging-моделей.
- ✅ Предпочитайте вычисление значений в measures и metrics, когда это возможно, вместо использования зафиксированных агрегатов (frozen rollups).
- ❌ Не рефакторите напрямую код, который уже находится в продакшене: стройте решения параллельно, чтобы можно было проаудировать вывод Semantic Layer и аккуратно вывести из эксплуатации старые marts.
Ключевые команды
- 🔑 Используйте
dbt parseдля генерации свежего семантического манифеста. - 🔑 Используйте
dbt sl list dimensions --metrics [metric name], чтобы проверить, увеличиваете ли вы размерность по мере продвижения. - 🔑 Используйте
dbt sl query [query options], чтобы предварительно просмотреть вывод ваших метрик в процессе разработки.
Следующие шаги
- 🗺️ Используйте эти лучшие практики, чтобы спланировать поэтапное внедрение Semantic Layer в вашей команде.
- 🤗 Присоединяйтесь к сообществу и задавайте вопросы, помогайте формировать лучшие практики и делитесь своим прогрессом в построении Semantic Layer.
- Валидируйте semantic nodes в CI, чтобы убедиться, что изменения кода в моделях dbt не ломают эти метрики.
Semantic Layer — это самый значительный сдвиг парадигмы за всё время существования относительно молодой практики аналитической инженерии. Он готов приносить ценность сразу, но наибольший эффект достигается, если вы будете двигать свой проект в сторону большей нормализации и позволите MetricFlow выполнять денормализацию за вас, обеспечивая максимальную размерность.
В ближайшее время мы выпустим больше материалов, посвящённых внедрению Semantic Layer в dbt с использованием различных интегрированных BI-инструментов. Это только начало — надеемся, что это руководство дало вам понятный путь для развития вашей платформы данных в этой новой эпохе. Для получения дополнительной информации см. FAQ по Semantic Layer.
Нашли ошибку?
0