Каков тип данных facebook userid

Какой тип данных facebook использует для хранения идентификатора пользователя, какой должен быть лучший тип данных для такой производительности поля и масштабируемости.

Если использовать int 4 байта, то я думаю, что он недостаточно велик, если 8 байтов int, то как назначить случайные числа каждому пользователю или тому же для строки.

Итак, каков наилучший способ дать пользователю случайный идентификатор длины исправления, учитывая масштабируемость и производительность?

Хороший вопрос. Идентификаторы Facebook могут привести к проблемам, а также к идентификаторам Tweet. Оба превышают 32-битный целочисленный диапазон. В зависимости от специфики языка программирования и цели (например, базы данных, кода и т. Д.) Вы можете использовать float или double, но по моему опыту литье их в строку удовлетворительно.

В MySQL, как указано, предоставляется тип данных BIGINT , который достаточно велик, чтобы хранить эти идентификаторы в виде чисел. Трудная часть – это когда вы читаете эти значения и обрабатываете их в своем программном коде. Те, которые больше, чем максимально допустимые с помощью архитектуры системы / языка программирования, будут вызывать ошибки или усекаться, приводят к несогласованности.

Если вы хотите использовать большие идентификаторы фиксированной длины в MySQL, хорошей практикой является использование типа CHAR и HEX, например, или вы можете использовать формат UUID .

Используйте BIGINT (64) для хранения идентификаторов пользователей Facebook в таблице базы данных MySQL.
Здесь вы найдете: https://developers.facebook.com/blog/post/45/