タグ

UUIDに関するastk_fのブックマーク (3)

  • UUID(v4) がぶつかる可能性を考えなくていい理由 - Qiita

    お手軽にランダムなIDを取得したい時にUUIDはとても重宝します。 でもたまに、 「このID(UUID)ってぶつかることない?対策しなくて大丈夫?」 と聞かれることがあります。 それに対して、 「ウィキペディア先生がぶつからねえって言ってたから大丈夫だよ!(#゚Д゚)」 で切り抜けるのもそろそろ限界のような気がするのでちゃんと調べました。 (もちろんウィキペディア先生を頼りました!) 2つの理論 UUIDの衝突確率について考える上で次の2つの理論が重要になります。 鳩の巣原理 誕生日のパラドクス 鳩の巣原理 鳩の巣原理とは、 m個の入れ物にn個のものを入れるとき、n > m ならば少なくとも1個の箱には2個以上のものが入る 9個の巣箱に10羽の鳩が入る場合、必ずどれかの巣箱には2羽以上入ることになるということです!(ウィキペディア先生) 考えれば当たり前のことですが同様にして考えれば、 「

    UUID(v4) がぶつかる可能性を考えなくていい理由 - Qiita
    astk_f
    astk_f 2016/12/01
  • UUID version1の生成アルゴリズム - Qiita

    きっかけ 友「IDの採番にMySQLのAUTO INCREMENT使ってるけど、インサートしないとIDが作れないから面倒。」 友「UUID v1で採番するのってありだと思うんだけどどうだろう」 俺「けどUUIDってシーケンシャルじゃないからMySQLに格納するなら相性悪いで1」 友「UUID v1ってタイムスタンプとMACアドレスから生成するからシーケンシャルだと思うけど」 俺「え、そうなん?」 というわけで調べたらシーケンシャルじゃなかったんだけど、せっかく調べたのでUUID v1なIDの作り方をまとめる。 UUIDとは? UUIDはこんなID で、形式はこれなんだけど生成方法が5種類あって、よく使われるのはversion1と4。RFC4122で規定されている。このエントリではv1の方の作り方をまとめる2。 生成アルゴリズム UUIDのフォーマットは4つハイフンで区切られた5つのセクショ

    UUID version1の生成アルゴリズム - Qiita
  • Facebook, Twitter, Instagram等がどうやってIDを生成しているのか まとめ - Qiita

    まえがき データにIDを持たせたいとき、単純な方法としては、DBの提供するauto incrementを使う場合やUUIDを利用することがある。それぞれの方法の利点欠点は以下の通り。 データベースのauto incrementを使う場合 利点: 特別な実装が必要ない 欠点: DBを1台で運用するとデータベースがパフォーマンス・障害のボトルネックになる DBを二台にするとIDのユニークさや順序の保証が困難 UUID(v4)※1を利用する場合 利点: 分散環境で各々がIDを生成しても衝突しない IDを公開したくない場合に、推測されにくいIDを生成できる 欠点: 128ビット必要、DBのインデクシングやプログラミング言語で扱うときに不利なことがある IDから時間の情報が失われる、例えば2つのIDを比べてどちらが古い投稿か判断できない 世界の大企業がどうしてるか 調べてみると多くの企業がブログなど

    Facebook, Twitter, Instagram等がどうやってIDを生成しているのか まとめ - Qiita
  • 1