В чём разница: UUID vs Long как PK для соцсети на 2 млн пользователей?

Ответ

Long: компактный, быстрый, но раскрывает количество (user/12345 → 12345 пользователей). UUID: безопаснее, но 2x размер индекса. UUIDv7 (time-ordered): лучший выбор — безопасность UUID + последовательность для B-tree без фрагментации.

Разбор: Long компактен и быстр, но раскрывает количество и позволяет перебор соседних id; UUID безопаснее, но занимает вдвое больше места в индексе, а случайный UUIDv4 ещё и фрагментирует B-tree из-за случайных вставок. Оптимум — UUIDv7 (time-ordered): сохраняет непредсказуемость UUID и при этом монотонно ложится в индекс. Дистракторы путают разрядность (UUID — 128 бит, а не 16), приписывают безопасность Long и хвалят именно случайный UUIDv4 за последовательность, что противоречит его природе.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться