powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Суррогатные ключи в MS SQL Server
12 сообщений из 12, страница 1 из 1
Суррогатные ключи в MS SQL Server
    #39839860
Виктор Сакович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

В нашем текущем проекте первичные ключи генерируется как суррогатные, средствами MS SQL Server.

При переходе из системы разработки в систему тестирования выяснилось, что ключи сгенерировались в разных системах разные, хотя источник данных использовался оин и тот же. А уже куча фильтраций наделано на основе этих ключей, то есть есть проблемы. Разработчики ETL утверждают, что нельзя никак обеспечить идентичность ключей в разных системах.

Так ли это?
...
Рейтинг: 0 / 0
Суррогатные ключи в MS SQL Server
    #39839889
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор Сакович,

теоретически при довольно многих сценариях вполне так,
практически - зависит от самих данных и алгоритмов генерации ключей,
например есть hash, но при росте данных и есть вероятность одинаковых хэшей.

так-же есть композитные ключи с определёнными нюансами правил генерации в sk
(с разделителями и без) с ними проще: при одинаковых данных результат идентичен.

естественно эти методы делают sk тяжелее замедляя системы
...
Рейтинг: 0 / 0
Суррогатные ключи в MS SQL Server
    #39840007
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор Сакович,

самый простой и чтоб потом "нельзя никак" - это GUID. точно никак в этом случае.
...
Рейтинг: 0 / 0
Суррогатные ключи в MS SQL Server
    #39840317
Фотография George Nordic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор, я понимаю что много копий поломано на поле "суррогатные vs естественные", но, может, стоит подумать над естественными ключами? Конкатенация ключевых полей, например? Падение производительности - еще не факт, а вот дебажить будет легче. Свяжите по ним, потом параллельно делайте суррогат и смотрите, правильно ли отработал алгоритм их генерации и связывание. потом на них перейдете, если будет смысл.

С Уважением,
Георгий
...
Рейтинг: 0 / 0
Суррогатные ключи в MS SQL Server
    #39840631
Полковник.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
George Nordic,

В его вопросе вообще мало смысла. Как можно было смешать первичный и суррогатный ключ? Первичный ключ это уровень логики любой БД, суррогатный -это уровень логики ХД.
...
Рейтинг: 0 / 0
Суррогатные ключи в MS SQL Server
    #39840637
Denis@nk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если база не сильно большая, то самый простой способ это для тестирования восстанавливать бэкап из рабочей, важные данные в фактах можно стирать чтобы не подсматривали. Ну и соответственно как то настраивать доступ, чтобы при тестировании не могли сгенерить запись в справочнике с неправильной ИД.
...
Рейтинг: 0 / 0
Суррогатные ключи в MS SQL Server
    #39840685
bideveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что за фильтрации по суррогатным ключам? Обычно фильтруют по чему-то осмысленному.
...
Рейтинг: 0 / 0
Суррогатные ключи в MS SQL Server
    #39840701
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bideveloperА что за фильтрации по суррогатным ключам? Обычно фильтруют по чему-то осмысленному.если осознанно и в ручную то чаще да,
если автоматизированно через модель данных - то логика
оптимизации может довольно широкий диапазон исходов прописать,
особенно если sk становится pk измерения
...
Рейтинг: 0 / 0
Суррогатные ключи в MS SQL Server
    #39841092
Виктор Сакович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день,

Всем спасибо за ответы. Информация более чем исчерпывающая.
...
Рейтинг: 0 / 0
Суррогатные ключи в MS SQL Server
    #39841534
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самые важные ключи как правило в справочниках.
Поэтому их надо синхронизировать. Способы разные. Нет смысла их обсуждать.
...
Рейтинг: 0 / 0
Суррогатные ключи в MS SQL Server
    #39846461
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полковник.George Nordic,

В его вопросе вообще мало смысла. Как можно было смешать первичный и суррогатный ключ? Первичный ключ это уровень логики любой БД, суррогатный -это уровень логики ХД.

Кидали данные как попало, куда попало, откуда попало, про методологии "не, не слышали". Написали фильтров типа WHERE HER_ID IN (GUID1, ... GUID351), а теперь спрашивают, а почему у нас все через ж...

Что делать? Читать книгу "DataWarehouse lifecycle Toolkit". И не говорить, "ой, нам некогда, нам нужно нашу задачу срочно в прод."
...
Рейтинг: 0 / 0
Суррогатные ключи в MS SQL Server
    #39846534
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin,

ну прочитал я ее вдоль и поперек - все правильно все красиво! толку-то?
на деле как было через ж... так и осталось:
"как попало, куда попало, откуда попало ... написали фильтров типа WHERE HER_ID IN (GUID1, ... GUID351)"
зато начитанные!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Суррогатные ключи в MS SQL Server
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]