True Cacheに関するよくある質問

概要

Oracle True Cacheとは

Oracle True Cache は、Oracle Database用の一貫性の高い自動管理型インメモリSQLキャッシュです。データベース環境内でシームレスに動作し、頻繁にアクセスされる情報を効率的に格納して、アプリケーションの応答時間を大幅に短縮します。Oracle True Cache は、反復的なデータ要求の負荷を担うことで、データベース・サーバーの負担を効果的に軽減します。自動化された管理と揺るぎない一貫性により、アプリケーション開発が効率化され、開発者にコスト効率が高くシンプルな方法を提供します。

Oracle True Cacheにはどのようなメリットがありますか?

Oracle True Cacheには、アプリケーション開発とパフォーマンスに関連するいくつかのビジネス上の利点があります。

  • プライマリ・データベースからクエリをオフロードすることで、スケーラビリティとパフォーマンスが向上します。
  • True Cacheをアプリケーションの近くに配置することで、アプリケーションの応答時間とレイテンシを短縮します。これは特に、データレジデンシー要件を満たすためにデータベースがアプリケーションとは異なる場所にある場合に有効です。
  • 複数のTrue Cache間でデータを分割することで、大規模なインメモリ・ストレージ領域を作成します。すべてのTrue Cachesにキャッシュされたデータのサイズを合計すると、単一のプライマリ・データベースまたはキャッシュのサイズをはるかに超えることがあります。
  • キャッシュの内容を自動的に維持します。
  • アプリケーションに対して透過的であるため、シンプルな開発とメンテナンスが可能になります。

Oracle True Cacheはどのように機能しますか?

Oracle True Cacheの仕組みの概要を次に説明します。

  • アプリケーションは、True Cacheとプライマリ・データベースのどちらからデータを問い合わせるかを決定します。
  • True Cacheは、メモリにキャッシュされたデータを使用して問合せに回答します。データがキャッシュにない場合、True Cacheはプライマリ・データベースからデータを取得します。
  • True Cacheは起動時には空であるため、大量のデータ・ブロックを読み取ってキャッシュに移入します。ブロックがキャッシュされると、プライマリ・データベースからREDOを適用して自動的に更新されます。これは、Oracle Active Data Guardで使用される更新メカニズムに似ています。
  • True Cacheへの問合せでは、コミットされたデータのみが返され、データは常に一貫性があります。
  • 複数のTrue Caches が存在し、同じデータベース・アプリケーション・サービスを提供している場合、リスナーは自動的にセッションを各キャッシュに振り分け負荷分散します。

ライフサイクルの詳細

データはどのようにOracle True Cacheにロードされますか?

True Cacheは起動時には空であるため、大量のデータ・ブロックを読み取ってキャッシュに移入します。

Oracle True Cache では、データはどのように更新されますか?

ブロックがキャッシュされると、プライマリ・データベースからREDOを適用して自動的に更新されます。これは、Oracle Active Data Guardで使用される更新メカニズムに似ています。

Oracle True Cacheは、削除を防ぐために必要なデータをどのように処理しますか?

True Cacheでは、特定の表およびデータ・セットをキャッシュ内に固定できます。これにより、メモリの制約や最低使用頻度(LRU)アルゴリズムの下でも、重要なデータはそのまま維持されます。固定されたデータは、プライマリ・データベースで変更が発生するとリアルタイムで自動的に更新され、データの一貫性と信頼性が維持されます。

Oracle True Cacheはどのようにスケーリングされますか?

True Cacheは、サービスの概念を用いてスケーリングできます。たとえば、営業部門と人事部門の2つのサービスを定義したとします。この場合、営業サービスに対するすべてのリクエストは1つのキャッシュに送信され、人事に対するリクエストは別のキャッシュにルーティングされます。各サービスのデータは異なる表およびデータ構造であるため、次のアプローチを使用してTrue Cacheのスケーリングを効果的に行うことができます。たとえば、次の場合です。

  • プライマリ・データベース(PRIMDBI)は、SALESとHRの2つのデータベース・アプリケーション・サービスを実行します。
  • 2つのTrue Cacheは、プライマリ・データベース・アプリケーション・サービスに対応する異なるサービスに関連付けられます。
    • TCDB1Iは、SALES_TCサービスに関連付けられています。
    • TCDB2Iは、HR_TCサービスに関連付けられています。

