Parallel Database Systems: The Future of High Performance Database Systems (1992)

September 25, 2021

データベースの処理性能を上げる方法として、汎用的なコンピュータによる水平パーティションのシェアードナッシング構成を主張した。 特殊なハードウェアを使ったり、メモリ、ディスクを共有する複数のコンピュータを使ったりするよりも、単純で安く実装できる。 論文が発表された1992年の時点でTeradataやTandem NonStopなどのパーティンション化されたデータベースがある。

水平分割の方法にround-robin, hashing partitioning, range partitioningがある。 round robinはデータが順番かつ直列的に問い合わせられるときは有効だが、特定の値でレコードを検索する用途にはむかない。

Hasing partitioningは、属性値のハッシュ値で保存先のデータベースを決める。 ハッシュ値の計算につかう属性値が同じであれば問い合わせ先のデータベースが一緒になり、クエリを実行すべきディスクの数がへる。 問い合わせが直列的かつ属性の値を指定したものだけであるときに有効に機能する。

一緒に検索されやすいデータは、物理的にディスク上の近くに配置しておくことがのぞましい。 range partitioningは、属性値の似ているレコードを同じパーティションに保存することで、直列的な問い合わせや属性値による問い合わせだけでなく、一緒に問い合わせられやすいレコードを同じパーティションに保存できる。 ただし、Hashing partitioningやround robinに比べ、データの保存先が特定のパーティションにかたよるおそれがある。

論文をこちらからダウンロードできます。