Closed17
timestampベースのID生成
- timestampベースなユニークID生成がほしくなった
- 昔はsnowflakeとかあった
- 今はもうarchived
- https://qiita.com/kawasima/items/6b0f47a60c9cb5ffb5c4
- MongoDBのObjectID
- 生成類似
struct.pack(">I", int(time.time()))
>>> len(base64.b64encode(os.urandom(12)).decode("utf-8"))
16
12byteだとすると16文字?
momgodbの場合はhexにしてるっぽい
binascii.hexlify(os.urandom(12)).decode()
'ee96085f1d14e9cbaba9c0fa'
ULID
- https://github.com/ulid/javascript
- base32なのがちょっと惜しい感じ
-
https://github.com/Cysharp/Ulid
- base64として変換しているケースもありそう
uuid v1
乱数の衝突率系の話
分散システムのID生成の話
- https://www.slideshare.net/TanUkkii/id-60055342
-
https://pisuke-code.com/web-create-absolutely-unique-id/
- UUID使え
-
https://koduki.hatenablog.com/entry/2017/07/20/081354
- 単純なタイムスタンプで、並列度があるとミリ秒ならかぶる
- 逆に言えば並列性が無いようなシステムならタイムスタンプで十分?
gitのhashってどうなのか
-
http://blog.mwsoft.jp/article/173786778.html
- 衝突したら過去を上書き
このスクラップは2021/02/21にクローズされました