Но у него есть значительные ограничения. Первое заключается в том, что в ETL hub, satellite, link приходится делать join на hub, чтобы вытащить суррогатный ключ. Сами понимаете, дополнительный join может замедлить (в некоторых случаях весьма замедлить) время отработки ETL. А теперь представьте, что у вас сотни, а то и тысячи хабов и сателлитов, следовательно тысячи дополнительных join.
Хотя дополнительные join еще полбеды. Главная же проблема состоит в том, при таком подходе вам требуется последовательно сначала обновлять hub, потом link и satellite. Потому что суррогатные ключи генерируются и записываются именно в hub, что вызывает зависимость link и satellite от hub.