True Cache

Oracle True Cache は、Oracle Database用の一貫性の高い自動管理型インメモリSQLキャッシュです。True Cache は、データベースの負荷を軽減しながら、アプリケーションの応答時間を短縮します。自動キャッシュ管理と一貫性により、アプリケーション開発を簡素化し、開発者の労力とコストを軽減します。

Oracle True Cacheが選ばれる理由

リアルタイムかつ一貫性のあるデータ

Oracle True Cacheは、最も頻繁にアクセスされるデータを自動的にキャッシュに保持し、キャッシュとデータベースの整合性を保ちます。

キャッシュ管理の簡素化

キャッシュの内容は、アクセスがあると自動的にロードされ、データが変更されると更新されます。Oracle True Cacheは、リレーショナル、JSON、テキスト、空間、グラフ、ベクトル・データ型を含むすべてのOracle Database APIおよびデータ型をキャッシュします。True Cacheのデータには、同じOracle Database APIを使用して行または列形式でアクセスできます。

スケーラビリティの向上

Oracle True Cacheは、クエリをオフロードし、データベースへのリクエスト数を減らすことで、スケーラビリティとアプリケーションの応答時間を向上させます。

コスト効率に優れた生成AI

通常、検索拡張生成(RAG)は、大規模言語モデル(LLM)へのバックエンド・コールを必要とします。これらの結果をキャッシュすることで、LLMの使用に関連するコストを削減できます。

拡張キャッシュに高パフォーマンス・フラッシュを使用

True Cacheでは、データがTrue Cacheコンピュート・インスタンスのメモリに収まらない場合、ディスクに格納できます。これにより、コンピュート・インスタンスのメモリに収まるよりも多くのデータをキャッシュに保持できるようになり、合計キャッシュ・サイズが大きくなります。

高可用性とマルチスレッド

True Cacheは、マルチスレッドを活用し、ホスト上のすべてのコア/vCPUsを利用することで、卓越したパフォーマンスを実現し、キャッシュ管理に革命をもたらします。これにより、ネイティブな高可用性が確保され、ノード障害やネットワーク障害時のデータの回復性と継続的な可用性が保証されます。

True Cacheの仕組み

True Cacheは、ほぼディスクレスで十分に機能する、プライマリ・データベースの読み取り専用レプリカです。

最新のアプリケーションでは、多くの接続数とデータへの高速かつ低レイテンシのアクセスが必要とされることがよくあります。アプリケーションは通常、更新よりも読み取り操作を多く実行するため、データベースの前にキャッシュを配置するのが一般的なアプローチです。これにより、アプリケーションはデータベースのパフォーマンスに影響を与えることなく、キャッシュからデータを取得できます。例えば、航空会社の予約システムは、人々が航空券を購入する際に頻繁にデータを読み取ります。データがデータベースにあるものと比べて最新でなくても問題ありません。なぜなら、アプリケーションが最新のデータにアクセスする必要があるのは、誰かがフライトを予約するときだけだからです。

従来のキャッシュとは異なり、True Cacheは、最も頻繁にアクセスされるデータを自動的にキャッシュに保持し、プライマリ・データベース、同じキャッシュ内の他のオブジェクト、および他のキャッシュとの整合性を保ちます。True Cacheは、JSONを含むすべてのOracle Databaseオブジェクトおよびデータ型をキャッシュします。

True CacheはOracle Databaseのセキュリティ・ポリシーを実装しているため、キャッシュへのアクセスを制御できます。これにより、通常はキャッシュしないような個人情報などの機密データをキャッシュすることができます。

アプリケーションは、True Cacheとプライマリ・データベースのどちらからデータを問い合わせるかを決定します。たとえば、アプリケーションは、True Cache への読み取り専用接続と、データベースへの読み取り/書き込み接続の2つの接続を維持できます。または、Javaアプリケーションは1つの接続を利用し、読み取り専用属性を設定することで、True Cacheとデータベースを動的に切り替えることもできます。

True Cacheでは、単一のクエリ内のデータは常に一貫しています。これは、複数行にわたる結合がある場合はさらに重要です。アプリケーションレベルでこれを行うと、誤った結果につながる可能性があるからです。

