キャッシュとは

信頼できるデータへの直接アクセスは、常に高速でスケーラブルであるのが理想です。ほとんどのアプリケーションは、クライアントとしてデータにアクセスするため一元化されたデータ・ソースは別の場所にあり、パフォーマンス、スケーラビリティおよび可用性が低下する可能性があります。別の方法として、独立したキャッシュを最適な場所に配置し、一元化されたデータ・ソースからキャッシュされた関連データのサブセットを置くことで、パフォーマンス、スケーラビリティおよび可用性を向上させることができます。

一元化されたデータ・ソース(この場合はOracleデータベース)の前に独立したキャッシュを追加できます。

  • 一元化されたデータ・ソースから導出されたデータのコピーを1つ以上の独立したキャッシュに格納し、これをデータ消費が発生する場所のより近くに配置できます。これにより、頻繁にアクセスされる読取り専用データに対して使用した場合に、データ・アクセス待機時間が短縮されます。待機時間が短いと、ネットワーク接続を介したデータの転送に発生する遅延が最小限となり、全体的な遅延時間が短縮されます。

  • 独立したキャッシュでは、データのサブセットを一時的に格納するために高速RAMを使用します。将来同じデータに対してリクエストが発生した場合、一元化されたデータ・ソースのデータにアクセスするよりも高速で処理されます。一元化されたデータ・ソースのデータは通常はディスクに格納されており、アクセス頻度の高さにも影響されます。

  • キャッシュされたデータは、長期間でも一時的にでも格納できます。

  • 独立したキャッシュ上のデータが必要な内容に関連しているかぎり、このデータ量はできるだけ小さく維持できます。

独立キャッシュに格納されたデータは、一元化されたデータ・ソース上のデータのコピーであるため、キャッシュされたデータと一元化されたデータ・ソースの同期の維持を確保するメカニズムがあります。

独立したキャッシュを使用するには、次の2つの方法があります。

  • 読取り専用キャッシュとして: データの変更は一元化されたデータ・ソースでのみ行われ、これらの変更は指定どおりにOracleデータベースから独立キャッシュに伝播されます。

  • 読取り/書込みキャッシュとして: データの変更は、独立したキャッシュまたは一元化されたデータ・ソースのどちらでも実行できます。データは、指定どおりに独立したキャッシュまたは一元化されたデータ・ソースに伝播されます。

独立キャッシュ内での読取り専用および読取り/書込み操作の特定のアクションは、次のとおりです。

キャッシュのアクション 独立キャッシュ内での読取り専用操作の特定のアクション 独立キャッシュ内での読取り/書込み操作の特定のアクション

変更可能な対象

一元化されたデータソースのデータをいつでも変更できます。独立キャッシュのデータは変更されません。

独立キャッシュのデータをいつでも変更できます。可能であれば、一元化されたデータ・ソースのデータは変更しないでください。

独立キャッシュと一元化されたデータ・ソースのデータの同期方法

一元化されたデータ・ソースのデータに加えられた変更は、一元化されたデータ・ソースから独立キャッシュに伝播されます。

独立キャッシュのデータに加えられた変更は、一元化されたデータ・ソースに手動または動的にフラッシュできます。

SQL文を使用して、キャッシュするデータおよび変更の伝播方法を定義します。

  • 読取り専用操作では、SELECT SQL文が使用されます。次に例を示します:

    SELECT * FROM sales.customers;
    < 342, West, Jane Stone > 
    < 663, East, Pat Reed > 
    2 rows found.    
  • 読取り/書込み操作では、SELECTINSERTUPDATEまたはDELETE SQL文(あるいはそのすべて)を使用します。次に例を示します:

    INSERT INTO customers VALUES (342, "West", "Jane Stone");
    1 row created.
    DELETE FROM customers WHERE cust_num=122;
    I row deleted.
    UPDATE customers SET region="East" WHERE cust_num=663;
    1 row updated.