TimesTen Classic固有の機能

TimesTenの一般的な機能に加えて、次の機能がTimesTen Classic内でサポートされています。

TimesTen Classicの高可用性機能

TimesTen Classicには、パフォーマンスおよび高可用性を実現するいくつかの機能があります。

  • TimesTen Classicのレプリケーションでは、2つ以上のホスト間で更新を送信することによって、ほぼ間断なく可用性またはワークロード分散を実現できます。アクティブ・スタンバイ・ペアのレプリケーション・スキームには、アクティブ・データベース、スタンバイ・データベースおよびオプションの読取り専用サブスクライバ・データベースが含まれます。図1-3では、アクティブ・データベースおよびスタンバイ・データベースはプライマリ・サイトに配置できますが、読取り専用サブスクライバは障害時リカバリ・サイトに配置されています。

  • キャッシュ操作により、Oracleデータベースの一部を、TimesTenデータベースの、キャッシュ・グループ内の表にキャッシュできます。図1-3では、Oracleデータベースにキャッシュされた表をTimesTenに読取り専用コピーとしてキャッシュできます。TimesTenでは、Oracleの表での変更内容を、TimesTenデータベース内のキャッシュ・グループに自動的に伝播できます。

    図1-3では、2つのOracleデータベースがActive Data Guard (ADG)構成内に設定されています。1つはプライマリ・サイトに、もう1つは障害時リカバリ・サイトにあります。ADGは、プライマリOracleデータベースで行われたデータの変更をスタンバイOracleデータベースに伝播します。キャッシュ操作と組み合せて使用すると、TimesTen内のADGの統合により、スタンバイOracleデータベースに伝播された変更内容のみが、適切なキャッシュ・グループに反映されるようになります。プライマリOracleデータベースに障害が発生した場合は、スタンバイOracleデータベースに切り換えます。その後、キャッシュ操作も切切り換わり、Oracleデータベースとの一貫性を維持しながら自動リフレッシュが継続されます。

    スタンバイOracleデータベースに障害が発生した場合、またはプライマリ・サイト全体に障害が発生した場合、他のリカバリ方法も用意されています。『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』非同期Active Data Guardの使用時の障害発生後のリカバリを参照してください。

図1-3 TimesTen Classicのパフォーマンスおよび高可用性の構成

図1-3の説明が続きます
「図1-3 TimesTen Classicのパフォーマンスおよび高可用性の構成」の説明

「キャッシュ・データ」および「レプリケーション」を参照してください。

サーバー間のデータ・レプリケーション

TimesTen Classicには、サーバー間のデータ・レプリケーションを可能にして高可用性および負荷分散を実現するレプリケーション・スキームが用意されています。

データ・レプリケーション構成は、非同期送信または同期送信を使用して、競合の検出と解決および障害が発生したサーバーのリストア後の自動再同期化が行われるように、アクティブ/スタンバイまたはアクティブ/アクティブにできます。「TimesTen Classic内のデータ・レプリケーション」を参照してください。

トランザクション・ログAPI (XLA)

TimesTen Classicには、データベース外の動作に連動させるために、アプリケーションで更新アクティビティを監視できるAPIが用意されています。この機能はトランザクション・ログAPI (XLA)によって提供されます。これにより、アプリケーションで、コミットされる更新レコードを監視し、検出した更新に基づいて様々な動作を起動できます。

たとえば、XLAアプリケーションは、検出した更新を別のデータベース(TimesTenまたはファイル・システム・ベースのRDBMS)に適用できます。別のタイプのXLAアプリケーションでは、重要な更新が行われたことをサブスクライバに通知できます。このAPIは、C、Java (JMS/XLA)およびC++ (TTClasses)でサポートされています。

TimesTen Classicで提供されるマテリアライズド・ビューをXLAとともに使用することで、SQL問合せで記述されたイベントの通知を有効にできます。XLAの主な目的は、トリガーにかわる高パフォーマンスで非同期の機能を提供することです。

「トランザクション・ログAPIによるトランザクション変更の検出」および『Oracle TimesTen In-Memory Database C開発者ガイド』を参照してください。

自動データ・エージング

データ・エージングにより、不要になったデータが削除されます。TimesTenでは、TimesTenデータベース表およびキャッシュ表に対する自動データ・エージングが提供されます。

TimesTenのデータベース表およびキャッシュ表に対して、次の2つのタイプの自動データ・エージング機能を使用できます:

  • タイムスタンプ値に基づく時間ベースのデータ・エージング: 時間値に基づいて古いデータを削除します。たとえば、昨日の価格表を削除することや、2日前より古い詳細レコードを削除することができます。

  • 最低使用頻度(LRU)アルゴリズムに基づく使用量ベースのデータ・エージング: 使用頻度が最低の古いデータを削除します。たとえば、システムからログアウトしたユーザーのプロファイルやプリファレンスを削除できます。

『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』表でのエージングの実装、および『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』キャッシュ・グループでのエージングの実装を参照してください。