データベース・アプリケーション・サービスをOracle True Cacheに関連付けるには、どのパラメータを設定しますか?

プライマリ・データベース・アプリケーション・サービスに対応するサービス名を使用して、TRUE_CACHE_SERVICEパラメータを設定します。True Cacheデータベース・アプリケーション・サービスを区別するには、プライマリ・サービス名に_TCを続けて使用することを推奨します。たとえば、プライマリ・サービスがSALESの場合、True CacheサービスはSALES_TCになります。

Oracle True Cacheでコロケーションは可能ですか。

はい、COLOCATION_TAG 機能を使用することで、特定の地域のTrue Cachesにデータを送信できます。たとえば、2つのアプリケーションと2つのTrue Cacheがあるとします。COLOCATION_TAGがUnited Statesに設定されたセッションは、1つのTrue Cache (TCDB1I)に移動し、COLOCATION_TAGがEuropeに設定されたセッションは、もう1つのTrue Cache (TCDB2I)に移動します。

Oracle True Cacheで直接更新できますか。

いいえ。True Cacheは読取り専用キャッシュであるため、キャッシュを直接更新することはできません。ただし、DMLリダイレクトを使用することでキャッシュを間接的に更新できます。DMLリダイレクトによってデータがプライマリ・データベースに書き込まれると、そのデータは自動的にキャッシュに更新されます。これは、Oracle Active Data Guardの動作に似ています。DMLリダイレクトはリソースを多く使用するため、更新が多いアプリケーションにはお勧めしません。

Oracle True CacheでDMLリダイレクトを有効にするにはどうすればよいですか?

DMLリダイレクトを有効にするには、TRUE CacheでADG_REDIRECT_DML初期化パラメータをTRUEに設定します。

どのタイプのデータをOracle True Cacheにキャッシュできますか?

Oracle True Cacheは、リレーショナル、JSON、テキスト、空間、グラフ、ベクトル・データ型を含むすべてのOracle Databaseオブジェクトおよびデータ型をキャッシュします。True Cacheのデータは、行または列形式でアクセスできるため、多様なキャッシュ・ニーズに対する互換性と柔軟性が確保されます。

スマート・クライアント・ドライバは、Oracle True Cacheを使用してどのようにパフォーマンスを向上させますか?

スマート・クライアント・ドライバとは、True Cache の存在を自動的に識別する Oracle JDBC ドライバのインテリジェント機能を指します。これらのドライバは、読み取り専用要求と読み取り/書き込み要求を区別し、読み取り専用クエリをキャッシュにシームレスにルーティングします。この革新的な機能により、プライマリ・データベースとキャッシュの接続を個別に管理する必要がなくなり、アプリケーション開発が効率化されます。

Oracle True Cache はどのような導入ユースケースをサポートしますか?

True Cacheは、中間層キャッシュ、エッジ・キャッシュ、リージョン間キャッシュ、クラウド間キャッシュ構成など、さまざまなシナリオに対応する多彩な導入オプションを提供します。

Oracle True Cacheには、どのようなセキュリティ対策が施されていますか?

Oracle True Cacheは、Oracle Databaseのセキュリティ・ポリシーを実装しています。たとえば、保存中のデータ暗号化、転送中のデータ暗号化、行レベルのセキュリティ、Oracle Database Vault、Oracle Key Vault、および徹底した認証と承認のメカニズムなど、さまざまな保護が含まれます。

ライセンシング

Oracle True Cacheはどのデータベース・バージョンで利用できますか?

True Cacheは、Oracle Database 23ai以上のバージョンで利用できます。これ以前のリリースではサポートされていません。

Oracle True Cacheのライセンスと価格について教えてください。

Oracle True Cacheは、Oracle Base Database Serviceで利用可能な機能です。