ふと気になったやつ
UUID | 連番ID | |
---|---|---|
必要ビット数 | 128ビット | BIGINT 型64 ビット INT 型 32 ビット |
衝突 | 理論上起こり得る | サイズ制限により可能性あり |
分散システム | 分散システムでうまく機能する | 値の重複を避けるために調整コンポーネントが必要です |
サポート | NoSQL と分散データベースによって適切にサポートされています | NoSQL および分散データベース内での使用は推奨されません。 |
規則性 | あるにはあるが複雑なため、予測しにくいし覚えるのが難しい | 数字の連番であるため、予測しやすいし覚えやすい |
INSERTとかSELECTとかの挙動
UUID型は、適切なキャッシュ戦略がないので純粋にテーブル全体に対するキャッシュ率の勝負になる。
ということらしい
UUIDv6,v7,v8はこれらの問題解決したものになる。ってさ
いろいろ問題解決した定義 postgres
URLとかに使えるUUIDの定義の仕方だってお
CREATE TABLE XXX(
id SERIAL,
uuid UUID NOT NULL,
PRIMARY KEY (id)
UNIQUE (uuid)
)