Oracle DatabaseのPL/SQLパフォーマンス改善
Oracle Databaseバッチ処理の課題
Oracle DatabaseのPL/SQLで実装したバッチ処理に、以下のような課題はありませんか?
- ミッションクリティカルなバッチ処理が規定時間内に終了しない
- PL/SQLのメンテナンス、およびチューニングの難易度が高い
- PL/SQLのパフォーマンスを確保するためのOracle Databaseライセンスおよび保守費用が高額
バッチ処理がOracle Databaseのライセンス費用を増大させるケース
Oracle Database Enterprise Editionを利用する場合でも、SELECTなどのSQLはパラレル化できますが、PL/SQLに記述されたプログラム処理はパラレル化できません。そのため、バッチ処理の中のデータ抽出(SELECT)時間よりも、データ加工と更新時間の割合が多い場合、PL/SQLではバッチ処理時間を短縮することが難しくなります。
この問題に対し、バッチ対象となるデータ範囲を分割し、PL/SQLプログラムを並行実行させることで、擬似的なパラレル処理を行う方法があります。ただ、PL/SQLはOracle Databaseインスタンス上で動作するため、この方法でバッチ処理時間を短縮する場合には、Oracle Databaseで利用するCPUコアをバッチ処理に合わせて用意する必要があり、Oracle Databaseのライセンスコストが発生します。
DBオフロードという選択肢
Oracle DatabaseのPL/SQLで実装されたバッチ処理を、以下の図のようにバッチ処理用のサーバーに外出し(DBオフロード)することで、Oracle Databaseのキャパシティおよび費用を最適化すると同時に、高い処理パフォーマンスを実現するアプローチです。
|
DBオフロードのメリット
バッチ処理高速化ソフトによって処理性能を担保できるため、Oracle Databaseキャパシティをオンライン処理に必要なレベルに設計し、Oracle Databaseのライセンスおよび保守費用を削減できます。 |
|
安価なIAサーバでもサーバリソースを効率的に活用して高速処理を実現できます。例えば、データ件数80万件の処理でJavaとPL/SQLで65分かかっていたバッチ処理を10分で終える処理パフォーマンスを発揮した事例もあります。 |
|
GUIで簡単に処理を作成することが可能です。また、作成した後も処理内容をビジュアル的に把握することができるので、メンテナンス性が向上します。 |
|
DBオフロードの成功事例
|
株式会社メディセオでは、PL/SQLによる大量データのバッチ処理を、DBオフロードすることで超高速化を実現しました。 |
DBオフロードをご検討いただけるお客様へ
|
対象バッチ処理方式にPrecisely Connectが適合するか、および高い適用効果を見込めるかを、経験豊富な弊社技術者が調査して報告いたします。 |
|
Precisely Connect導入による効果を事前確認いただくために、というバッチ処理性能に特化した総合検証プログラム(POC:Proof Of Concept)をご提供しております。POCは、以下の流れで、1か月を目途として実施させていただきます。 |