この記事はDeeksha SehgalによるAccelerate Your Application Performance with Oracle True Cacheを日本語に翻訳したものです。
2025年02月03日
Oracle True Cacheは、エンタープライズ環境におけるデータ・キャッシングのための強力なソリューションを提供し、増大するデータ量とリアルタイム・アクセスの必要性がもたらす課題に効果的に対処します。 アプリケーションの応答時間を改善し、データベース・サーバーの負荷を軽減することで、重要なアプリケーションに対して信頼性が高く、低レイテンシのデータ・アクセスを実現できます。True Cacheは、スケーラビリティとパフォーマンスを基本方針として構築されており、最新のエンタープライズ・システムの要求に確実に応えます。
なぜOracle True Cacheを選択するのか?
アプリ層にデータをキャッシュすることは、重要な開発パターンです。これにより、データベースの負荷を軽減し、クエリのレスポンスを高速化できる可能性があります。ただし、これには独自の課題があります。 市場にある既存のソリューションでは、キャッシュ・データ、キャッシュ期間、キャッシュ削除ポリシー、障害処理、データ・フォーマットに関する決定が開発者の負担になることがよくあります。 この複雑さにより、中間層のキャッシュを管理するため複雑なコードになってしまいます。
Oracle True Cacheは、Oracle Database用の、インメモリーで一貫性があり、自動的に管理されるSQLおよびオブジェクト・キャッシュです。比類のないパフォーマンスとスケーラビリティを求めるグローバル企業の差し迫ったニーズに対応するように設計されています。このソリューションは、Oracle Databaseに対するキャッシュを簡素化します。開発者はディスクレスのTrue Cacheインスタンスをデプロイし、あとはOracleに任せます。Oracle True Cacheは、Active Data Guardテクノロジーを使用して、最新のプライマリ・インスタンスの変更とキャッシュの一貫性を確保し、キャッシュ・ミスのデータを取得します。キャッシュの使用状況を示すコード変更を最小限に抑えることで、プライマリ・データベースと同期した回復力のある高パフォーマンスのキャッシュを活用することがかつてないほど容易になります。
True Cacheは、さまざまな業界の幅広いアプリケーションに最適で、データへのアクセス性と処理効率の向上を実現します。eコマースプラットフォームの強化、リアルタイム分析の促進、オンラインゲーム環境のサポート、高頻度取引の実現、エッジ・コンピューティング・アプリケーションの促進など、True Cacheは最適なパフォーマンスとスケーラビリティを保証し、今日の急速に変化するデジタル環境で組織が成功できるようにします。

