オラクル2世代違うとこうも違うの

 前回も書きました「悪戦苦闘」、名古屋の現行システムの改造プロジェクトですが、顧客の要望でオラクルの動くサーバーをリプレースすることになりました。新しいシステムが稼働すると使わなくなるシステムなのですが、それでもリプレースすることによる処理速度の向上は大きいと考えているようです。しかしながら、オラクル 7.3が動くシステムを構築するのは難しい・・・。というわけで、オラクルを9.xに上げて、OSもLinuxを使おうと言うことになりました。そこで、問題になるのは、客先のクライアント側です。

 現在、クライアントが数十台有ります。これには、オラクル7のクライアントソフトがインストール済みです。これを全てオラクル9のクライアントにインストールしなおすのは手間です。・・・手間がかかるのは構わないのですが、客先の予算も考えてあげなければなりません。そこで、オラクル 9.xのサーバーにオラクル 7.3のクライアントが接続できるか実験しました。

 ・・・さくっと、つながりました(^_^;)。客先のデータをきちんとインポートして、クライアントからアプリケーション経由でデータの操作をしても問題ありません。(客先のデータはちゃんとNDA「機密保持契約」を締結して持ち出していますよ(^_^;)。)

 なんだ、つながるじゃん。

 なんでも、オラクル7とオラクル8の間には壁があると聞いていたのですが。(通信のプロトコルが変わったとかね。)全く問題なかったので、拍子抜けです。

 ところで、現在、客先のデータを入れた、D/Bが2台稼動しています。1台はクライアント・アプリケーションもインストールしているマシンで、オラクル 7.3が動いています。もう一方はローカルネットワークにつながったマシンで、オラクル9.2が動いています。性能は、オラクル 7.3が動いているマシンがCPUの周波数が1.2G、メモリーが512Mで、オラクル 9.2が動いているマシンがCPUの周波数が2.0G、メモリーが256Mです。

 で、アプリケーションを動かしたら、どちらが速かったと思います?何と、オラクル 9のマシンのほうが速かったのです。それも、「相当」です。何の差でしょうか。ちなみに、両DBともプレーンな状態からデータをインポートしましたので、データの断片化には差がないと思います。

 ネットワーク経由でもメモリが256でもオラクル9が速いと言うことになるのですよ。これは、オラクル内部の検索アルゴリズムなどがかなり改善されていると言うことなのでしょうか。

 オラクルというと、メモリを食うイメージがあるので、256しかメモリの載っていないマシンだとページファイルへのアクセスが増加してレスポンスがとても遅くなるのではと言う主観を持っていたのですが、ちょっと改めさせられました。

 実はオラクル9は、試験対策用に個人で買ってもいるのです。といっても、商用ライセンスが付くととても高いので、研究用途のみにしか使えないライセンス品なのですが。OTNのサイトで売っていました。今はオラクル 10を売っています。スタンダードとプロフェッショナルの2つのシリーズがあります。スタンダードだと約3万円ですので、そんなに高くないかも(高いかなぁ)。