パーティショニング【partitioning】

概要

パーティショニングとは、データベース管理システムDBMS)の機能の一つで、膨大なデータが記録された巨大なテーブルを、一定の規則にもどついて複数の小さなデータ断片に分割して管理する手法。利用者やアプリケーションからは一つのテーブルに見えるが、物理的には分割して保存される。
パーティショニングのイメージ画像

リレーショナルデータベース(RDB)で一つのテーブルに格納されるデータ量が増大すると、特定の情報を探し出すための検索処理や、データの追加・更新にかかる時間が極端に長くなる。パーティショニングは、この巨大な塊を何らかの規則に基づいて切り分けることで、処理の効率化を図る。

例えば、数年分の売上データがある場合、月ごとにパーティションを分ければ、先月のデータだけを検索する際に、過去数年分すべてのデータを走査する必要がなくなり、対象のパーティションのみにアクセスすれば済むようになる。データの分割や統合はDBMSが内部的に処理し、利用者やアプリケーションは分割を意識することなく、引き続き単体の巨大なテーブルとして扱うことがでいる。

主な分割手法として、データの行単位で分ける「水平分割」と、列単位で分ける「垂直分割」が存在する。水平分割は、同じ構造のデータを範囲や値に基づいて振り分けるもので、大規模な履歴データの管理などで用いられる。垂直分割は、頻繁に使用する項目とそうでない項目を別々に保存することで、一度に読み込むデータ量を削減するために用いられる。

また、データを振り分ける基準もいくつかあり、用途やデータ特性に応じて適切な方式が選択される。代表的な方式として、値の範囲を指定して分割するレンジパーティション(範囲パーティション)、値のリスト単位で分割するリストパーティション、ハッシュ関数を用いて均等に分散するハッシュパーティションなどがある。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。