結局UUIDは衝突するんですか(主にv4について)
@MatsuP8 @mpyw そのライブラリを生で使うなら、時刻や何らかの固有値を利用した形式に対応してるので大丈夫そうです。v4個定はPHPの生uniqid以下ですね。バイト長が合っててそれらしく見えるだけのゴミ、いや初心者騙しの迷惑でしかないですね
2019-10-29 01:09:33自分は Laravel では Str::orderedUuid() 使ってました。「件数自体は膨大だけど単位時間あたりに生成されるレコードは最大でも50程度」みたいな前提があるならこっちのほうが衝突しにくいと思ったので
2019-10-29 01:09:51Laravel の notifications テーブルデフォだと Str::uuid() になるけど今たぶん5000万行とかになってる このレベルだと衝突確率無視できないぐらいはあると思う、でも Str::orderedUuid() だとある程度安全
2019-10-29 01:12:54あと insert on duplicate key update を頻繁に使う場合は UUID のほうが望ましいです オートインクリメントだとID食いまくるので
2019-10-29 01:19:24@n_1215 違うんですよ、乱数だからUUIDが衝突する可能性があるって思わせてしまう、ユニバーサルユニークの本当の意味を理解することを阻害してて平気なところが、技術者としてのクソさをあのハゲに見出してしまうんですよ
2019-10-29 01:29:31デバイス固有値というと難しいけど、ようするに、グローバルIPアドレスとか、ドメイン名+ロードバランサー番号とか、自分が絶対にユニークだと認識できる要素を含んで、かつ、計算速度より速いタイムスタンプ含めば、論理的にユニークだと言えるし、仮に衝突しても自分で制御可能なんですよ
2019-10-29 02:31:07十分に長い乱数はユニークとほぼ等価ってのはいいんですよ。それで事故ってもそれは太陽フレアみたいなものだから、自分で納得して使うぶんには。ただ、UUIDがなぜUUなIDなのかを理解して使う機会を奪うような真似を平気でやってしまうのが、自分さえ良ければ他人はバカでいいと思われてるようで腹立つ
2019-10-29 03:08:58誤解を招きそうだから擁護しておくと、Str::uuid()からデフォルトで生成されるもの自体はramsey/uuidのライブラリからの直の出力を流しているだけだしおかしいわけではない。普通のUUIDv4。 ただ、グローバルに使えるstaticメソッドを持つStrクラスにstaticな状態が増えてが一歩神に近づいたなってだけ
2019-10-29 10:50:12衝突の確率