Oracle True Cacheの主な機能:
自動データロード: True Cacheは、必要に応じてプライマリ・データベースからデータをシームレスに読み込み、キャッシュを準備するための追加のアプリケーション・ロジックを必要としません。この自動化されたプロセスにより、手動による介入なしで最適なパフォーマンスを実現します。
自動データリフレッシュ: Oracle Data Guard redo applyテクノロジーを搭載したTrue Cacheの自動リフレッシュ・メカニズムにより、プライマリ・データベースとデータを同期させることが簡単になります。キャッシュ内のデータ・ブロックは、プライマリ・データベースで変更が行われてから数秒以内に即座に更新されるため、キャッシュ無効化のロジックや有効期限(TTL)の設定をコーディングする必要がありません。
テーブルとデータセットの固定: True Cacheでは、特定のテーブルとデータセットの固定が可能になり、メモリ制約やLRUアルゴリズムによって重要なデータが削除されることを防止できます。固定されたデータは、プライマリ・データベースで変更が発生すると、リアルタイムで自動的に更新されます。KEEPバッファ・プールを活用して、頻繁にアクセスされるテーブルをバッファ・プール内に永続的に保持します。
結果キャッシュ: True Cacheは、クエリ結果、クエリ・フラグメント、およびPL/SQL関数をメモリに保存するサーバー側結果セット・キャッシュを通じて効率を最大化します。さらに、クライアント側結果セット キャッシュ機能も提供しており、SQLクエリの結果セットをクライアントのメモリに直接キャッシュして、パフォーマンスと応答性を向上させることができます。
自動DDL伝播: プライマリ・データベースで実行されるデータ定義言語(DDL)の変更は、リアルタイムでシームレスにTrue Cacheに伝播され、実行中の操作を中断することなく、キャッシュされたデータが最新のスキーマ変更と一貫性を保つことが保証されます。
キャッシュ内およびキャッシュ間の一貫性: True Cache は、キャッシュに保存されたデータが、キャッシュ内でも複数のキャッシュ間でも一貫性を保つことを自動的に維持します。つまり、テーブルの異なる列やJSONドキュメント内の属性など、同じオブジェクト内の値の一貫性が保たれることを意味します。さらに、True Cacheは、整合性制約を持つさまざまなテーブルのように、複数のデータベース・オブジェクト間の一貫性も維持します。顧客データ用と注文用の2つのキャッシュを使用する一般的な設定では、顧客キャッシュの方が注文キャッシュよりも新しいデータを持っている場合があります。True Cacheは、キャッシュ間でデータの一貫性が保たれるようにします。この機能により、キャッシュされたデータの正確性と信頼性が維持され、アプリケーションの全体的なパフォーマンスが向上します。
ロックフリーの同時実行制御: True Cacheは、ETAGによるOracle Databaseのロックフリーの楽観的同時実行制御をサポートします。ETAGは、コネクションレス型プロトコルであるHTTP経由のRESTベースのアクセスを利用するマイクロサービスベースのアプリケーションにおいて、データの一貫性を保証します。
データベース・スマート・フラッシュ・キャッシュ: True Cacheは、True Cacheコンピュート・インスタンスのメモリ容量を超えた場合にデータをディスクに保存する柔軟性を提供します。この機能により、キャッシュは、メモリのみに保持されるよりも大きなデータセットに対応することができ、キャッシュの合計サイズを効果的に拡張することができます。フラッシュ・デバイスを組み込み、Database Smart Flash Cacheを構成することで、True Cacheの容量をシームレスに拡張し、データ集約型のワークロードに対して最適なパフォーマンスとスケーラビリティを確保することができます。
包括的なデータ型とフォーマットのサポート: True Cache は、リレーショナル、JSON、テキスト、空間、グラフ、ベクトルなど、すべてのOracle DatabaseのAPIとデータ型をサポートしています。True Cacheに保存されたデータは、使い慣れたOracle DatabaseのAPIを使用して、行形式または列形式でアクセスできます。
スマート・クライアント・ドライバ: Oracle JDBCドライバは、True Cacheの存在を自動的に検出し、読み取り専用リクエストと読み取り/書き込みリクエストを分離することができます。アプリケーションによって読み取り専用として指定されたクエリは、自動的にキャッシュにルーティングされます。これにより、プライマリ・データベースとキャッシュへの接続を別々に維持する必要がなくなり、アプリケーショ ンが簡素化されます。

Oracle True Cache を使用すると、次のようなことが可能になります:
- プライマリ・データベースからクエリ処理タスクをオフロードすることにより、スケーラビリティとパフォーマンスを向上させます。
- True Cacheをアプリケーションの近くに配置することで、アプリケーションのレスポンスタイムとネットワーク・レイテンシを短縮します。これは、データ・レジデンシが必要なシナリオで特に有利です。
- 複数のTrue Cacheインスタンスにデータを分割することで、大容量のインメモリ・ストレージ領域を作成し、より大きな集約キャッシュを使用してスループットを向上させます。
- Oracle Databaseのドキュメントとリレーショナルの二重性をTrue Cacheと一緒に活用することで、ドキュメント中心のアプリケーション開発を合理化し、データの保存と検索の効率を高めます。
- True Cacheはアプリケーションに対して透過的に動作するため、開発と保守のプロセスが簡素化されます。
- コモディティ・ハードウェアにキャッシュをオフロードすることで、コストを削減します。
本質的に、Oracle True Cacheはデータ・キャッシング・ソリューションの大きな進歩であり、常に変化し続けるデータ管理領域を切り抜ける企業に強力な資産を提供します。リアルタイムの情報とパーソナライズされたオンライン・エクスペリエンスが最も重要な時代において、アプリケーションの速度と応答性は、ユーザーのエンゲージメントを左右します。True Cacheは、アプリケーションのレスポンスタイムを高速化し、レイテンシを短縮することで、堅牢で高性能なキャッシング・ソリューションを提供することで、リアルタイムの情報へのシームレスなアクセスを提供し、このような懸念を軽減します。
さらに、True CacheはOracle Databaseのエコシステムの包括的な機能を活用し、インデックス、セカンダリ・インデックス、並列クエリ、圧縮、パーティショニング、セキュリティ対策など、エンタープライズ・グレードの機能を組み込んでいます。組み込みの高可用性により、True Cacheは、ノード障害やネットワーク障害が発生した場合でも、データの回復力と継続的な可用性を提供します。並列処理を活用することで、True Cacheは極めて高いパフォーマンスを実現し、最新のデータ集約型アプリ ケーションの要求に応えます。最終的に、True Cacheは、競争力を維持し、成功を促進するために必要な俊敏性と効率性を組織に提供します。
リソースResources
Webページ: https://www.oracle.com/jp/database/truecache/
ドキュメント: https://docs.oracle.com/cd/G11854_01/odbtc/index.html
詳細や開始方法については、Oracle True Cacheをご覧ください。