Facebook Goes To 64 Bit User IDs
NewsCloud writes "Facebook has announced to developers that they are moving to a 64 bit user ID in November. At 32 bits, the current ID allows nearly 4.3 billion user accounts. Yet, despite having only 47 million users today, Facebook's move to 64 bits will allow it to have more than 18 quintillion (18,446,744,074,000,000,000) user accounts. Of course, there are currently only about 6.5 billion people in the world. Is Facebook setting their sights beyond Earth or just trying to avoid what happened when Slashdot ran out of space for comment IDs last year. Perhaps they are planning to implement personas."
Reminds me of a Facebook group: "If this group reaches 4,294,967,296 it might cause an integer overflow."
"Anyone who [rips a CD] is probably engaging in copyright infringement." - David O. Carson
One thing to keep in mind is the userid is network ID + user ID for that network
For my user ID the network ID takes up the first 6 digits
Although I have heard that they stopped this practice and are just assigning IDs
My UID is prime... is yours?
The "Slashdot ran out of space for comment IDs" link doesn't work.
You can get to the referenced article at:
http://meta.slashdot.org/article.pl?sid=06/11/09/1534204
You can be your own 5000 best friends.
finally I can register my bacteria colony!!
staphylococcus aureus #19392133943904 is in a relationship with staphylococcus caprae #93939394839483934
This has to one of the dumbest articles to reach the slashdot headlines.
So basically facebook changed there maximum users from a huge number to an even bigger number.
Are we going to post a news story everytime google adds to their storage system?
or microsoft adds another bloated line of code?
or everytime the telco's build a tower?
Clearly this is meant to accommodate two-faced people, people of multi-faced discrimination, and Hexadecimal.
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
I for one will take go with Facebook's initiative to welcome our new alien overlords who will certainly see Facebook's superiority to Myspace.
Help Me! I'm trapped in the tubes! Oh noes! Here comes a internet!
TFA says nothing specific to 'user ids' - it says object ids in general. I assume this includes things like comment ids, event ids, etc - which makes overflowing the 32 bit limit much more reasonable.
find / -name "*.sig" | xargs rm
If you think you might ever have more than 2^32 of something, you kind of have to go to 2^64. Yes. It's an obscene ammount of possibilities; but it's the next biggest size. You really don't have much of a choice here. You could implement 5-byte numbers, but it'd be a PiTA. No CPUs have native 5-byte ints. The progression has always been a doubling of int size.
If that doesn't make sense, you shouldn't be on Slashdot. Maybe you should be someplace else... like Facebook maybe?
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
They have to do something, what with all those pretty girls wanting to get to know me and give me private shows...
FlyingPizzas.com, for the tasteful hermit
The difference being that the current (huge) number was not quite sufficient to register all human beings on the planet, so we have to wonder why they did this. 32-bit integers are kind of the default, so most people wouldn't worry about it. So why are they doing this?
If you look, this article is filed under "It's funny. Laugh." And it is, really. Either Facebook is doing this for no good reason, or someone actually has some justification for going to the time and expense to change their database in this way. And so... Are they really planning on registering more human beings that exist?
I realize it's not funny to you now, as you've had to have the joke explained to you...
If they suddenly went from 2 gigs of email to 5 exabytes, then yes.
Also, keep in mind that Slashdot did cover when Gmail was first released with that 2 gigs, which seemed impossibly huge, and was at least one or two orders of magnitude larger than their closest competitor.
Don't thank God, thank a doctor!
The other thing to remember is that there might be a certain number of people in the world at any one time, but that people are born and die within that time [and old ones won't be deleted]. I don't think it's inconceivable that Facebook might reach their current limit in 20-25 years.
Even it if it's just user IDs, and not object IDs as another user posted...
* 64-bit user IDs are easier to partition. They could be using the top N bits as a database ID.
* They may want to allocate the IDs randomly instead of sequentially. 64-bit IDs would involve fewer collisions.
* We don't know what their account churn rate is; if people sign up, forget, and create new accounts again frequently, they could have many more than 47 million dormant accounts sitting around.
A 32-bit ID really does get cramped when you have a large user base.
64 bits are WAY FASTER than 32 bits!
How can I believe you when you tell me what I don't want to hear?
...is it backwards compatible with web 1.0...?
There is more to science than physics!
www.iomalfunction.blogspot.com
Not all of the bits of an ID are necessarily there for uniqueness. Wider ID's allow for features such as check digits (being able to tell whether an ID is valid without doing an existence query in a remote database) and other information. Namely, various immutable properties of the object that is denoted by the ID can be stored in the ID itself. This is similar to using spare bits within a machine address for tagging an object with a type or other attribute. It may be very useful to be able to tell something about an object just from the ID alone.
They actually are increasing the Object ID to 64-bits. The announcement is confusingly written, given, but objects in their system are things like events, groups, and basically everything. It's easy to imagine that they would hit the 32-bit limit on these at some point.
Finally, a little sensitivity for those of us with DID [wikipedia.org]
We can all just join "If this group reaches 18,446,744,073,709,551,616, it WILL cause an overflow"
So they changed the column type of userId from INT32 to INT64. Who gives a fuck? It would be much less expensive for Slashdot to simply post SQL change logs than to have editors on the clock.
We need the ability to mod stories, so that the editors can more clearly see when they aren't doing their job.
I just changed the type of column "content" on my blog from "text" to "mediumtext". I'm ready to give a press conference as to the reason behind my decision to all interested.
-you can harden your security by populating the user-id space sparsely. Somebody who is guessing for an user id will have an hard time.
-It can make things easier to have your user groups organized according to geographic location, company issuing th id (e.g. local branch), etc.
-Multiple log ins. Who knows. maybe it is easier to associate internally several uids with each uid (could make things more static).
So let's say:
10 bit for segmentation
20 for checksumming
4 for multiple logins
leaves only 29 bit as payload
Or somebody was just dumb and wanted to make sure he is not fired until all applicaitons are switched
If you read the article, it refers to event IDs. Which means, of course, that everything (?) that happens on Facebook is assigned an integer and they were running out of integers or at least foresaw that possibility. This is much, much more reasonable than wanting to register more people than exist on the earth right now. But it makes it a lot less newsworthy, and a whole lot more boring.
What is is all that is. Isn't that obvious?