Работа с медленно меняющимися измерениями
В текущем разделе собраны практические руководства по реализации медленно меняющихся измерений (Slowly Changing Dimensions, SCD) — популярного подхода к управлению историческими данными в аналитических хранилищах.
В разделе описываются варианты SCD1 и SCD2:
- SCD Type 1: Cтарые значения атрибутов заменяются новыми, сохраняя только актуальное состояние данных.
- SCD Type 2: Cохраняется полная история изменений путем добавления новых записей для каждой новой версии атрибута.
Особенности SCD1
Медленно меняющиеся измерения (тип 1) или SCD1 (Type 1) — это подход, при котором при изменении атрибута измерения старое значение заменяется новым. Хранится только текущее состояние данных. Этот подход используется, когда:
- историческая информация не требуется;
- важно иметь только актуальные данные;
- необходимо минимизировать размер хранилища данных;
- требуется простая структура данных для аналитики.
Особенности SCD2 и подход append-only
Медленно меняющиеся измерения (тип 2) или SCD2 (Type 2) — это подход, при котором при изменении атрибута измерения создаётся новая запись, а старая помечается как неактуальная. Таким образом, сохраняется история изменений. Этот подход используется, когда:
- требуется отслеживать историю изменений данных;
- необходимо выполнять анализ данных с учётом временных периодов;
- важно сохранять аудиторский след изменений;
- требуется возможность восстановления состояния данных на определённый момент времени.
Доступные руководства
В разделе рассматриваются различные технические способы реализации этих механизмов:
- С использованием связки Change Data Capture (CDC) и Transfer для автоматической потоковой репликации изменений из таблиц-источников.
- С помощью периодических YQL-запросов, которые обрабатывают пакеты изменений из промежуточной таблицы и подмерживают их в основную SCD-таблицу.