Что произойдёт с конечной витриной, построенной materialized view из RAW-слоя, если после перелива изменится существующая строка в RAW-таблице?

Это зависит от СУБД и типа materialized view. В ClickHouse инкрементальное представление обрабатывает новые вставки, но не пересчитывается автоматически из-за изменения старой строки.

Короткий ответ

Что ответить на собеседовании

Это зависит от СУБД и типа materialized view. В ClickHouse инкрементальное представление обрабатывает новые вставки, но не пересчитывается автоматически из-за изменения старой строки.

Подробный разбор

Ответ с пояснениями

Условие

Что произойдёт с конечной витриной, построенной materialized view из RAW-слоя, если после перелива изменится существующая строка в RAW-таблице?

Ответ

Это зависит от СУБД и типа materialized view. В ClickHouse инкрементальное представление обрабатывает новые вставки, но не пересчитывается автоматически из-за изменения старой строки.

Для обычного incremental MV мутация или удаление в RAW не исправит уже записанные результаты в целевой таблице. Нужен отдельный пересчёт затронутого периода либо модель версий и компенсирующих событий.

Refreshable MV работает иначе и может пересобирать результат по расписанию. В PostgreSQL материализованное представление обновляют через REFRESH. Поэтому в исходном вопросе важно уточнить движок и вид представления: слово «materialized» само по себе не задаёт механизм актуализации.

Источник: clickhouse.com.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее