エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ユニークID生成方法snowflakeをPythonで書いてみた | 三鷹台でひきこもるプログラマの日記
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
ユニークID生成方法snowflakeをPythonで書いてみた | 三鷹台でひきこもるプログラマの日記
ユニークID生成方法としてはUUIDが有名だよね。 基本UUID(version4)で必要十分なんだけど、問題もあって... ユニークID生成方法としてはUUIDが有名だよね。 基本UUID(version4)で必要十分なんだけど、問題もあって 128bitもいらない、uint64で扱いたいのに 完全にランダムなのでソートする意味がない なんてのがよく出る欠点。 1はまだ我慢しろとか上位or下位64bit使ってなんとかするとか逃げようもある。 しかし2、特に時系列でIDが増加していって欲しいなんてリクエストがあると途端に使えなくなる。 で、RDBMSのオートインクリメント機能使ったり、きちんとロック処理入れてカラムに現在のIDを保持、ID生成するたびにインクリメント、とかやることになる。 それで何が嫌なのって、処理数が増えるとID生成の箇所が間違いなくボトルネックと化す。 処理を軽くしようとmemcachedやredis使った所で単一点なのは変わらず、クラスタ化か? なんて話となり、結構ブルーなのである。 で、な