スノーフレー ID 生成器(Twitter風)
ガイド
スノーフレー ID 生成器(Twitter風)
クラシックなTwitterビットレイアウトを使用して64ビットのSnowflake IDを生成:41ビットのミリ秒タイムスタンプ、10ビットのマシン/ワーカーID、および12ビットのミリ秒ごとのシーケンス。すべてのIDはクライアント側でBigInt算術を使用して生成され、ブラウザに何のデータも送信され、1台のマシンで1000個のIDを一括生成しても衝突が発生しない。
使用方法
- セット カウント (1から1000) でSnowflake IDの数を指定します。
- [表示モード]を選択してください マシンID 0から1023の間で、異なるワーカーからのIDが衝突しないようにします。
- 選択 エポック:Twitter(2010-11-04)、Discord(2015-01-01)、またはシンプルなUnix。
- を選択してください 出力フォーマット:小数、16進数、バイナリ、JSON、またはCSV。
- クリック 生成、結果をコピーまたはダウンロードします。
- 解読するには、既存のSnowflake IDをデコーダーに貼り付けて、そのタイムスタンプ、マシンID、シーケンス、16進数、および64ビットバイナリ分解を確認します。
機能
- 大量生成 – 1クリックで最大1000個の時系列順に並べられた64ビットIDを生成できます。
- 設定可能なマシンID – 分散展開用の完全な10ビット範囲(0-1023)。
- 複数のエポック – Twitter、Discord、およびUnixエポックのプリセットにより、複数システム間で互換性を確保。
- 複数の出力形式 – 小数、16進数、バイナリ、JSON、またはCSV。
- 組み込みデコーダー – 任意のSnowflake IDをタイムスタンプ、マシンID、シーケンス、16進数、およびバイナリ成分に逆算します。
- 正しいシーケンス処理 – 4096/msの予算が消費された場合、自動的に増加し、次のミリ秒を待つ。
- 完全にクライアントサイド – BigInt算術、サーバー呼び出しなし、ログなし。
よくある質問
-
Snowflake IDとは何ですか?
Snowflake IDは分散システム向けに設計された64ビット整数です。2010年にTwitterがこの形式を導入し、自動増分データベースIDに代わるようになりました:カスタムエポックのミリ秒タイムスタンプとマシン/ワーカーID、およびミリ秒ごとのシーケンスをパッケージ化することで、並べ替え可能で衝突のないIDを生成し、中央的な協調なしで生成できます。
-
41 + 10 + 12ビットレイアウトはどのように機能しますか?
最上位ビットは符号ビットとして予約されており、63ビットが利用可能になります。次の41ビットはカスタムエポックからのミリ秒数を表しており(約69年分の範囲)、次の10ビットはマシンまたはワーカーを識別(最大1024マシン)し、最終的な12ビットは1ミリ秒あたり4096個のIDを生成できるシーケンスカウンターです。
-
Snowflake IDが時間順に並びますのはなぜですか?
タイムスタンプが64ビット値の最も重要なビットに含まれているため、同じエポックの2つのSnowflake IDはまずタイムスタンプで比較され、その後にマシンIDおよびシーケンスで比較されます。これにより、IDのアルファベットまたは数値順序もほぼ時系列順になります。これはデータベースインデックス、ページネーション、ログ相関などに非常に便利です。
-
1ミリ秒あたり1台のマシンが4096個以上のIDを生成するとどうなりますか?
12ビットのシーケンスカウンターがオーバーフローします。正しいSnowflake実装はこのオーバーフローを検出し、システム時計が次のミリ秒に進むまで回転し、その後シーケンスをゼロにリセットします。このツールはこのパターンに従っており、1台のマシンで一括生成しても同じマシンで重複したIDが生成されません。
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
