TimesTen Classicの使用
TimesTen Classicでは、メモリーが最適化されたリレーショナル・データベースが提供されることで、アプリケーションに最短のレスポンス時間と高いスループットが実現されます。
TimesTen Classic:
-
単一インスタンスの環境およびデータベースに使用できます。
-
1つ以上のインメモリー・データベース、SQLリレーショナル・データベース、ACID準拠データベースの作成に使用できます。
-
トランザクション・レプリケーションを介してインメモリー・データベースの高可用性をサポートします。
TimesTen Classicアプリケーション使用例
取引価格サービス・アプリケーションは、TimesTen Classicの使用の一例です。この取引価格サービスにより、どのようにTimesTen Classicをデータ管理ソリューションの一部として統合できるかを示します。
金融サービス会社が、取引価格とニュースのサービスを自社のオンライン取引設備に追加します。取引価格サービスは、大手マーケット・データ・ベンダーから入電するニュースを読み取り、会社の自動株式取引処理を管理する取引アプリケーションに、そのデータのサブセットを使用可能にします。この会社は、将来の拡張に適応できるインフラストラクチャを構築して、取引価格、ニュースおよびその他の取引サービスを顧客に提供していく予定です。
見積サービス・アプリケーションは、データベースを使用してデータ・フィードからの株価を保存することにより、プログラム取引アプリケーションからアクセスできるようにします。取引価格データは、データ・フィードから収集され、メッセージ・バスで発行されます。データはメッセージ・バスから読み取られると、データベースに保存され、プログラム売買アプリケーションからアクセスされます。
取引価格サービスには、NewsReaderの処理が含まれており、それによって、ニュース・ワイヤーから絶えずデータが供給されるメッセージ・バスから入電データを読み取ります。各NewsReaderには、独立してバスからデータを読み取って別のデータベースにデータを挿入する、対になるバックアップのNewsReaderがあります。この方法では、メッセージ・バスを使用して、冗長性のために入電データを2つのデータベースに分岐させています。この使用例では、メッセージ・バスのデータを分岐させる方が、TimesTenレプリケーションを使用するより効率的です。
一方のNewsReaderは取引アプリケーションで株式データを使用可能にし、もう一方はホットスタンバイ・バックアップとして動作して、障害発生時にアプリケーションで使用されます。現在のロードではNewsReaderの4組のペアが必要ですが、将来的にはさらにNewsReaderのペアを追加して、Webや携帯電話を介して取引価格を他のタイプの顧客に配信できます。
図2-2に、メッセージ・バスからデータを取得してNewsReadersに入力するための構成を示します。
図2-3に示すように、NewsReaderは、TimesTenデータベースのQUOTES
表の株価データを更新します。それよりも動的でない利益データは、EARNINGS
表で更新されます。QUOTES
表およびEARNINGS
表のSTOCK
列は、外部キー関係を介してリンクされています。
取引アプリケーションの目的は、50未満の株価収益率を持つ株式のみ追跡し、内部ロジックを使用して、現在の株価と取引量を分析し、取引機能の別の部分を使用して取引を行うかどうか判断することです。取引アプリケーションでは、最大のパフォーマンスを得るために、トランザクション・ログAPI (XLA)を使用してトランザクション・ログ内の関心のある株式の更新を監視する、イベント機能を実装します。「トランザクション・ログAPIによるトランザクション変更の検出」を参照してください。
こうした更新に対して、できるかぎり高速なアクセスを実現するために、マテリアライズド・ビューPE_ALERTS
を作成します(このマテリアライズド・ビューには、QUOTES
表のPRICE
列とEARNINGS
表のEARNS
列から株価収益率を計算するWHERE
句があります)。XLAイベント機能を使用して、マテリアライズド・ビューの価格更新についてトランザクション・ログを監視することによって、取引アプリケーションは取引基準に一致する株式のアラートのみを受信します。