open atlas
↑ К треку
Data engineering DATA · 04 · 08

Materialized views: тест на припоминание

Промпты на свободное припоминание по всему юниту. Сначала ответьте по памяти, затем раскройте модельный ответ и сравните.

DATA Senior ◷ 14 min
Уровень
ОсновыJuniorMiddleSenior

Припоминание сильнее перечитывания. Для каждого промпта проговорите или запишите полный ответ по памяти, прежде чем открыть модельный — именно усилие припоминания закрепляет компромиссы к моменту, когда вы окажетесь на дизайн-ревью.

Цель

Восстановите ключевые механизмы юнита — что даёт materialized view, лестницу refresh, скрытые издержки CONCURRENTLY, incremental maintenance, streaming MV и режим отказа со staleness — не подглядывая в урок.

Вспомните перед уходом
  1. 01
    Что на самом деле даёт materialized view по сравнению с обычным view и какое одно решение становится главным, когда он у вас есть?
  2. 02
    Сравните обычный REFRESH MATERIALIZED VIEW и REFRESH ... CONCURRENTLY, включая требования и издержки CONCURRENTLY.
  3. 03
    Что такое incremental view maintenance, как pg_ivm реализует его в Postgres и когда он окупается, а когда вредит?
  4. 04
    Как streaming materialized views (ClickHouse, Materialize) меняют модель и какой подвох должен усвоить senior для каждого?
  5. 05
    Коллега предлагает materialized view с ночным refresh, чтобы ускорить медленный отчёт. Какие три риска вы поднимаете до одобрения?
  6. 06
    Упорядочьте решения, которые senior принимает, берясь за materialized view, и скажите, почему ответственность идёт последней, но важнее всего.
Итог

Если вы смогли восстановить каждый ответ по памяти, вы держите хребет юнита: materialized view обменивает свежесть на скорость чтения, поэтому refresh — единственное значимое решение; обычный refresh блокирует чтения блокировкой ACCESS EXCLUSIVE, тогда как CONCURRENTLY избегает этого ценой уникального индекса, более медленных diff-ов и ожидания старых транзакций; pg_ivm даёт почти нулевой staleness, но облагает каждую запись, поэтому подходит только для read-heavy таблиц с малой записью; streaming MV убирают refresh-задачу, но добавляют систему и модель согласованности; а сквозной режим отказа везде один — неотслеживаемый refresh отдаёт устаревшие данные, пока всё выглядит зелёным — поэтому владейте refresh, ограничивайте окно staleness и алертите на него.

Что-то непонятно?

Задай вопрос по этому уроку. Вопросы анонимны и попадают напрямую автору — урок станет лучше.

хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.