2023-01-26

テーブルを分割(水平)する必要があるのかどうか等を考えていたが、学習によりテーブルの分割はアンチパターンであることを知った。

  • SQL アンチパターン 8 章
  • 達人に学ぶ DB 設計徹底指南書 7.5 節

テーブルの水平分割に対しては、 DBMS のパーティショニングが手段となるとのことだった。

パーティショニングはテーブルの水平分割を DBMS 側で行い、クライアントに対しては 1 つのテーブルとしてアクセスさせることができるという機能らしい。

通信量のような時系列データにはレンジパーティションが向いてそうなところまで分かった。

  • データベース実践入門 11.3 節 パーティショニング

この利益は通常、そうしなければテーブルが非常に大きくなる場合にのみ価値があります。 テーブルがパーティショニングから利益を得られるかどうかの正確な分岐点はアプリケーションに依存しますが、重要なことはテーブルのサイズがデータベースサーバの物理メモリより大きいことです。

このドキュメントの使い方をざっと眺める限り、パーティション分割の操作そのもはテーブル分割してるのに似てて不便そうだなと思った。

today i learned

  • OLTP: Online Transaction Processing