А в чем тогда преимущество UUID перед обычным числом как PK?
Во многих проектах его ставят по умолчанию. Интересно почему
В твому питанні вище написано частково. Реалізації uuid гарантують надвисоку ймовірність відсутності колізій для більшості кейсів. Відповідно при взаємодії двох систем їм не потрібно самим займатись питанням ймовірних колізій в ідентифікаторах, а перекласти це на реалізацію uuid.
Наприклад, якщо ти використовуєш авто-інкремент, а твоя система інтегрується з іншими, тобі треба зберігати ще якийсь "бізнес-ідентифікатор" для своїх сущностей, щоб при міграції в іншу БД не злетіли зв'язки між сущностями. З uuid такої проблеми нема.
Інший кейс - зовнішня система хоче інтегрувати якусь свою сущность в твою систему. З простими ід, вона не зможе просто по тому ж ідентифікатору засунути тобі цю сущность, бо можуть бути колізії з твоїми сущностями. Но якщо ви юзаєте uuid, то унікальність гарантує його реалізація і можна сміливо інтегрувати, не створюючи додаткових ключів