| 1864424336924868608 | |
|---|---|
スノーフレークID | |
| その他の名前 | Twitter スノーフレーク X スノーフレーク |

スノーフレークID、またはスノーフレークは、分散コンピューティングで使用される一意の識別子の形式です。この形式はTwitter(現在のX)によって作成され、ツイートのIDに使用されています。[1]すべてのスノーフレークは固有の構造を持っていると広く信じられているため、「スノーフレークID」という名前が付けられました。この形式は、DiscordやInstagramなどの他の企業にも採用されています。Mastodonソーシャルネットワークは、修正版を使用しています。
形式
スノーフレークは2進数で64ビットです。(符号付き整数に収まるように63ビットのみが使用されます。)最初の41ビットはタイムスタンプで、選択されたエポックからのミリ秒数を表します。次の10ビットはマシンIDを表し、衝突を防ぎます。さらに12ビットはマシンごとのシーケンス番号を表し、同じミリ秒間に複数のスノーフレークを作成できるようにします。最後の番号は通常、10進数でシリアル化されます。[2]
スノーフレークは作成された時間に基づいているため、時間で並べ替えることができます。 [2]さらに、スノーフレークが作成された時間はスノーフレークから計算できます。これを使用して、特定の日付の前または後に作成されたスノーフレーク(および関連するオブジェクト)を取得できます。[3]
例
2022年6月に@Wikipediaによって生成されたツイート[4]には、スノーフレークID 1541815603606036480があります。この数字は2進数に変換すると00 0001 0101 0110 0101 1010 0001 0001 1111 0110 0010 00|01 0111 1010|0000 0000 0000となり、パイプ記号はIDの3つの部分を示しています。
- 最初の41ビット(+上位1ビットのゼロ)を10進数に変換すると367597485448となる。この値をXエポックの1288834974657(Unix時間ミリ秒単位)に追加すると、[5]ツイートのUnix時間は1656432460.105:2022年6月28日16:07:40.105 UTCとなる。
- 中央の 10 ビット01 0111 1010はマシン ID です。
- 最後の 12 ビットはすべてゼロにデコードされます。つまり、このツイートは、指定されたミリ秒でマシンによって処理された最初のツイートです。
使用法
このフォーマットは、Twitterによって2010年6月に初めて発表されました。[1]実装上の課題のため、アップデートの展開はその年の後半まで待たれました。[6]
- Twitterはツイート、ダイレクトメッセージ、ユーザー、リスト、およびAPI経由で利用可能なその他すべてのオブジェクトにスノーフレークIDを使用します。[7]
- Discordもスノーフレークを使用しており、そのエポックは2015年の最初の秒に設定されています。[3]
- Instagramは、タイムスタンプに41ビット、シャードIDに13ビット、シーケンス番号に10ビットのフォーマットの修正版を使用しています。 [8]
- マストドンの修正されたフォーマットはUNIXエポックを使用しているため、ミリ秒レベルのタイムスタンプに48ビットあります。残りの16ビットはシーケンスデータ用です。[9]
参照
参考文献
- ^ ab King, Ryan (2010年6月1日). 「Announcing Snowflake」. blog.twitter.com . Twitter . 2021年1月18日閲覧。
- ^ ab "twitter-archive/snowflake at b3f6a3c6ca". GitHub . 2012年10月1日. 2021年1月18日閲覧。
- ^ ab 「APIリファレンス」。Discord開発者ポータル。 Discord 。 2021年1月18日閲覧。
- ^ @Wikipedia (2022年6月28日). 「53年前の今日、LGBTQI+コミュニティのメンバーは、人気のゲイバーであるストーンウォールインへの警察の強制捜査に反応して、ニューヨーク市で抗議活動を始めました。この暴動は、米国におけるLGBTQI+の権利を求める20世紀の闘いにおいて変革をもたらす出来事でした。(1/2)」(ツイート) – Twitter経由。
- ^ 「2019-08-03: TweetedAt: SnowflakeツイートIDの前後のツイートタイムスタンプの検索」。2019-08-03。
- ^ Siegler, MG (2010年10月12日). 「Snowflakeのライブ配信開始に伴い、ツイートIDが猛吹雪でごちゃ混ぜになる」TechCrunch . 2021年1月18日閲覧。
- ^ 「Twitter ID」。Twitter開発者。Twitter 。 2021年1月20日閲覧。
- ^ 「Instagram のシャーディングと ID」。Instagramエンジニアリング。2016 年 5 月 2 日。2021年1 月 18 日閲覧。
- ^ ソースコードmastodon/mastodon、Mastodon、2022年11月11日、 2022年11月11日取得
外部リンク
- GitHub上の Twitter のリファレンス実装
- スノーフレークID生成ツール
