パーティショニングとは?
ぱーてぃしょにんぐ
パーティショニングとは、大規模なデータベーステーブルを論理的または物理的に複数の分割単位(パーティション)に分ける技術で、検索性能の向上やデータ管理の効率化を目的とします。
パーティショニングとは、大量のデータを格納したテーブルをあらかじめ定めた基準で複数の区画(パーティション)に分割し、管理・検索を効率化するデータベース技術です。テーブル自体の構造はアプリケーション側から見ると変わらないため、クエリの書き方を大きく変えずに性能を向上させられる点が特徴です。
主なパーティション方式には以下のものがあります。
- レンジパーティション:日付や数値の範囲で分割します。例えば月次・年次でデータを区切り、古いデータを別パーティションに隔離します。
- リストパーティション:地域コードや種別など、特定の値のリストで分割します。
- ハッシュパーティション:キー値をハッシュ関数で変換し、均等に分散させます。負荷の平準化に向いています。
- コンポジットパーティション:レンジとハッシュを組み合わせるなど、複数方式を組み合わせた複合分割です。
パーティショニングの主なメリットとして、検索対象のパーティションのみをスキャンする「パーティションプルーニング」による大幅な速度向上、古いデータを特定パーティションごとまとめて削除するメンテナンスのしやすさ、I/O負荷の分散などが挙げられます。一方で、パーティションキーをまたぐJOINや集計では効果が薄れるケースもあり、設計段階でのデータアクセスパターン分析が重要です。
使い方・例文
ログテーブルを月単位のレンジパーティションで分割しておくと、「先月分のみ集計」するクエリが対象パーティションだけを読み込むため、数億件規模でも高速に結果を返せます。
この用語をシェア
最終更新: