KSUIDジェネレーター

ブラウザ内でKSUID(並べ替え可能な一意ID)を生成。任意のタイムスタンプに対応。

オプション
結果

現在のバッチを他のサービスへ送信せず、ブラウザ内だけで KSUID を生成します。分散システムでも重複しにくく、しかも作成時刻のおおよその順序で並べたい ID が必要なときに便利で、ログ、タイムライン、インポートデータ、順序付きレコードに向いています。

KSUID を使う理由

KSUID は 32 ビットのタイムスタンプと 128 ビットのランダム値を組み合わせ、27 文字の Base62 文字列としてエンコードします。そのため各 ID はコンパクトで URL にも載せやすく、保存もしやすい一方、埋め込まれたタイムスタンプによって新しい値が古い値の後ろに並びやすくなります。

現在時刻とカスタム時刻の使い分け

本番データ、デモ、通常の一括生成で新しい ID を作るなら現在時刻を使います。再現可能なフィクスチャ、後から追加するレコード、移行サンプル、特定の時点に作成されたように見せたいテストケースにはカスタムタイムスタンプが適しています。

エクスポート前に知っておきたいこと

KSUID が保持する精度は秒単位だけなので、ミリ秒を含む入力はその秒の先頭へ切り捨てられます。同じ秒に作られた ID でも一意性は保たれますが、最終的な並び順はランダム部分にも左右されます。つまり KSUID は「時刻で並べやすい」ID であり、「厳密に連番になる」ID ではありません。