True Cacheの図

True Cacheの仕組みを表す図の説明

  1. 1. アプリケーションは、Oracle JDBCドライバを介して手動または半自動で問合せをTrue Cacheに送信します。
  2. 2.True Cacheインスタンスは、その管理下にあるデータベース・アプリケーション・サービス専用にキャッシュされたデータを使用して問合せに回答します。
  3. 3. キャッシュが見つからない場合、True Cacheインスタンスはプライマリ・データベース・インスタンスからブロックを取得します。
  4. 4. True Cacheインスタンスが初期化されると、SQLクエリが実行されてキャッシュがウォームアップされ、周囲のブロックが大量にフェッチされます。
  5. ブロックがキャッシュされると、プライマリ・データベースからのREDO適用によって通常はサブ秒のタイムラグで自動的に更新されます。これは、Oracle Data Guard 構成でリアルタイムにREDOが適用される仕組みに似ています。プライマリ・データベースのREDOブロックは、プライマリ・データベース・インスタンスのログ・ライター(LGWR)プロセスによって、ASYNCモードで継続的にTrue CacheスタンバイREDOログ・ファイルに送信されます。
  6. 5. True Cacheへの問合せでは、REDO適用ラグと同程度に新しいコミット済データのみが返されます。
  7. 6. True Cacheインスタンスに対する問合せでは、常に一貫性のあるデータが返されます。
  8. 7. True Cacheは、問合せをオフロードすることでスケーラビリティを向上させ、プライマリ・データベースへのリクエスト数を削減します。

True Cacheのユースケース

  • 生成AI

    検索拡張生成(RAG)およびLLMキャッシュにより、AI開発プロセスを効率化します。

  • eコマース・アプリケーション

    お客様は、バックエンドのデータベースではなく、Oracle True Cacheにアクセスすることで、オンライン製品カタログのデータを取得します。このプロセスにより、ブラック・フライデーやサイバー・マンデー、テレビのゴールデンタイム・イベントなど、セールスがピークを迎える時期に応答時間が短縮され、カスタマー・エクスペリエンスが向上します。

  • データ主権

    Oracle True Cacheは、読み取りをエンド・ユーザーや ソブリン・リージョンに近いインスタンスにオフロードすることで、分析応答時間を短縮し、データ主権を維持します。

  • オンラインゲーム

    Oracle True Cacheは、リアルタイムでプレイヤー・データを保存し、リーダー・ボードやユーザー・ランキングなどの機能をサポートすることで、レイテンシを低減し、イマーシブなゲーム・エクスペリエンスを強化します。

  • ユーザー認証

    Oracle True Cache は、アプリケーション・ユーザーをリアルタイムに検証するユーザー・プロファイルの更新を毎日何百万件も処理します。また、複数のデータ・モデルをサポートして異なるタイプの要素をネイティブに保存し、複雑さとコストを削減します。

  • リアルタイム分析

    Oracle True Cacheを使用して、データをキャッシュし、データベースのI/Oをオフロードすることで、運用負荷の軽減、コスト削減、データベースとアプリケーション双方のパフォーマンス向上を実現できます。

  • エッジ・コンピューティング

    Oracle True Cache は、ユーザーやデバイスに近いリージョンに導入できるため、データベースからのデータの収集、保存、および取得に必要な時間を短縮することが可能です。

2023年9月19日

パフォーマンスの向上:グローバルな可用性を実現するOracle True Cacheの導入

プロダクト・マネジメント担当シニア・ディレクター、Pankaj Chandiramani、

インメモリで一貫性のある自動的に管理されるSQLキャッシュとキーと値の(オブジェクト)キャッシュであるOracle True Cacheをご紹介します。

注目のデータベース・ブログ

すべて表示する

Oracle True Cacheを使い始める


Oracle Cloud Free Tierを試す

Oracle Cloud Infrastructure Platformでアプリケーションを無料で構築、テスト、導入します。


お問い合わせ

詳細を知りたいですか?業界をリードする当社のエキスパートにご相談ください。