データベースのID桁数はスカスカになるほど大きな桁を用意する必要があるのか?
データベースのID桁数はスカスカになるほど大きな桁を用意する必要があるのでしょうか?
こちらの動画で小飼弾さんがマイナンバーのデータベース設計に関して指摘をされていました。
小飼弾の論弾第二弾「システム論~マイナンバーが12桁って作ったやつらはバカじゃないの?」
https://youtu.be/e5m7Usw594o?t=30m15s
小飼さんの話では「日本国民の数が9桁に対してマイナンバーが12桁しかない。これでは番号の衝突が簡単に起こりうる。
クレジットカードの番号が16桁あるのはちゃんと意味があるの。スカスカでなきゃいけないの。」
とのことでした。これはなぜでしょうか?
例えばデータベースのユニークキーとしてのIDは連番で割り振っていくものと考えていました。「スカスカでなければ」というのはどういう意味なのでしょうか?
今までユニークなIDとして1100, 2100, 3100,とスカスカに割り振った経験はありません。巨大なデータベースではこのようなことをするのでしょうか?
12桁と9桁の差として1000倍もの数の余裕があるように感じるのですが、ユニークに割り振れない理由はなにになるのでしょうか?
日本国民の人口数ほどの巨大なデータベースではロックがそもそも効かないのでしょうか?