一般社団法人 全国個人事業主支援協会

COLUMN コラム

最近、現場でOracleパーティションについて学び、実システムで利用しています。

結構便利だけど、使ってみないと見えない罠なんかもあったので、己の知見としてまとめておこうと思います。

 

[参考文献]

実践!パーティションの基本から実装例まで

 

1.パーティションとは

テーブル内の大量データを、いくつかの表(パーティション)に分割して保持しようという考え方になります。

今の現場では、約9億件のデータ(3TB)を、年月のパーティション(レンジパーティション)で分割して保持しています。

 

分割することで、パーティションごとに操作が可能となるため、以下のようなメリットがあります。

①アクセス速度の向上(=パフォーマンスUP)

②データの更新速度の向上(保守運用の効率UP)

 

2.パーティションの種類について

パーティションの作り方(データの分け方)にも、いくつか種類があります。

更に、パーティション方法を2つ組み合わせて使うこともできます。

①レンジパーティション

例えば、2022年の売り上げデータを月ごとに分ける、といったことが可能となります。

 

②リストパーティション

例えば、都道府県ごとに発生したデータをまとめたりすることができます。

 

③ハッシュパーティション

例えばパーティションを4つ作成した時、その4つのパーティションに均等にデータを配分する方法となります。

そのため、他の方法に比べてデータの偏りをなくすことができます。

 

3.まとめ

パフォーマンスの改善はこれからのIT分野において必須レベルの考え方だと思っています。

こういった利用者の利便性に直結する(でも開発ユーザからは軽視されがち)な部分はしっかりと勉強して活用していきたいなと思います。

 

また、パーティションには他にも便利な操作機能(ADD、DROP、SPLIT等)も備わっていますが、一部使ってみないと気づかないような、直感的には分かりにくい機能があったので、それについては次回の記事でまとめようと思います。

 

以上

 

 

 

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア