機械翻訳について

Autonomous Databaseを使用した低レイテンシ接続のベスト・プラクティス

アプリケーションとデータベース間で多数のラウンドトリップを実行する場合、アプリケーションとAutonomous Database間の接続の待機時間を短縮するステップは重要です。

たとえば、Autonomous Databaseに接続するOLTPアプリケーションで、数千のSQL文をデータベースに個別に発行して販売オーダーを実行するとします。 この場合、アプリケーションでは数千回のラウンドトリップが必要であり、各ラウンドトリップの待機時間を短縮すると、販売オーダー・プロセスが大幅に高速化されます。 このようなアプリケーションでは、データベース接続にかかる時間を短縮するために従うことができるベスト・プラクティスがあります。

データベース接続のレイテンシを削減するステップ

これらの推奨事項に従って、アプリケーションとデータベース間の接続の待機時間を短縮できます。

まず、データベースの可用性ドメインを確認します。 Autonomous Databaseインスタンスの可用性ドメインを検索するには、ADMINとして接続し、次の問合せを実行します:

SELECT json_value(cloud_identity, '$.AVAILABILITY_DOMAIN') AVAILABILITY_DOMAIN FROM v$pdbs;

たとえば:

SELECT json_value(cloud_identity, '$.AVAILABILITY_DOMAIN') AVAILABILITY_DOMAIN
             FROM v$pdbs;

AVAILABILITY_DOMAIN  
-------------------- 
SoSC:US-ASHBURN-AD-1

Oracle Cloud Infrastructureコンソールで可用性ドメイン情報を表示することもできます。 詳細については、「OCIコンソールでのネットワーク情報の表示」を参照してください。

待機時間を短縮するには、次を実行します:

  1. クライアントまたは中間層サーバーをAutonomous Databaseインスタンスと同じ可用性ドメインに配置します。

    たとえば、アプリケーションがOracle Cloud Infrastructure Compute VMで実行されている場合、コンピュート・インスタンスの作成時にAutonomous Databaseインスタンスと同じ可用性ドメインを選択します。

    アプリケーションが別のクラウドまたはオンプレミス・データ・センターで実行される場合、OCI FastConnectを使用して、OCIリージョンへの接続の待機時間を短縮します。 詳細については、「FastConnectの概要」を参照してください。

  2. ネットワーク・ルーティングを構成します。
    • パブリック・エンドポイントでAutonomous Databaseインスタンスを使用している場合は、クライアントからデータベースへの接続がサービス・ゲートウェイを経由するようにネットワーク・ルーティングを構成します。

      詳細は、次を参照してください

    • プライベート・エンドポイントでAutonomous Databaseインスタンスを使用している場合は、サービス・ゲートウェイを構成しなくても、ネットワークに表示されているプライベート・エンドポイントを使用してデータベースに接続します。

  3. ウォレットなしの一方向TLS接続を使用します。

    待機時間を短縮するためのベスト・プラクティスとして、mTLS接続とTLS接続の両方を許可するようにAutonomous Databaseインスタンスを構成し、TLS接続を使用してアプリケーションをデータベースに接続します。

    詳細は、次を参照してください:

  4. TCP Fast Open (TFO)を使用してデータベースに接続します。

Autonomous Data Guardを使用してデータベースのデータベース接続にかかる待機時間を短縮するステップ

Autonomous Data Guardスタンバイ環境、クライアントおよび中間層を構成して、フェイルオーバー後またはスイッチオーバー後(スタンバイがプライマリになった場合)に接続する際のデータベース接続の待機時間を短縮するためのステップを示します。

ローカルAutonomous Data Guardを使用したデータベース接続にかかる待機時間の短縮

Autonomous Data Guardを使用し、ローカル・スタンバイ・データベースにフェイルオーバーまたはスイッチオーバーする場合のデータベース接続の待機時間を短縮するには、次のステップに従います。

Autonomous Data Guardローカル・スタンバイがあり、複数の可用性ドメインがあるリージョンにいる場合、Autonomous Data Guardは、異なる可用性ドメインにローカル・スタンバイ・データベースを作成します。 スタンバイ・データベースにフェイルオーバーまたはスイッチオーバーすると、ローカル・スタンバイがプライマリ・データベースになります。 フェイルオーバーまたはスイッチオーバーを準備するには、スタンバイ・クライアントおよび中間層を有効にして、障害発生後またはスイッチオーバー後に、可用性ドメインに障害が発生してもアプリケーションが動作し続けることができるようにすることをお薦めします。

