## モジュール 4: ホットスポットを回避するために AUTO_INCREMENT の代わりに AUTO_RANDOM を使用する

+ TiDBのような分散データベースでは、データは複数のストレージノード（TiKVノード）にリージョンとして分割され分散されています。

+ `AUTO_INCREMENT` の問題点:
  + `AUTO_INCREMENT` を使用すると、IDは連続的になります（1, 2, 3, 4, ...）
  + 新しい挿入はすべて、最新のIDが格納されている同じリージョンに向かいます
  + これにより、1つのストレージノードが大部分の書き込みトラフィックを処理する「ホットスポット」が生じます
  + 残りのストレージノードは十分に活用されません
  + このボトルネックにより、書き込みスループットが著しく制限される可能性があります

+ `AUTO_RANDOM` の解決策:
  + `AUTO_RANDOM` は非連続的で分散されたIDを生成します
  + これらのシャードビットは、書き込みを異なるリージョンに分散させるのに役立ちます
  + INSERT ワークロードはすべてのストレージノードに分散されます
  + これにより、高並行性シナリオでの書き込みスループットとスケーラビリティが向上します

  ```bash
  poetry run python mysql_connector_python_demo/auto_random.py
  ```

  ```output
  ...
  AUTO_RANDOM IDs (distributed to avoid hotspots):
  3
  288230376151711748
  1441151880758558729
  1729382256910270465
  3458764513820540934
  3458764513820540935
  4899916394579099650
  5764607523034234888
  6917529027641081866
  7782220156096217093

  AUTO_INCREMENT IDs (sequential, can cause hotspots):
  1
  2
  3
  4
  5
  6
  7
  8
  9
  10
  ...
  ```
