Oracle True Cache: キャッシュ・ウォームアップについて学習 (2025/02/07)

Oracle True Cache: キャッシュ・ウォームアップについて学習 (2025/02/07)

https://blogs.oracle.com/database/post/oracle-true-cache-learn-about-cache-warmup

投稿者: Ilam Siva | Senior Principal Product Manager


最適に実行されているキャッシュは、高パフォーマンス・アプリケーションの重要なコンポーネントです。ただし、初期キャッシュ・ミスによりレイテンシが高くなる可能性があるため、キャッシュの起動中にアプリケーションに対してチャレンジが発生する可能性があります。キャッシュ・ウォームアップを使用して、この処理を改善する方法について学習します。


Oracle True Cache– 開発者向けの独自のキャッシュ


True Cacheを初めて使用する読者向けのクイック・リフレッシュ機能- Oracle True Cacheは、Oracle Databaseのインメモリーで一貫性のある自動管理キャッシュです。True Cacheは、SQLキャッシュであり、データベースのキー値(オブジェクトまたはJSON)キャッシュでもあります。すべてのOracle Databaseオブジェクトおよびタイプがキャッシュされます。True Cacheは、主にディスクレスであることを除き、プライマリ・データベースの完全に機能する読取り専用レプリカです。True Cacheの最もすばらしい機能の1つは、自動的に管理されるため、アプリケーション開発者はキャッシュ層のキャッシュを管理する必要がなくなり、キャッシュの一貫性やキャッシュ内のアイテムの存続時間を管理する必要がなくなります。これはすべて管理されており、アプリケーション開発者の生活を非常に簡単にします!




なぜキャッシュがColdなのか。


まず、キャッシュ・ヒットとキャッシュ・ミスによる意味を見てみましょう。


キャッシュ・ヒットは、システムがキャッシュ・メモリー(この場合はTrue Cache)からデータを正常に取得したときに発生します。そのためには、データがすでにキャッシュに存在している必要があるため、すばやくアクセスできます。これは推奨されるシナリオであり、キャッシュの利点によってアプリケーションのパフォーマンスが向上します。また、問合せのオフロードや、プライマリ・データベースへのリクエスト数の削減にも役立ちます。


キャッシュ・ミスは、リクエストされたデータがキャッシュに見つからない場合に発生し、プライマリ・データベースから強制的に取得されるため、パフォーマンスが低下し、プライマリ・データベースにも負荷がかかります。


キャッシュが最初に起動されると、キャッシュはコールドを開始します。起動時のキャッシュ・コールドは、システムまたはアプリケーションが最初に起動したときに、そのキャッシュが空であることを意味します。つまり、格納されたデータはすぐには使用できません。キャッシュが空であるため、すべてのリクエストは元のデータ・ソース(プライマリdb)に移動する必要があり、レスポンス時間が著しく遅延します。






ウォームアップ期間


True Cacheがリクエストの受信を開始すると、キャッシュは頻繁にアクセスされるデータで徐々に一杯になり、キャッシュがより効率的になるにつれて、コールド・データからウォーム・データに遷移し、最終的にホット・データに遷移します。




キャッシュウォーミングが重要な理由


キャッシュの事前移入: システムが実際のアプリケーション・トラフィックに公開される前に、頻繁にアクセスされるデータを事前にキャッシュにロードします。このキャッシュ・ウォーミングは、頻繁にアクセスされるコンテンツでキャッシュをプリロードすることによってアプリケーションのパフォーマンスを最適化するために使用される概念です。これにより、True Cacheでデータをすぐに使用できるようになり、アプリケーション/ユーザーへのサービス提供にかかる時間が短縮されます。これにより、ユーザー・エクスペリエンスが迅速かつ効率的になります。


アプリケーションがデータをリクエストすると、True Cacheまたはプライマリ・データベース、あるいはその両方から取得されます。データがキャッシュにない場合は、プライマリ・データベースからデータをフェッチする必要があります。これには時間がかかる場合があります。データのフェッチにかかる時間が長くなるほど、アプリケーションは遅くなり、ユーザー・エクスペリエンスや処理スループットへの影響が大きくなります。キャッシュ・ウォーミングでは、頻繁にアクセスされるコンテンツでキャッシュをプリロードすることで、この問題を排除し、アプリケーション/ユーザーが常に使用できるようにします。




キャッシュ・ウォーミングの利点は何ですか。


  1. データ・アクセス時間の短縮: キャッシュをプリロードすることで、キャッシュ・ウォーミングによって初期キャッシュ・ミスに関連する待機時間が短縮されます。この戦略によりキャッシュ・ヒットが増加するため、データはより高速にアプリケーションに提供され、より迅速かつシームレスなアプリケーションおよびユーザー・エクスペリエンスを実現します。
  2. プライマリ・データベースの負荷の削減: データをキャッシュすることで、プライマリ・データベースの負荷が軽減され、リソースが解放され、アプリケーションおよびシステムの全体的なパフォーマンスが向上します。
  3. スケーラビリティの向上: True Cacheは、アプリケーションの全体的なスケーラビリティの向上に役立ちます。また、実際には、スケーラビリティを向上させるために複数のTrue Cacheインスタンスをデプロイすることもできます。
  4. ユーザー・エンゲージメントの向上とアプリケーションSLAの達成: より迅速で効率的なアプリケーションにより、ユーザーのエンゲージメントが維持され、可用性も向上します。
  5. キャッシュの最適な使用: 頻繁にアクセスされるデータでTrue Cacheを温めることで、この戦略によりTrue Cache領域の使用が最適化され、アプリケーションの使用に最も役立つデータに貴重なリソースが使用されるようになります。



まとめ


True Cacheのウォーミングは、アプリケーションのパフォーマンスを最適化するための効果的な手法です。頻繁にアクセスされるデータでキャッシュを事前ロードすることで、問合せに迅速に対応できるため、より効率的で効率的なアプリケーション・エクスペリエンスを実現できます。キャッシュ・ウォーミングを手動で実装する場合(問合せを手動で実行する場合)、またはプライマリ・データベースの前面にあるキャッシュをウォーミングするために使用するカスタム・ツールやスクリプトを含む自動化を実装する場合でも、キャッシュ・ウォーミングのメリットは明確で、十分に活用できます。




詳細情報のリソース:

True Cache home: https://www.oracle.com/truecache
User Guide: True Cache User Guide
Live Labs: How to access Live Labs for True Cache
Video: Video presentation

コメント

このブログの人気の投稿

Oracle Database 19cサポート・タイムラインの重要な更新 (2024/11/20)

Oracle GoldenGate 23aiでMicrosoft Fabricでのオープン・ミラーリングがサポートされるようになりました (2024/11/19)

Oracle APEXのInteractive Gridで、Oracle Formsと比較して、重複行の検証を制御/通過させる方法 (2022/07/21)