Oracleが速くなったのはOracle8から
テクノロジー製品事業統括本部 技術本部 基盤技術 ディレクターの津島浩樹氏が日本オラクルに入社したのは1997年、Oracle8が登場する少し前のことだった。
日本オラクルに入る以前はOracleのライバル企業に所属していたという津島氏。そこでは、Oracleとの競合案件を担当しベンチマークなども数多くこなしていた。当時は、「パーティショニング機能などがなかったので、Oracle7では絶対に速くならない」という印象を持っていたという。
その状況が変わったのがOracle8になったとき。
「とにかく大変な製品になったと感じました。パラメータもたくさんあり、速くするために触れるところがたくさんありました」(津島氏)
さらに大きな変化があったのが、Oracle9iだった。9iは、現行の11gのベースとも言えるバージョンであり、ここからチューニング方法も大きく変わったのだ。9iでは、自動UNDO管理、ASSM(Automatic Segment Space Management)、メモリー・アドバイザなど、データベースの高速化やパフォーマンス改善に影響する、さまざまな機能が追加された。それにより、これまで技術者のノウハウだけがものを言っていたチューニング作業が、自動化されたり、さらにはOracleから性能を向上させるためのアドバイスを受け取れたりするようになったのだ。
「たとえば、以前はロールバックセグメントをどのように確保するかは極めて重要でした。それがいまでは、あまりそういったことを考えなくてもよくなったんです。メモリに関連する設定についても、メモリ・アドバイザからある程度こうすればいいという指針が出ます。基本的には、それに沿って管理していけばよくなりました」(津島氏)
9iより前のバージョンを利用していた頃は、チューニングにおいてはたとえばロールバックセグメントの設定1つとっても、極めて奥の深い世界があったという。チューニングにはさまざまなトレードオフがあり、ある処理を速くしようとすれば、別の処理が遅くなる。システムの用途や目的ごとに、バランスをどうとるかがかなり難しい作業だった。「すべてのパターンで高速処理をするという設定は、いまでもありません。結果的には特定のものだけを高速化し、その他のものが遅くならないようにするのです」と津島氏は言う。