Вы можете перенести свои данные в постоянную таблицу с помощью операторов INSERT/UPDATE/DELETE/MERGE
. Эта таблица будет представлять «текущее состояние» вашего измерения. В этой таблице вы можете создать объект STREAM
, который отслеживает изменения, а затем настроить хранимую процедуру для сбора данных из потока и записи этих изменений в таблицу SCD2. Процедура может быть вызвана задачей, выполняющейся по расписанию, или вызвана из другой задачи, которая успешно обновляет таблицу «текущее состояние». Наконец, таблица SCD2 может быть временной, чтобы избежать дополнительных затрат на отказоустойчивость и дополнительные временные затраты (как Майк упоминал в своем ответе).
Поток:
Данные в таблицу "текущее состояние" -> Задача, выполняемая pro c читает из потока -> Обновления SCD2
Документация:
https://docs.snowflake.net/manuals/user-guide/streams.html
Хранилище дешево, но полезно знать о затратах.