Twitterのstatus IDの仕組みが変わる

これ一部の人にとっては大きな変化かもしれないんだけど
あまり話題になってるのを聞かないし
検索しても日本語の情報が見あたらなかったので書いておきます。

2010年の9月21日から
Twitter の status ID の仕組みが変わる模様。

これは Twitter のデータを扱うシステムを
MySQL から Cassandra へ移行することによるものみたい。

Cassandra にはユニークな ID を生成する仕組みがないので、
status ID のようにソート可能な ID を利用するため
新たに Snowflake を導入するとのこと。

上記リンク先に細かいことが書かれてるんだけど、
これに関連する重要なポイントを書いておくと

  • 今後も status ID は 64 bit の符号なし整数値で表される。
  • 今後も status ID は重複しない。ID だから当然と言えば当然だけど。
  • 今後も status ID の数値は増加していく。同じ日の朝に投稿されたツイートより、遅い時間のツイートの方が大きい数字の ID を持つ。
  • 今後も status ID を使ってツイートをソートすることはできる。ただしその精度はおおよそ1秒で、1秒以内に投稿されたツイート同士は順序を持たない
  • API のメソッドは全てこれまで通り動作する。
  • これまでに生成された status ID は変わらない。
  • 新システムに変更された時点で、status ID の数値は大きくジャンプする。

これ、さらりと書かれてるけど
3番目の項目は結構気になる人もいるんじゃないかなあ。
もう1秒以下の単位では発言の前後がわからなくなるんですね。

いやでもコンマ何秒レベルの前後か。どうでもいいわ。

  • このエントリーをはてなブックマークに追加