У меня есть локальная система crm, из которой я извлекаю данные для потока данных вниз по течению.
Данные будут перемещены через процесс ETL.
Для сущностей я могу проверить, существуют ли они уже, используя один из двух методов:
их бизнес-ключ, который должен быть уникальным, но иногда - нет. Мы настаиваем на принудительном внедрении процессов, чтобы гарантировать, что они будут уникальными, поэтому это не должно вызывать проблем при запуске.
Извлечение GUID CRM, поэтому я знаю, что точная строка в восходящей системе совпадает со строкой в нисходящей системе.
Идентификатор CRM GUID гарантированно позволяет мне сопоставлять строку в восходящем потоке, однако нисходящая система теперь тесно связана с CRM, что мне неудобно.
Использование бизнес-ключа лучше, но, как уже упоминалось, для обеспечения уникальности бизнес-ключа требуется, чтобы бизнес-процессы обеспечивали уникальность бизнес-ключа, а ETL прервется, если он не будет уникальным, по крайней мере до тех пор, пока данные не будут исправлены.
С точки зрения проектирования базы данных, есть ли здесь случай использовать GUID CRM?