まず、ローカル・ピアの障害リカバリ・タイプがAutonomous Data Guardであることを確認します。 詳細については、「Autonomous Data Guardの有効化」を参照してください。

複数の可用性ドメインがあるリージョンでAutonomous Data Guardをローカル・スタンバイとともに使用している場合、スタンバイ・クライアントおよび中間層を低レイテンシに構成するには、次のタスクを実行します。

  1. スタンバイ・クライアントまたは中間層をローカル・スタンバイ・データベースと同じ可用性ドメインに配置します(すべてのコンポーネントは、同じ可用性ドメインを使用するように構成する必要があります)。

    たとえば、アプリケーションがOracle Cloud Infrastructure Compute VMで実行されている場合、コンピュート・インスタンスの作成時に、コンピュートVMの同じ可用性ドメインをスタンバイ・データベースとして選択します。 これにより、フェイルオーバーまたはスイッチオーバー後にスタンバイ・データベースとスタンバイ・コンピュートVMが同じ可用性ドメインを使用するように、障害リカバリ構成が準備されます。 これにより、コンポーネントで異なる可用性ドメインを使用する構成と比較して、データベースへの接続の待機時間が短縮されます。

    スタンバイ・データベースの可用性ドメインを確認するには、ADMINユーザーとしてプライマリ・データベースに接続し、次の問合せを実行します:

    SELECT availability_domain FROM v$pdbs,
         JSON_TABLE(
           cloud_identity,
           '$.AUTONOMOUS_DATA_GUARD[*]'
           COLUMNS (
             standby_type PATH '$.STANDBY_TYPE',
             availability_domain PATH '$.AVAILABILITY_DOMAIN'
           )
         ) jt
    WHERE jt.standby_type = 'local';

    たとえば、このコマンドは、ローカル・スタンバイ・データベースの可用性ドメインを表示します:

    AVAILABILITY_DOMAIN 
    ------------------- 
    SoSC:US-ASHBURN-AD-3
  2. ローカル・スタンバイ・データベースに対して追加のネットワーク構成を実行したり、一方向TLS接続を許可する必要はありません。 ローカル・スタンバイ・データベースの設定ネットワーク構成は、プライマリ・データベースと同じです。
  3. TCP Fast Openを使用するようにクライアントおよび中間層を構成します。

リージョン間のAutonomous Data Guardでデータベース接続にかかる待機時間を短縮

Autonomous Data Guardを使用し、フェイルオーバーまたはクロス・リージョン・スタンバイ・データベースへのスイッチオーバーを行う場合のデータベース接続の待機時間を短縮するには、次のステップに従います。

1つ以上のクロス・リージョンAutonomous Data Guardスタンバイ・データベースを追加すると、クロス・リージョン・ピアを追加するときに選択したリージョンにクロス・リージョン・スタンバイ・データベースが追加されます。 クロス・リージョンAutonomous Data Guardスタンバイ・データベースにフェイルオーバーまたはスイッチオーバーすると、クロス・リージョン・スタンバイがプライマリ・データベースになります。 リージョナル・フェイルオーバーまたはスイッチオーバーの準備をするには、スタンバイ・クライアントおよび中間層をリモート・リージョンで使用できるようにすることをお薦めします。 これにより、リモート・リージョン内のクライアントおよび中間層が準備され、障害の場合やスイッチオーバー後にアプリケーションが動作し続けることが可能になります。

まず、障害リカバリに少なくとも1つのクロス・リージョンAutonomous Data Guardスタンバイが含まれていることを確認します。 詳細については、「クロス・リージョン・スタンバイ・データベースの追加」を参照してください。

