[製品紹介]

キャッシュ技術によるパフォーマンスの実現
Oracle9i Application Server

2.パフォーマンス向上を独自のキャッシュ技術で実現

 ここまで紹介してきたようにOracle9iASは、JavaやPL/SQLなどの豊富なアプリケーション実行環境を持っています。そして、Oracle Web Cacheにより、それらすべてのアプリケーションのパフォーマンスを向上させ、システム全体のスループットの向上、スケーラビリティの向上までも図ることができます。

   動的コンテンツを効果的にキャッシュ
   「Oracle Web Cache」

 Oracle Web Cacheは、ブラウザとOracle HTTP Serverの間に配置されるコンポーネントです。そして、Oracle HTTP Serverから出力されるHTMLをメモリ上にキャッシュし、同様のリクエストがあった場合に高速なレスポンスを実現します(図5)

 これまでのキャッシュサーバでは、ServletやJSP、PL/SQLなどで「動的」に生成されたコンテンツを的確にキャッシュすることは不可能でした。Oracle Web Cacheでは、HTMLファイルやGIF、JPGなどの画像ファイルなどの静的コンテンツは当然のこと、ServletやPL/SQLなどでデータベースと連携を行うような動的コンテンツに対しても、キャッシュを適切にコントロールする機能が備わっています。

図5 Oracle Web Cacheが動的なコンテンツを的確にキャッシュする。これによって、同様のリクエストに対して高速なレスポンスを実現すると同時に、サーバへの負荷を軽減する

 Oracle Web Cacheでは、動的コンテンツのキャッシュを適切に行うために、キャッシュされているコンテンツに対する失効化を行う方法を幾つか持っています。大きく分類すると以下の3つの方法となります。

  • 管理コンソールによる失効化
  • 時間経過による失効化
  • 失効メッセージによる失効化

 これらのキャッシュ失効化方法によって、キャッシュ内容が無効になるさまざまな状況に対応することができます。

 キャッシュ内容が無効になる条件には、以下のものが考えられます。

  • アプリケーションの変更
  • データベースの変更

 このうち、アプリケーションの変更がある場合には、管理者によってアプリケーションの入れ替えを行うタイミングで管理コンソールから適切なキャッシュを失効化させることにより対応可能です。一番の問題はデータベースの変更があったときです。データベースの変更はさまざまなユーザーからアプリケーションを通じて行われるため、データベースの変更があった場合に、自動的にキャッシュ失効化を行わせる必要がでてきます。Oracleのデータベース・トリガを利用して、Oracle Web Cacheに失効メッセージを送ることにより、この条件にも対応できます。失効メッセージは、HTTP、XMLといったオープンなテクノロジで形成されています。そのため、ファイルシステムなどの変更といったそのほかの条件による失効化も、必要なときに失効メッセージをOracle Web Cacheに送るように構成すれば対応できます。また、リアルタイム性に厳密でないコンテンツに対しては、時間経過による失効化を行うことにより、高いパフォーマンスを維持させたり、アプリケーションの変更などに伴うキャッシュ管理を簡易化するといったことが可能になります。

図6 データベース、アプリケーションサーバの両方から、動的コンテンツに対するキャッシュ失効要求が出される。管理コンソールから手動で行うことも可能。効率的なキャッシュ管理を実現している

 そのほか、Cookieの値の違いにより、同じURLでも異なるコンテンツが返されることを判断したり、バックに配置されたHTTP Serverの負荷やキャッシュ・データの重要性によって、システムの急激なパフォーマンス劣化を防ぐ機能も実装されています。また、ネットワーク回線の負荷がインターネット・システムのボトルネックとなる場面も多くありますが、コンテンツをキャッシュする際に圧縮する機能によって、ネットワーク負荷の軽減を行うこともできます。そして、これらのさまざまな設定は、ブラウザからWeb Cache Managerを通じて行うことができ、管理面でも柔軟に対応することができます(図7)

図7 Oracle Web Cacheは、管理コンソールからインテリジェンスに管理できる(クリックすると拡大します)

   データを中間層にキャッシュ
   「Oracle Database Cache」

 「Oracle Database Cache」は、R1.0.2.1から追加されたキャッシュ機能です。Oracle Database Cacheによって、データベースのデータを中間層にキャッシュし、バックエンドのデータベースやネットワークの負荷を下げることができます。もちろん、アプリケーションの変更は必要なく、キャッシュにデータがあるのか、バックエンドのデータベースにしかデータがないのかは自動的に判断されます。最初のリリースでは、OCIアプリケーションからの利用となるため、Apache JServとOracle JSPから実行されるServlet、JSPからの利用がほとんどとなるでしょう。インターネット・システムが大規模なシステムになればなるほど、最終的なボトルネックとなるのはデータベースです。Oracle Web Cacheによって、全体的なスケーラビリティを向上させるとともに、Oracle Database Cacheによって最終的なボトルネックを解消し、より大規模なシステムへと展開を行っていくことが可能になります(図8)

図8 Oracle Database Cacheはデータベースのデータを中間層にキャッシュする。Oracle Web Cacheの機能と合わせて、スケーラビリティの向上をはかる。大規模なトランザクションが発生するシステムに有効だ

図9 Oracle Database Cacheの透過的なルーティング

   企業のナレッジマネジメント構築を支援
   「Oracle Portal」

 R1.0.2.1から追加された機能には「Oracle Portal」(図10)もあります。Oracle Portaは、セルフサービス型の統合されたエンタープライズポータルを構築し、同時にそのシステムを容易に運営・保守するためのソリューションとなります。統合できる情報は、企業内にある人事システムなどの社内アプリケーションとともに、顧客企業情報や時刻表、ホテルの予約サービスなどの社外コンテンツも扱うことができます。これらの情報の中から各個人が必要と思うものを選択し、パーソナライズした画面として表示することが可能となります。しかも、このパーソナライズ機能自体もブラウザから利用でき、各ユーザーはOracle Portalにログインすることにより、自分の必要なすべてのサービスへのログオンが完了することになり、業務の効率化を行うことができます。

図10 Oracle Portalの画面

 そのほか、ビジネス・インテリジェンス機能などの追加も予定されており、Oracle9iAS、さまざまなシステム要求にこたえ、パフォーマンスとスケーラビリティを備えた総合的なプラットフォームとなります。Oracle Technology Network(http://otn.oracle.co.jp/)では、Oracle Web Cacheのさらに詳しい情報やOracle9iASの試用版をダウンロードすることもできます。

図11 Oracle9iASの構成。データベースとの連携、Oracleデータベースに関するスキルがフルに生かせるアプリケーションサーバである点が大きな特長だ



Index
  1. Oracleデータベースとの高い親和性
■DBとの親和性が高いJavaアプリケーション開発環境
■Oracleデータベースのスキルが開発に生かせる
■モバイル端末へのコンテンツ提供にも対応
2. パフォーマンス向上を独自のキャッシュ技術で実現
■動的コンテンツを効果的にキャッシュ「Oracle Web Cache」
■データを中間層にキャッシュ「Oracle Database Cache」
■企業のナレッジ・マネジメント構築を支援「Oracle Portal」

  Application Server Center
アプリケーション・サーバ情報へのリンク集 (2001/12/3更新)
    各社アプリケーション・サーバ製品紹介
BEA
WebLogic
Borland
AppServer
IONA
iPortal
IBM
WebSphere
Oracle
Oracle9iAS
Macromedia
JRun
(旧Allaire)
hp
bluestone
日立製作所
Cosminexus
iPlanet
Application
Server




Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間