Snowflakeのレプリケーション(複製)機能とは?~レプリケーションの仕組みと活用方法~(vol.23)

  • 公開日:
  • 最終更新日:

Snowflakeには、ビジネス継続性と障害復旧を支援するために設計されたレプリケーション(複製)機能があります。
本ブログ記事では、Snowflakeのレプリケーション(複製)機能について、機能概要/用途/対象オブジェクト/利用にあたっての注意点を解説します。

Snowflakeのレプリケーション(複製)機能とは?

レプリケーション(複製)とは、同じAWSやMicrosoft Azureのリージョン内、もしくは他のクラウドサービスのリージョンに作成したSnowflake環境にデータをコピーする技術のことを指します。
Snowflakeのレプリケーション(複製)機能を使用すると、データベースやアカウントオブジェクトを異なるリージョンやクラウドプラットフォーム間で複製することが可能となります。

複製する環境(セカンダリ オブジェクト)は複数設定することが可能です。
例えば、メイン環境(ソース アカウント)はMicrosoft Azureの東日本リージョンで構築し、複製環境はAWSの大阪リージョンに構築するといったように、異なるクラウドプラットフォーム・リージョン間で複製環境を構築することが可能です。

Snowflakeレプリケーション(複製)機能の用途とは?

Snowflakeのレプリケーション(複製)機能の主な用途は次の通りです。

  • データのバックアップ環境構築
    例えば、メインのSnowflakeアカウントをMicrosoft Azureの東日本リージョンに構築した場合、セカンダリ オブジェクトをAWSの大阪リージョンに構築することで、Microsoft Azureの東日本リージョンに障害が発生した際などに、AWSの大阪リージョンに構築したSnowflake環境にアクセスすることで、Snowflakeにあるデータを使用できない事態を回避することができます。

  • フェールオーバー
    フェールオーバーとは、稼働中のシステムで問題が生じてシステムやサーバーが停止してしまった際に、自動的に待機システムに切り替える仕組みのことです。
    フェールオーバーでは、リージョンまたはクラウドプラットフォームで停止が発生した場合に、セカンダリアカウントオブジェクトとデータベースを昇格させ、読み取り/書き込みプライマリオブジェクトとして機能させることができます。
    ※他のアカウントオブジェクトの複製およびフェールオーバー/フェールバック(稼働系の問題が除去されたあと、待機系のサーバから稼働系のサーバに切り戻すこと)には、Business Critical Edition以上のエディションが必要です。

上記のように、Snowflakeのレプリケーション(複製)機能を用いることで、データのバージョンアップやメイン環境が使用できない場合の代替環境として活用することができます。

 

Snowflakeのレプリケーション(複製)対象となるオブジェクトとは?

Snowflake のレプリケーション(複製)対象となるオブジェクトは次の8つです。

  • データベース
  • 統合
  • ネットワークポリシー
  • パラメータ
  • リソースモニター
  • 共有
  • ユーザー
  • ウェアハウス

 主にデータの複製として使用する場合は、データベースを対象にレプリケーション(複製)を行うことで、セカンダリの環境にデータベースのオブジェクトを複製することができます。
その他、ユーザー/ウェアハウス/ネットワークポリシーなど、Snowflake環境に関するオブジェクトも複製することが可能です。
ただし、統合やネットワークポリシーなどを複製する場合は、Business Critical Edition以上のエディションが必要となります。

 

Snowflakeでレプリケーション(複製)する際の注意点とは?

実は、Snowflakeではレプリケーション(複製)できないオブジェクトがあります。
次のオブジェクトは、Snowflakeではレプリケーション(複製)不可となりますので、ご注意ください。

  • 共有から作成されたデータベース
  • 外部テーブル
  • Icebergテーブル
  • ハイブリッドテーブル(Unistore

外部テーブルやIcebergテーブルはAWS S3Microsoft Azure Storageのファイルからテーブルを作成しており、複製することができないため、注意が必要です。

また、外部テーブルやIcebergテーブルの参照元ファイルは、セカンダリリージョンのストレージにコピーされない点にも注意しましょう。

 

まとめ

ここまで、Snowflakeのレプリケーション(複製)機能について、用途や対象オブジェクト、レプリケーション(複製)する際の注意点を解説してまいりました。Snowflakeのレプリケーション(複製)機能を活用することで、効率的なデータバックアップやフェールオーバーの設定が可能となりますので、まだご利用されていない方は、ご検討いただければと思います。

 弊社では、お客様の用途やデータ連携元の環境構成、今後の活用方法を踏まえて、データ分析基盤の構築やお客様が構築したデータ分析基盤の改修などを実施しております。 

Snowflakeを用いたデータ活用でお悩みの際は、是非、弊社までお声掛けください。 

 本記事は、2024723日時点の情報を基に作成しています。製品・サービスに関する詳しいお問い合わせは、弊社Webサイトからお問い合わせください。

https://itsol.dentsusoken.com/snowflake/inquiry/