UUID v1ジェネレーター
タイムスタンプベースのバージョン1 UUIDを生成
タイムスタンプベースのバージョン1 UUIDを生成
v1 UUIDには、60ビットのタイムスタンプ(1582年10月15日からの100ナノ秒単位の間隔)、クロックシーケンス、ノードIDが含まれます。このジェネレーターはMACアドレスではなく、ランダムなノードIDを使います。タイムスタンプのフィールドは下位ビットから格納されるため、v1の文字列は時刻順に並びません。並べ替え可能なIDにはv7を使い、v1はCassandraのtimeuuidのようにシステムが必要とする場合にだけ使ってください。
6ba7b810-9dad-11d1-80b4-00c04fd430c8import uuid
uuid.uuid1()従来のv1の実装ではネットワークカードのMACアドレスが埋め込まれており、マシンを特定できる可能性がありました。このジェネレーターはランダムなノードIDを使うため、ハードウェアのアドレスが露出することはありません。ただし、作成日時はどのv1 UUIDからも読み取れます。
はい。タイムスタンプはtime_low、time_mid、time_hiの各フィールドに格納されているため、作成日時を100ナノ秒の精度で復元できます。
新しいシステムならv7をおすすめします。v7もタイムスタンプを含みますが、自然な順序で並び、ノード識別子を含みません。v1は互換性が必要な場合にのみ選んでください。