1つ以上のクロス・リージョン・スタンバイ・データベースでAutonomous Data Guardを使用するときに、低レイテンシでクライアントおよび中間層を構成するには、次のステップに従います。

  1. スタンバイ・クライアントまたは中間層を、クロス・リージョン・スタンバイ・データベースと同じ可用性ドメインに配置します。

    クロス・リージョンAutonomous Data Guardスタンバイ・データベースの可用性ドメインを確認するには、ADMINユーザーとしてプライマリ・データベースに接続し、次の問合せを実行します:

    SELECT availability_domain FROM v$pdbs,
         JSON_TABLE(
           cloud_identity,
           '$.AUTONOMOUS_DATA_GUARD[*]'
           COLUMNS (
             standby_type PATH '$.STANDBY_TYPE',
             availability_domain PATH '$.AVAILABILITY_DOMAIN'
           )
         ) jt
    WHERE jt.standby_type = 'cross-region';

    たとえば、クロス・リージョン・スタンバイ・データベースが2つある場合、このコマンドを実行すると、クロス・リージョン・スタンバイ・データベースごとに可用性ドメインが表示されます:

    AVAILABILITY_DOMAIN    
    ---------------------- 
    SoSC:PHX-AD-3          
    SoSC:US-SANJOSE-1-AD-1 
    1. クロス・リージョン・スタンバイが1つある場合、問合せには1つの可用性ドメインが表示されます。 スタンバイ・クライアントと中間層を同じリージョンに配置し、クロス・リージョン・スタンバイ・データベースと同じ可用性ドメインを使用します。

      たとえば、アプリケーションがOracle Cloud Infrastructure Compute VMで実行されている場合、コンピュート・インスタンスの作成時に、コンピュートVMの可用性ドメインをAutonomous Data Guardスタンバイ・データベースと同じものとして選択します。 これにより、クロス・リージョン・スタンバイ・データベースとスタンバイ・コンピュートVMが同じリージョンに存在し、フェイルオーバーまたはスイッチオーバー後に同じ可用性ドメインを使用することが保証されます。

    2. クロス・リージョン・スタンバイが複数ある場合は、各リージョンで、対応する各スタンバイ・データベースのリージョンおよび可用性ドメインに一致する適切な可用性ドメインを使用します。 この設定を複数回実行する必要があります(個々のリージョン内のすべてのコンポーネントでは、Autonomous Data Guardスタンバイと同じ可用性ドメインを使用する必要があります)。

    アプリケーションが別のクラウドまたはオンプレミス・データ・センターで実行される場合、OCI FastConnectを使用して、OCIリージョンへの接続の待機時間を短縮します。 詳細については、「FastConnectの概要」を参照してください。

  2. スタンバイ・データベースが存在するリージョンでネットワーク・ルーティングを構成します。 複数のクロス・リージョン・スタンバイ・データベースがある場合は、このステップを複数回実行します。
    1. スタンバイ・データベースがパブリック・エンドポイントにある場合は、クロス・リージョン・スタンバイ・データベースが存在するリージョンのクライアントからの接続がサービス・ゲートウェイを通過するようにネットワーク・ルーティングを構成します。
    2. スタンバイ・データベースがプライベート・エンドポイントにある場合は、サービス・ゲートウェイを構成せずに、ネットワークに表示されているプライベート・エンドポイントを使用してデータベースに接続します。
  3. ウォレットなしの一方向TLS接続を使用します。

    プライマリ・データベースに一方向TLSを構成した場合、スタンバイ・データベースにはすでにオン・ウェイTLSが構成されています。 クロス・リージョン・スタンバイ・データベースでは、追加の構成を行う必要はありません。

  4. TCP Fast Openを使用するようにクライアントおよび中間層を構成します。

低レイテンシのデータベース接続の概念ネットワーク図

データベースのパブリック・エンドポイントおよびプライベート・エンドポイントを使用する低レイテンシ接続の概念的なネットワーク図を示します。

OCIリージョン内でアプリケーションが実行されているプライベート・エンドポイントを使用した低レイテンシ接続

adb-private-low-latency.epsの説明は以下のとおりです
図adb-private-low-latency.epsの説明

OCIリージョン内でアプリケーションが実行されているパブリック・エンドポイントを使用した低レイテンシ接続

adb-public-low-latency.epsの説明は以下のとおりです
図adb-public-low-latency.epsの説明

オンプレミス・データ・センターで実行されているアプリケーションでFastConnectを使用してOCIに接続されたプライベート・エンドポイントを使用した低レイテンシ接続

adb-fastconnect-private-low-latency.epsの説明は以下のとおりです
図adb-fastconnect-private-low-latency.epsの説明

FastConnectを使用してオンプレミス・データ・センター内でアプリケーションが実行されているパブリック・エンドポイントを使用した低レイテンシ接続をOCIに接続

adb-fastconnect-public-low-latency.epsの説明は以下のとおりです
図adb-fastconnect-public-low-latency.epsの説明