Я работаю над переносом баз данных SQL Server в хранилище данных Azure. У меня были таблицы измерений в более ранней БД, у которых были тусклые идентификаторы (в основном целочисленные значения), и они упоминались в таблицах фактов для упрощения выборки данных. Эти тусклые идентификаторы были сгенерированы с использованием столбцов идентификации.

Теперь в хранилище данных Azure значения столбца идентификаторов генерируются случайным образом, и я не уверен, использовать ли здесь эти нечеткие идентификаторы. Если эти идентификаторы не используются, можно использовать текстовые столбцы, но это, в свою очередь, увеличит время поиска и снизит производительность.

Итак, может ли кто-нибудь подсказать, как мне обрабатывать эти тусклые идентификаторы в хранилище данных Azure?

С Уважением,

Pratik

0
Pratik Somaiya 23 Ноя 2018 в 13:27

1 ответ

Лучший ответ

Вы можете использовать столбцы идентификаторов в хранилище данных SQL Azure. Эти значения не являются «случайными», они просто не упорядочены так, как вы видели бы в SMP-версии SQL Server.

https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-identity

Если вы предпочитаете альтернативу, вы можете использовать подобное вычисление для назначения суррогатного ключа во время вставки строки:

cast((select max(dim_sk) from dw.dim_xxx) + row_number() over (order by getdate()) as bigint) as dim_sk
3
Ron Dunn 23 Ноя 2018 в 12:41