10.3 Global Data ServicesでのTrue Cacheの実装

これらの例では、Oracle Global Data Services (GDS)でTrue Cacheを実装するための最も一般的なユースケースをいくつか示します。

10.3.1 高可用性のためのTrue Cacheの構成(フェイルオーバーして読取り/書込み)

このモードでは、アプリケーションは、すべての読取り/書込みワークロードをプライマリ・データベースに送信し、すべての読取り専用ワークロードをTrue Cacheに送信します。

True Cacheを使用できない場合、アプリケーションは、すべての読取り専用ワークロードをプライマリ・データベースに送信します。



次のGDSCTLコマンドではサービスが追加されます:

add service -service sales.example.com -gdspool sales -preferred primdb1i -pdbname sales_pdb -role primary
add service –service sales_tc.example.com -gdspool sales -preferred_all -pdbname sales_pdb -role true_cache -failover_primary

ノート:

-failover_primaryオプションを使用するには、GSMホームにパッチ37099586をインストールします。

10.3.2 読取りオフロードと書込みリダイレクションの場合のTrue Cacheの使用

このモデルでは、アプリケーションは、読取り/書込みワークロードをプライマリ・データベースに送信し、一部またはすべての読取り専用ワークロードをTrue Cacheにオフロードします。

次の例では、2つのアプリケーションがあります:

  • アプリケーション1は、読取り/書込みワークロードをプライマリ・データベースに送信し、低頻度の読取り専用ワークロードをTrue Cacheにオフロードします。
  • アプリケーション2は、読取り専用ワークロードをTrue Cacheに送信し、時々、読取り/書込みワークロードをプライマリ・データベースに送信します。

True Cacheを使用できない場合は、両方のアプリケーションが、すべての読取り専用ワークロードをプライマリ・データベースに送信します。



次のGDSCTLコマンドではサービスが追加されます:

add service -service sales1.example.com -gdspool sales -preferred primdb1i -pdbname sales_pdb -role primary
add service -service sales2.example.com -gdspool sales -preferred primdb1i -pdbname sales_pdb -role primary
add service -service sales1_tc.example.com -gdspool sales -preferred_all -pdbname sales_pdb -role true_cache -failover_primary
add service -service sales2_tc.example.com -gdspool sales -preferred_all -pdbname sales_pdb -role true_cache -failover_primary

ノート:

-failover_primaryオプションを使用するには、GSMホームにパッチ37099586をインストールします。

10.3.3 シングルトン読取り専用サービスの場合のTrue Cacheの使用

このモデルでは、複数のアプリケーションで、一度に1つのTrue Cacheのみで実行されるサービスを共有しています(たとえば、それらで同じ時点からデータを読み取る必要があるため)。

次の例では、2つのアプリケーションと2つのTrue Cacheがあります。それらのアプリケーションは、読取り/書込みワークロードをプライマリ・データベースに送信するために1つのサービスを共有しており、読取り専用ワークロードを優先True Cacheに送信するために別のサービスを共有しています。優先True Cacheを使用できない場合、サービスは、他の使用可能なTrue Cacheにフェイルオーバーします。両方のTrue Cacheを使用できない場合、それらのアプリケーションは、読取り専用ワークロードをプライマリ・データベースに送信します。

指定されたラグ時間を超えてTrue Cacheがプライマリ・データベースより遅れている場合は、サービスにより、True Cacheが追いつくまでそのTrue Cacheへのリクエストの転送が中止されます。



次のGDSCTLコマンドではサービスが追加されます:

add service -service sales.example.com -gdspool sales -preferred primdb1i -pdbname sales_pdb -role primary
add service -service sales_tc.example.com -gdspool sales –preferred TC1 -available TC2, primdb1i -pdbname sales_pdb –role true_cache -failover_primary -lag 15

ノート:

優先True Cacheを使用してTrue Cacheサービスを追加する場合、現在は、プライマリ・データベースを-availableリストに含める必要があります。これは、将来変更される可能性があります。

ノート:

-failover_primaryオプションを使用するには、GSMホームにパッチ37099586をインストールします。

10.3.4 リーダー・ファームとしてのTrue Cacheの構成(読取り専用)

このモデルでは、特定のワークロードのためのサービスが、専用True Cacheで実行されており、最初のTrue Cacheを使用できなくなった場合は他のサービス専用のTrue Cacheにフェイルオーバーします。

次の例では、3つのアプリケーション(music、videoおよびbooks)があります。各アプリケーションは、読取り専用ワークロードを2つの専用True Cacheに送信します。

あるアプリケーションの専用True Cacheを使用できない場合、そのアプリケーションは、別のサービス専用のTrue Cacheにワークロードを送信します。



次のGDSCTLコマンドではサービスが追加されます:

add service –service music.example.com -gdspool sales –preferred TC1, TC2 -available TC3, TC4, primdb1i -pdbname sales_pdb –role true_cache
add service –service video.example.com -gdspool sales –preferred TC3, TC4 -available TC5, TC6, primdb1i -pdbname sales_pdb –role true_cache
add service –service books.example.com -gdspool sales –preferred TC5, TC6 -available TC1, TC2, primdb1i -pdbname sales_pdb –role true_cache

ノート:

優先True Cacheを使用してTrue Cacheサービスを追加する場合、現在は、プライマリ・データベースを-availableリストに含める必要があります。これは、将来変更される可能性があります。