Skip to content

idとauto increment

   

DB設計するときのIDカラムについて。

昔ながらのシステムだと、auto increment使って連番が定番だと思うのだけど、PocketBaseでCollectionにRecord追加したとき、idは1ldTBeJNhX3jufuみたいな文字列が割り振られていて、そういえばFirebaseもそうだったな、と。

最近は文字列をIDにするのがトレンドなのかな、と思いちょっと調べてみた。

マイクロサービス化というかDBとAPIがネットワーク的に離れていたりして、レコードのinsertが終わるまでIDがわからない状態を嫌う場合は、リクエストを出す側でIDを生成してしまえば待つ必要がない、と。

auto incrementな連番の方が良い場合は、検索などのパフォーマンスを重視するとき。かな。

PocketBaseのIDは、UUIDとかではなくランダム文字列らしい。

(could change in the future)とコメントに書かれているので、将来的には変わるかも。