09.12.2014, 20:47 | #41 |
Участник
|
Цитата:
Код компании заодно можно добавить в атрибуты измерения Номенклатура и получить level-based иерархию Компания-Номенклатура. По этому же атрибуту можно будет в кубике или BI-системе разграничить доступ к элементам измерения. Но само собой, проблему унификации справочника это не решит. Тут действительно нужна или "взрослая" MDM или её самодельная реализация в аксе в виде таблиц соответствия. |
|
10.12.2014, 15:01 | #42 |
Участник
|
Вот с использованием HASHBYTES никак не соглашусь. В зависимости от алгоритма это минимум 16 байт. Мне думается, что уж гораздо проще использовать какой-нибудь другой способ генерации уникального значения с размером поменьше.
|
|
10.12.2014, 15:47 | #43 |
Участник
|
Можно конвертировать в bigint, тогда ключ будет 8 байт.
|
|
10.12.2014, 17:54 | #44 |
Участник
|
Если в DWH мы, как положено, используем суррогатные ключи, то размер бизнес-ключа (или durable-ключа) значения не имеет. Плюс-минус десяток микросекунд на запись при выполнении ETL-процесса - по сравнению с загрузкой/процессингом длиннющей таблицы фактов сущий пустяк.
Мы MD5 использовали как в качестве ключа, так и для того, чтобы проверять изменения хоть в таблице измерения, хоть в фактах. Можно лукапить только поле хэша вместо проверки каждого поля по отдельности. Последний раз редактировалось Alex_K; 10.12.2014 в 17:58. |
|
10.12.2014, 18:06 | #45 |
Участник
|
Цитата:
Сообщение от Alex_K
Если в DWH мы, как положено, используем суррогатные ключи, то размер бизнес-ключа (или durable-ключа) значения не имеет. Плюс-минус десяток микросекунд на запись при выполнении ETL-процесса - по сравнению с загрузкой/процессингом длиннющей таблицы фактов сущий пустяк.
Мы MD5 использовали как в качестве ключа, так и для того, чтобы проверять изменения хоть в таблице измерения, хоть в фактах. Можно лукапить только поле хэша вместо проверки каждого поля по отдельности. Не в строку же конвертировали? |
|
11.12.2014, 08:57 | #46 |
Участник
|
Цитата:
А вообще, в SQL Server 2008 и выше есть побитовые операторы. Сравнил, если результат равен 0 - налево, иначе - направо. Вообще, "зависит от...". Если важно иметь возможность (мало ли зачем) видеть значение ключа/атрибута глазками, лучше сразу привести к строке и сохранить в таблице. Опять же, стоимость хранения и чтения в запросах для такой строки невелика, да и использоваться это поле будет только в ETL. |
|