the matt harris informs us: 6) Why not restrict IDs to 53bits? A Snowflake ID is composed: * 41bits for millisecond precision time (69 years) * 10bits for a configured machine identity (1024 machines) * 12bits for a sequence number (4096 per machine) The factor influencing the length of the ID is the time. For a 53bit ID this would mean only 31bits are available for the time. 31bits is only enough for 24 days (2147483648/(1000*60*60*24)) of time. Reducing the resolution of the timestamp would prevent a K-sorted resolution of 1 second or less. __END__
Why does the precision need to be 1000x the resolution? That makes no sense to me. The only references I can find for "K sorted" are concerned with questions about "K sorted lists" where K is the number of different lists. Sorting the streams from all thousand machines into one stream you will have K=1024, sure, but if all those streams have millisecond precision timestamps, the sorted output will have resolution of two milliseconds. Half-second precision is sufficient to keep everything in the right second bucket, possibly even whole-second precision. Or is "K sorted" something besides a mondegreen that happens to include a letter? -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk