Как смоделировать и загрузить таблицу размеров типа 2 в базе данных Snowflake Cloud - PullRequest
0 голосов
/ 10 января 2020

Хотелось бы узнать, как я могу создать и загрузить таблицу измерений типа 2 (медленно меняющиеся) в облачную базу данных снежинок. В большинстве случаев загрузка этой таблицы включает обновления и вставки записей до 1-50 в день. Если мы будем следовать традиционному подходу, хранилище снежинок значительно вырастет во время выстрела, так как каждое небольшое изменение будет создавать отдельное хранилище на нагрузку.

Ответы [ 2 ]

1 голос
/ 10 января 2020

Вы можете перенести свои данные в постоянную таблицу с помощью операторов INSERT/UPDATE/DELETE/MERGE. Эта таблица будет представлять «текущее состояние» вашего измерения. В этой таблице вы можете создать объект STREAM, который отслеживает изменения, а затем настроить хранимую процедуру для сбора данных из потока и записи этих изменений в таблицу SCD2. Процедура может быть вызвана задачей, выполняющейся по расписанию, или вызвана из другой задачи, которая успешно обновляет таблицу «текущее состояние». Наконец, таблица SCD2 может быть временной, чтобы избежать дополнительных затрат на отказоустойчивость и дополнительные временные затраты (как Майк упоминал в своем ответе).

Поток:
Данные в таблицу "текущее состояние" -> Задача, выполняемая pro c читает из потока -> Обновления SCD2

Документация:
https://docs.snowflake.net/manuals/user-guide/streams.html

Хранилище дешево, но полезно знать о затратах.

1 голос
/ 10 января 2020

При вставках и обновлениях Snowflake создает новые микроперегородки, но в зависимости от того, какие у вас настройки времени поездки для таблицы, устаревшие микроперегородки будут отбрасываться. Так что я бы не стал сильно беспокоиться об этом (место тоже дешевое). Если вы обеспокоены тем, что путешествие во времени или отказоустойчивость создают дополнительную стоимость, вы можете использовать таблицу переходных процессов вместо постоянных таблиц. Они не будут иметь отказоустойчивых затрат.

https://docs.snowflake.net/manuals/user-guide/data-time-travel.html

https://docs.snowflake.net/manuals/user-guide/tables-temp-transient.html#comparison типов таблиц

Надеюсь, это поможет. В противном случае нет никакой разницы в том, как вы должны обрабатывать измерения типа 2.

...