|
|
|
Суррогатные ключи в MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Добрый день. В нашем текущем проекте первичные ключи генерируется как суррогатные, средствами MS SQL Server. При переходе из системы разработки в систему тестирования выяснилось, что ключи сгенерировались в разных системах разные, хотя источник данных использовался оин и тот же. А уже куча фильтраций наделано на основе этих ключей, то есть есть проблемы. Разработчики ETL утверждают, что нельзя никак обеспечить идентичность ключей в разных системах. Так ли это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2019, 12:08 |
|
||
|
Суррогатные ключи в MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Виктор Сакович, теоретически при довольно многих сценариях вполне так, практически - зависит от самих данных и алгоритмов генерации ключей, например есть hash, но при росте данных и есть вероятность одинаковых хэшей. так-же есть композитные ключи с определёнными нюансами правил генерации в sk (с разделителями и без) с ними проще: при одинаковых данных результат идентичен. естественно эти методы делают sk тяжелее замедляя системы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2019, 12:47 |
|
||
|
Суррогатные ключи в MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Виктор Сакович, самый простой и чтоб потом "нельзя никак" - это GUID. точно никак в этом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2019, 15:54 |
|
||
|
Суррогатные ключи в MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Виктор, я понимаю что много копий поломано на поле "суррогатные vs естественные", но, может, стоит подумать над естественными ключами? Конкатенация ключевых полей, например? Падение производительности - еще не факт, а вот дебажить будет легче. Свяжите по ним, потом параллельно делайте суррогат и смотрите, правильно ли отработал алгоритм их генерации и связывание. потом на них перейдете, если будет смысл. С Уважением, Георгий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2019, 09:51 |
|
||
|
Суррогатные ключи в MS SQL Server
|
|||
|---|---|---|---|
|
#18+
George Nordic, В его вопросе вообще мало смысла. Как можно было смешать первичный и суррогатный ключ? Первичный ключ это уровень логики любой БД, суррогатный -это уровень логики ХД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2019, 16:47 |
|
||
|
Суррогатные ключи в MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Если база не сильно большая, то самый простой способ это для тестирования восстанавливать бэкап из рабочей, важные данные в фактах можно стирать чтобы не подсматривали. Ну и соответственно как то настраивать доступ, чтобы при тестировании не могли сгенерить запись в справочнике с неправильной ИД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2019, 16:56 |
|
||
|
Суррогатные ключи в MS SQL Server
|
|||
|---|---|---|---|
|
#18+
А что за фильтрации по суррогатным ключам? Обычно фильтруют по чему-то осмысленному. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2019, 18:39 |
|
||
|
Суррогатные ключи в MS SQL Server
|
|||
|---|---|---|---|
|
#18+
bideveloperА что за фильтрации по суррогатным ключам? Обычно фильтруют по чему-то осмысленному.если осознанно и в ручную то чаще да, если автоматизированно через модель данных - то логика оптимизации может довольно широкий диапазон исходов прописать, особенно если sk становится pk измерения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2019, 19:13 |
|
||
|
Суррогатные ключи в MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Добрый день, Всем спасибо за ответы. Информация более чем исчерпывающая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2019, 18:20 |
|
||
|
Суррогатные ключи в MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Самые важные ключи как правило в справочниках. Поэтому их надо синхронизировать. Способы разные. Нет смысла их обсуждать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2019, 17:11 |
|
||
|
Суррогатные ключи в MS SQL Server
|
|||
|---|---|---|---|
|
#18+
Полковник.George Nordic, В его вопросе вообще мало смысла. Как можно было смешать первичный и суррогатный ключ? Первичный ключ это уровень логики любой БД, суррогатный -это уровень логики ХД. Кидали данные как попало, куда попало, откуда попало, про методологии "не, не слышали". Написали фильтров типа WHERE HER_ID IN (GUID1, ... GUID351), а теперь спрашивают, а почему у нас все через ж... Что делать? Читать книгу "DataWarehouse lifecycle Toolkit". И не говорить, "ой, нам некогда, нам нужно нашу задачу срочно в прод." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 16:03 |
|
||
|
Суррогатные ключи в MS SQL Server
|
|||
|---|---|---|---|
|
#18+
a_voronin, ну прочитал я ее вдоль и поперек - все правильно все красиво! толку-то? на деле как было через ж... так и осталось: "как попало, куда попало, откуда попало ... написали фильтров типа WHERE HER_ID IN (GUID1, ... GUID351)" зато начитанные! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2019, 17:32 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39840701&tid=1857535]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 402ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...