Data Vault 2 можем ли мы построить спутники без определения первичного ключа?

Я работаю над созданием простой модели хранилища данных, чтобы загрузить ее в снежинку. У меня какая то проблема со всеми спутниками. Я знаю, что добавление суррогатных ключей с автоматическим цементом в сат не является ни неправильным, ни практичным, что означает, что мы можем добавить его, но это ничего не будет представлять для всего дизайна. Каждый SAT содержит хэш-ключ, поступающий из соответствующего концентратора и представленный как FK.

  1. Я думаю, что выбор LOAD_DATE в качестве PK приведет к дублированию значений PK.

Можем ли мы пропустить часть добавления первичного ключа к SAT в DV2.0?


person alim1990    schedule 06.01.2021    source источник


Ответы (1)


Не уверен, где вы получаете информацию о моделировании DV, но добавление автоматически увеличивающегося суррогатного ключа в Sat вообще не соответствует стандартам DV. Никогда не был.

PK Sat ВСЕГДА является PK от Hub (ключ Hub Hash) плюс LOAD_DTS. Отношение концентратора к спутнику ВСЕГДА моделируется как 1: M.

Так что нет - вы не можете и не должны пропускать определение PK для вашего Sat.

Если вы мне не верите - прочтите, пожалуйста, любой из моих блогов о хранилище данных или опубликованные книги по хранилищам данных от Amazon. Вы также можете посмотреть DataVaultAlliance.com

person Kent Graziano    schedule 06.01.2021
comment
Я верю вам, сэр. но для DDL я должен установить LOAD_DATE в качестве первичного ключа в сценариях DDL? - person alim1990; 07.01.2021
comment
И держать хеш как FK идущий от хаба? Я имею в виду как в DDL - person alim1990; 07.01.2021
comment
Вам нужен составной PK с хеш-ключом + LOAD_DATE, а также сохраните FK на хеш-ключе для концентратора. См. Диаграмму в разделе «Хэш-ключ» этого сообщения snowflake.com/blog/ - person Kent Graziano; 07.01.2021