Да, может быть дубликат, но это не так. GUID имеет длину 32 символа, и каждый символ может быть 0-F (шестнадцатеричный). Это означает 16 ^ 32 возможностей.
Таким образом, если вы генерируете 1 000 000 GUID каждую секунду в течение 10 лет, вероятность создания дубликата составляет около 1 / 1079028307080601418897053.
По моему мнению, GUID является очень хорошим кандидатом первичного ключа, так как вы можете сгенерировать его из любого места без предварительной проверки, существует ли он уже в базе данных.