キャッシュとは
一元化されたデータ・ソース(この場合はOracleデータベース)の前に独立したキャッシュを追加できます。
-
一元化されたデータ・ソースから導出されたデータのコピーを1つ以上の独立したキャッシュに格納し、これをデータ消費が発生する場所のより近くに配置できます。これにより、頻繁にアクセスされる読取り専用データに対して使用した場合に、データ・アクセス待機時間が短縮されます。待機時間が短いと、ネットワーク接続を介したデータの転送に発生する遅延が最小限となり、全体的な遅延時間が短縮されます。
-
独立したキャッシュでは、データのサブセットを一時的に格納するために高速RAMを使用します。将来同じデータに対してリクエストが発生した場合、一元化されたデータ・ソースのデータにアクセスするよりも高速で処理されます。一元化されたデータ・ソースのデータは通常はディスクに格納されており、アクセス頻度の高さにも影響されます。
-
キャッシュされたデータは、長期間でも一時的にでも格納できます。
-
独立したキャッシュ上のデータが必要な内容に関連しているかぎり、このデータ量はできるだけ小さく維持できます。
独立キャッシュに格納されたデータは、一元化されたデータ・ソース上のデータのコピーであるため、キャッシュされたデータと一元化されたデータ・ソースの同期の維持を確保するメカニズムがあります。
独立したキャッシュを使用するには、次の2つの方法があります。
-
読取り専用キャッシュとして: データの変更は一元化されたデータ・ソースでのみ行われ、これらの変更は指定どおりにOracleデータベースから独立キャッシュに伝播されます。
-
読取り/書込みキャッシュとして: データの変更は、独立したキャッシュまたは一元化されたデータ・ソースのどちらでも実行できます。データは、指定どおりに独立したキャッシュまたは一元化されたデータ・ソースに伝播されます。
独立キャッシュ内での読取り専用および読取り/書込み操作の特定のアクションは、次のとおりです。
キャッシュのアクション | 独立キャッシュ内での読取り専用操作の特定のアクション | 独立キャッシュ内での読取り/書込み操作の特定のアクション |
---|---|---|
変更可能な対象 |
一元化されたデータソースのデータをいつでも変更できます。独立キャッシュのデータは変更されません。 |
独立キャッシュのデータをいつでも変更できます。可能であれば、一元化されたデータ・ソースのデータは変更しないでください。 |
独立キャッシュと一元化されたデータ・ソースのデータの同期方法 |
一元化されたデータ・ソースのデータに加えられた変更は、一元化されたデータ・ソースから独立キャッシュに伝播されます。 |
独立キャッシュのデータに加えられた変更は、一元化されたデータ・ソースに手動または動的にフラッシュできます。 |
SQL文を使用して、キャッシュするデータおよび変更の伝播方法を定義します。
-
読取り専用操作では、
SELECT
SQL文が使用されます。次に例を示します:SELECT * FROM sales.customers; < 342, West, Jane Stone > < 663, East, Pat Reed > 2 rows found.
-
読取り/書込み操作では、
SELECT
、INSERT
、UPDATE
または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.