Хороший паттерн для идентификации пользователя — должно быть три компонента: приватный id в базе (обычно UUID или число), идентификатор для логина (например, почта или какой-нибудь социальный логин) и публичный идентификатор (имя, или @name). Первый — постоянный, неизменный и, в идеале, никому (даже пользователю) не видный. Второй — личное дело пользователя и не должен быть виден другим, а id базы с ним связан как один ко многим.

Все это еще полезно с точки зрения ИБ: немного базы можно посмотреть в этом докладе. А еще можно почитать про курьезные случаи, из-за которых надо еще и ограничивать возможные варианты публичных идентификаторов.