こしぞーのひとり情シス

Windows/仮想化の小規模環境を運用するリーマンの日々を綴っています。

Oracle Database Partition の採用基準(ここを超えるとPartitionを使おう)

Oracle DatabaseのOption製品をなんとなく採用していることないでしょうか
Option製品はEnterprise Editionが必須なのでそもそも非常に高額です採用するかしないかをきちっと判断できるようになりましょう 

Partitioning Option採用基準

マニュアルに記載があります

表をパーティション化する基準

  • 2GBを超える表
  • 新規データが最新のパーティションに追加される、履歴データを含む表
    例:現在の月のデータのみが更新可能で、残りの11か月分は読取り専用の履歴表
  • コンテンツを種類の異なるストレージ・デバイスに分散する必要がある表

インデックス(索引)をパーティション化する基準

  • データ削除時に、索引メンテナンスを回避する場合
  • 索引全体を無効化せずにデータの一部でメンテナンスを実行する場合
  • 値が増え続ける列の索引が原因で発生する索引の誤差の影響を軽減する場合

詳細はマニュアルに記載があります

パーティション化の概念

マニュアルのURLは変更されることが多いので注意してください

Oracle Database Partioning Optionとは

そもそもOracle Databaseのパーティションとは・・・?

パーティションとはデータベースの表を物理的には分割しつつ、論理的には一つのひょうとして扱うことができる機能で、大規模データベースやDWHには必須の機能です

利用するには

  • Oracle Database Enterprise Editionが必須
  • 加えて、Partioning Optionが必要

です

パーティションを活用する最も多い例は、月単位のパーティション表を作成するケースです

図2-1の説明が続きます

  • 検索(=SELECT)は、直近の月または月単位で行うことが多い
    パーティション化により検索の範囲を予め限定することができる
    → SELECT性能の向上、IO不可の軽減につながる
  • 削除を、月単位でかんたんに行うことができる
    →5年を超え61ヶ月目のデータを一括削除したい場合にPartition単位で高速削除が可能
    パーティション化していない場合は1行1行DELETEするためものすごく時間がかかるがパーティション表なら短時間で削除可能

と一定以上のデータベースを運用管理するためにはほぼ必須になるので是非採用検討の際には一つの判断基準にしてみてください

関連記事です

 Oracle Databaseをクラウドで使いたい場合は、AWS / Azure / Oracle Cloud の事実上3つに制限されます

www.hitoriit.com

 Oracle Database使っててAWS RDS for oracle database を使っている人はそう多くはないと思うのですが、脱AWSをしたい場合は参考にしてみてください

www.hitoriit.com

 以上です