Выбор ответа Junior dbt спрашивают часто обновлено
Выбор материализации
Вопрос
Модель факта на 2 млрд строк, ежедневно добавляются 5 млн новых строк, иногда меняются строки последних дней. Какая материализация подходит?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: incremental с uniquekey и окном пересчёта последних дней. Инкрементальная модель обрабатывает только новые и изменённые строки, а uniquekey позволяет обновить изменённые.
Варианты ответа
- view: данные свежие, а хранилище само кеширует результат
- incremental с
unique_keyи окном пересчёта последних днейправильный ответ - table: пересоздавать все 2 млрд строк каждый день, зато просто
- ephemeral: модель не хранится в базе и не занимает места
Разбор
Инкрементальная модель обрабатывает только новые и изменённые строки, а unique_key позволяет обновить изменённые. View пересчитывала бы 2 млрд строк при каждом запросе дашборда. Table работает, но пересоздаёт всё ежедневно, это долго и дорого. Ephemeral встраивается как CTE и для тяжёлого факта не годится.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.