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
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."
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"?
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.
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.
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.
I think you're confusing Facebook with MySpace, which doesn't have this problem as they appear to still use a flat-file database updated in notepad.