Cortex Search Serviceの複製

Cortexでは、ソースアカウントから同じ組織内にある1つ以上のターゲットアカウントへCortex Search Serviceを複製できます。この複製は、Snowflake複製およびフェールオーバーグループとシームレスに統合され、ターゲットアカウント上のオブジェクトに対して特定時点における一貫性を提供します。複製とフェールオーバーの詳細については、複数のアカウント間にわたる複製とフェールオーバーの概要 をご参照ください。

親データベースが複製グループまたはフェールオーバーグループにある場合、検索サービスは自動的に複製されます。複製されたすべてのCortex Search Serviceには、以下の動作が適用されます。

  • 複製されたCortex Search Serviceは読み取り専用です。複製されたエンティティでは、直接 ALTER または DROP コマンドは許可されていません。

  • 複製されたCortex Search Serviceは、複製スケジュールに従ってプライマリサービスと同期します。具体的に、プライマリレプリカがサービスを削除すると、複製の更新中にセカンダリサービスも削除されます。

  • 複製中、データ転送とコンピューティングリソースに複製関連コストが発生する可能性があります。Cortex Searchのインデックス作成に追加コストはありません。詳細については、 複製コストについて をご参照ください。

  • 複製されたCortex Search Serviceのサービングステータス、クエリ可能性、およびサービングの請求は、複製グループとフェールオーバーグループで異なります。

複製グループ

フェールオーバーグループ

サービングステータス

ソースサービスのサービングステータスを継承します。ソースサービスがアクティブな場合は、複製されたサービスもアクティブになります。

フェールオーバーグループがプライマリに昇格するまで常に一時停止されます。

クエリ可能性

複製完了から最大10分の遅延後にクエリ可能になります。

プライマリに昇格するまでクエリ可能になりません。

サービングコスト

ソースサービスがアクティブなサービングステータスにある場合、サービングコストが請求されます。

プライマリに昇格するまでサービングコストは発生しません。

複製グループとフェールオーバーグループの詳細については、CREATE REPLICATION GROUP をご参照ください。

複製グループを使用して複製されたCortex Search Serviceを作成する

複製されたCortex Search Serviceを作成するには、サービスの親データベースを含む複製グループを作成します。

  1. プライマリアカウントに複製グループを作成します。

    CREATE REPLICATION GROUP myrg
        OBJECT_TYPES = DATABASES
        ALLOWED_DATABASES = <database1>
        ALLOWED_ACCOUNTS = <org-name>.<secondary-account>
        REPLICATION_SCHEDULE = '60 MINUTE';
    
  2. セカンダリアカウントから次のコマンドを実行して、セカンダリアカウントにプライマリアカウントデータベースのレプリカを作成します。

    CREATE REPLICATION GROUP myrg
        AS REPLICA OF <org-name>.<primary-account>.myrg;
    
  3. セカンダリアカウントから、手動でレプリカを更新します。

    ALTER REPLICATION GROUP myrg REFRESH;
    
  4. プライマリデータベースにCortex Search Serviceを作成します。詳細については、 CREATE CORTEX SEARCH SERVICE をご参照ください。検索サービスは、複製スケジュールに従って自動的に複製されます。

フェールオーバーグループを使用して複製されたCortex Search Serviceを作成する

フェールオーバーグループを使用すると、複製されたサービスを使用せず、または支払いをすることなく、追加のアカウントでデータをバックアップできます。フェールオーバーグループがあれば、操作を再開する必要がある場合にのみ、フェールオーバーをアクティブ化できます。Cortex Search Service用のフェールオーバーグループを作成するには、サービスの親データベースを含むフェールオーバーグループを作成します。

  1. プライマリアカウントにフェールオーバーグループを作成します。

    CREATE FAILOVER GROUP myrg
        OBJECT_TYPES = DATABASES
        ALLOWED_DATABASES = <database1>
        ALLOWED_ACCOUNTS = <org-name>.<secondary-account>
        REPLICATION_SCHEDULE = '60 MINUTE';
    
  2. セカンダリアカウントから次のコマンドを実行して、セカンダリアカウントにプライマリアカウントデータベースのフェールオーバーを作成します。

    CREATE FAILOVER GROUP myrg
        AS REPLICA OF <org-name>.<primary-account>.myrg;
    
  3. セカンダリアカウントから、手動でフェールオーバーグループを更新します。

    ALTER FAILOVER GROUP myrg REFRESH;
    
  4. プライマリデータベースにCortex Search Serviceを作成します。詳細については、 CREATE CORTEX SEARCH SERVICE をご参照ください。検索サービスは、複製スケジュールに従って自動的に複製されます。

  5. 障害復旧時に、セカンダリアカウントで次のSQLを実行して、新しいプライマリアカウントにします。複製されたサービスはアクティブ化され、クエリのためにサービングシステムにロードされます。

    ALTER FAILOVER GROUP myrg PRIMARY;