
こんにちは。CData Software Japanの齋藤です。
400を超えるDB、DWH、SaaSとの接続が可能なCDataの製品ラインアップ。その中でもデータレプリケーションを実現するCData Syncは、データを指定の同期先へノーコードで複製し、安定したデータ基盤の構築を支援するアプリケーションです。
そんなCData Syncでは3つのライセンスをご用意しています。
製品価格 | CData Sync | ノーコードで始めるETL / ELT パイプライン
コネクション数ベースのライセンス体系となっており、ご検討いただいているお客様から「この連携構成ではコネクション数はいくつになりますか?」という質問を多くいただきます。
そのため、本記事では「SQL ServerのデータをSnowflakeへレプリケートしたい」という片方向レプリケーションのシナリオを例にとってCData Syncのコネクションについてご説明します。

コネクタの種類
CData Syncではデータソース/同期先への接続を「コネクタ」が担当します。
今回のシナリオの場合、データソースと同期先それぞれのコネクタの種類は以下のようになります。
データソース: SQL Serverコネクタ
同期先: Snowflakeコネクタ
画面上では、「データソース」タブ、「同期先」タブからそれぞれ対象のコネクタを選択できます。


コネクタに設定する接続情報について
この章では選択したデータソースと同期先のコネクタへ接続するための設定項目を確認していきます。
SQL Serverコネクタ
「データソース」タブから選択したSQL Serverコネクタでは次の項目への設定が必要です。

Snowflakeコネクタ
一方で「同期先」タブから選択したSnowflakeコネクタでは次の項目への設定が必要です。
ウェアハウス名
URL
データベース名
認証方式(デフォルト: OAuth)
ユーザー名 (Auth SchemeがOAuthの場合)
OAuth Client ID (Auth SchemeがOAuthの場合)
OAuth Client Secret (Auth SchemeがOAuthの場合)

このように、コネクションを構成する設定項目は、接続するDBやDWH、SaaSの種類によって異なります。また、同じコネクタでも、認証方式(OAuth, Password 等)が異なれば、必要な設定項目が異なります。
以下の画像はSnowflakeコネクタのAuth SchemeをAzureADに設定した場合の設定項目です。
先ほどのOAuth認証の設定項目と比較して、OAuth Client IDが不要な代わりにAzure Tenantの項目が必須になっていることがわかります。

コネクションについて
ここまで、コネクタと設定項目について確認してきました。次に、これらを踏まえてコネクションについて説明します。
CData Syncにおけるコネクションは「何で繋ぐか(=コネクタ)」と「どこにどのような方式で繋ぐか(=接続情報)」のセットです。コネクタは有効な接続情報が設定されて初めて、CData Sync上で1つのコネクションとして機能します。

以降では、この「コネクタと接続情報のセット」という考え方をもとに、具体的なコネクション数の数え方を説明していきます。
基本構成:2コネクションのケース
この章では「SQL ServerのデータをSnowflakeへレプリケートしたい」という要件において基本構成である2コネクションのケースを紹介します。
まず、以下の画像ではSQL ServerコネクタにデータソースであるSQL ServerのSalesデータベースへの接続情報を追加しています。

「コネクタと接続情報のセット」は下記の通りです。
同様に、同期先であるSnowflakeの接続情報をSnowflakeコネクタに設定し、接続を追加しました。

「コネクタと接続情報のセット」は下記の通りです。
これにより、「コネクタと接続情報のセット」は計2つとなり、コネクションの合計数は2つになります。データソースと同期先にそれぞれ1つずつコネクションが作成される基本的な構成です。
CData Syncの画面上からも追加したコネクションを2つ確認できます。


構成を拡張する:3コネクションのケース
その後、既にコネクションとして追加してあるSalesデータベースに加え、同じSQL Server上のMarketingデータベースのデータもSnowflakeへ同期したくなったとします。コネクタは引き続き「データソース」タブから選択したSQL Serverコネクタを使用します。
しかし、SalesとMarketingはデータベース名が異なるため、接続情報は別々に設定する必要があります。 そのため、次の画像のようにSQL Serverコネクタのコネクションをもう1つ追加します。

「コネクタと接続情報のセット」は下記の通りです。
結果として、コネクションの数は3つになります。このように、SQL Serverをデータソースとして、同じサーバー上の異なるデータベースへ接続したい場合は、追加のコネクションが必要になります。


まとめ: コネクション数はトライアルで確認を
CData Syncのコネクションは「コネクタと接続情報」のセットとして捉えることができます。今回はSQL Serverコネクタにおいて、データベース名が異なるだけでもコネクションの追加が必要になるケースを紹介しました。同じコネクタを使用する場合でも、接続情報の設定が変わればコネクションを追加する必要があります。
そのため、要件が固まる前の段階では、正確なコネクション数を見積もることが難しいケースも少なくありません。データベース数など実運用環境の構成を事前に把握しておくことが重要ですが、検証を進めていく中での要件変更が、当初想定していたコネクション数に影響することもあります。
CData Sync は以下のWebページより30日間の無償評価版も提供しておりますので、実際の構成で連携を試しながら必要なコネクション数をご確認いただくことをおすすめします。
CData Sync | 自動化された継続的なデータレプリケーション
この記事では CData Sync™ 26.1.9516.0 を利用しています。