データ活用時代到来! Syniti Data ReplicationでSnowflakeへのレプリケーションを試してみました


昨今、データ活用が注目され、企業が保有しているデータを分析用のプラットフォームへ移動する需要が増えています。
このようなデータプラットフォームに対して、Syniti Data Replication(以下Syniti)を利用することで、あらゆるRDBMSからDWHなどのデータプラットフォームへ開発を行うことなく手軽にデータ連携が可能です。
※Synitiがサポートしているデータベースについては、こちらをご覧ください。

本ブログでは、最近注目を集めているパフォーマンスチューニングを意識することなく、大量のデータを高速に処理することができるSnowflakeへのデータ連携を紹介します。

まずは、Snowflake側での準備です。
といっても、準備するものとしてはSynitiからSnowflakeへアクセスするログインユーザを定義するのみとなります。
この時ロールを指定できますが、これはどのロールを選択しても、Synitiのレプリケーション処理に影響はありません。

次に、SynitiをインストールしたWindowsマシン側での準備です。
SynitiからSnowflakeへの接続には、Snowflakeが提供しているODBCドライバーを使用します。
こちらのリンクより、Windows OS用のODBCドライバーをダウンロードし、インストールが完了すると、WindowsのODBCデータソースアドミニストレーターからSnowflakeの文言が見つかります。

ここまで完了したら、あとはSynitiコンソールより接続定義とレプリケーション設定を行うだけとなり、ターゲット接続追加ウィザードを起動し、Snowflakeを選択します。
※この画面からの、Synitiが多くのデータプラットフォームをサポートしていることがわかります。

次に、Connection Stringの項目を選択し、右下の編集ボタンをクリックします。

すると、ODBC接続を定義するポップアップ画面が出力されます。

ここでは、以下のような文字列で接続を定義します。

Driver={SnowflakeDSIIDriver};UID=ユーザ名;PWD=パスワード;DATABASE=データベース名;SERVER=サーバ名

例えば、ユーザ名がsdruser、パスワードがSql123456、データベース名がDEMO_DB、サーバ名がaa1234.ap-northeast-1.aws.snowflakecomputing.comの場合、以下のように定義します。

Driver={SnowflakeDSIIDriver};UID=sdruser;PWD=Sql123456;DATABASE=DEMO_DB;SERVER=aa1234.ap-northeast-1.aws.snowflakecomputing.com

これらの文字列を入力したら、画面をOKで閉じ、テストボタンを押してSynitiマシンからSnowflakeへの疎通が取れるか確認することも可能です。

次に、レプリケーション先のテーブル選択を行います。
今回はすでにテーブルが存在しておりますが、テーブルが存在しない場合にはSynitiの機能で
連携元となるソーステーブル構造を参考にテーブルを作成する機能も用意しています。

あとは画面を次へで進めて、完了をクリックすることでSynitiへのSnowflake接続登録が完了します。
このようにGUIベースで、簡単にSnowflakeへの接続設定が完了します。

ここまで設定が完了すれば、あとはレプリケーションジョブを作成し、ソーステーブルのデータをSnowflakeのテーブルに同期するのみです。
もちろん、Snowflakeへの初期同期(全件転送)が終わった後は、ソースデータベースのトランザクションログを参照して差分レコードのみを転送することも可能です。

これら一連の操作感については、こちらの動画にもまとめておりますので、ぜひご覧ください。

関連したトピックス

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください