
はじめに
CData SyncはSaaSやデータベースのデータをノーコードで別のデータベースにレプリケーションできるアプリケーションです。本記事ではSalesforceの取引先・取引先責任者データをMySQLにレプリケーションするシナリオを例に、トライアルの申し込みからレプリケーション実行までをハンズオン形式で解説します。
前提
CData Syncは、マルチプラットフォーム(Windows / macOS / Linux / AWS AMI)に対応しているアプリケーションです。CData Syncのシステム要件はこちらからご参照いただけます。また、本ハンズオンの中で利用しているソフトウェアの詳細は下記の通りです。

トライアルの申し込み
CData Syncの無償トライアルはこちらのフォームから必要事項をご入力のうえお申し込みいただけます。なお、フォームには2つのタブがあります。
トライアル期間は「オンプレミス / セルフホスト型」が30日間、「クラウド」は14日間となっています。以降のステップでは「オンプレミス / セルフホスト型」でお申し込みをした際の内容をご紹介します。

フォームを送信後、お申し込みいただいたメールアドレスに以下のメールが届きます。こちらのメール本文にインストーラーの入手先、および、トライアル用ライセンスキーの記載があります。

Windowsへのインストール
届いたメール内の「Windows環境の方」 > 「インストーラーをダウンロード」リンクをクリックしてインストーラーをダウンロードします。CDataSync.exeのダウンロードが完了したらファイルを実行します。その後はウィザードに従いインストールを進めてください。

「インストールが正常に完了しました。」が表示されればインストールが完了です。

「CData Sync を起動」にチェックをして「完了」ボタンをクリックします。コマンドプロンプトが起動し、しばらくするとブラウザが開いて製品マニュアルとアカウント作成画面が表示されます。
※CData Syncの起動・停止はWindowsのサービスから行えます。デフォルトの設定は自動起動です。
Linuxへのインストール
届いたメール内の「その他の環境の方(Mac、Linux/Unix など)」 > 「クロスプラットフォーム用インストーラーをダウンロード (.tar)」リンクをクリックしてインストーラーをダウンロードします。tar.gzファイルをダウンロードしたら、任意のフォルダに解凍します。(例: /opt/CDataSync)
sudo tar -xvzf ./CDataSync.tar.gz -C /opt/CDataSync

サービスを作成せずにCData Syncを起動するには、以下のコマンドを実行します。ただし、インストールしたCData Syncのバージョンによって、パス内の「jdk-17.0.19+10」の部分が異なります。インストールしたCData Syncに合わせてコマンドをご調整のうえ、実行してください。
sudo ./jre/jdk-17.0.19+10/bin/java -jar sync.jar

コマンド実行後、ブラウザでhttp://localhost:8181にアクセスするとCData Syncのログイン画面が開きます。
※CData Syncのサービス実行の詳細な手順はこちらからご確認いただけます。
CData Syncの初期設定
初回起動時にはCData Syncの管理コンソールにアクセス可能なアカウントを作成する必要があります。ユーザー名とパスワードを入力して「アカウントを作成」ボタンをクリックします。パスワードは8文字以上である必要があります。さらに、大文字・小文字・数字・特殊文字をそれぞれ1文字以上含む必要があります。

作成に成功したらユーザー名とパスワードを入力して「サインイン」ボタンをクリックします。

サインイン後、「設定」>「ライセンス」画面を開きます。ライセンスのアクティベーションが必要な旨のメッセージが画面上部に表示されます。画面中央部の「+ライセンスを追加」ボタンをクリックします。

ライセンスの種類は「プロダクトキー」を選択、名前、メールアドレス、プロダクトキー(メールに記載の「トライアル用ライセンスキー」)を入力して、利用規約を確認します。その後、「同意します」にチェックをして「保存」ボタンをクリックします。

プロダクトキーが登録されればアクティベーション成功です。

ハンズオン
CData Syncでは、3ステップかつノーコードでデータレプリケーション処理を構築できます。
データソースとの接続
同期先との接続
ジョブの実行
Salesforceとの接続
まず、データソースとなるSalesforceへの接続設定を行います。左メニューから「接続」をクリックした後、画面中央の「+接続を追加」ボタンをクリックします。

「コネクタを選択」画面が表示されるので、検索バーに接続したいデータソース名を入力します。「データソース」タブ内にSalesforceコネクタが表示されますので、クリックします。

※Salesforceはデフォルトでインストール済みのコネクタですが、インストールされていないコネクタを追加する場合は「インストール済み」のトグルをOFFにして検索してください。
「接続を追加」ダイアログが表示されるので、任意のコネクション名を入力します。(例:Salesforce)

次に、「設定」タブを開き、「Auth Scheme」ドロップダウンリストから「OAuth」を選択してください。CData Sync は接続のための組み込みOAuth アプリケーションを使用しているため、追加の設定は必要ありません。「Salesforceへの接続」ボタンをクリックするとSalesforceのログイン画面が開きますので、ユーザー情報を入力してください。

また、Salesforceへの接続方法はOAuthを含め複数の方法をサポートしています。詳しくはこちらの製品ヘルプをご参照ください。
接続に成功すると画面右下にメッセージが表示されますので、「保存およびテスト」ボタンをクリックして接続を保存します。

保存したSalesforceへの接続が接続一覧画面に追加されていることを確認します。

MySQLとの接続
次に同期先データベースへの接続を作成します。「接続」画面で右上の「+接続を追加」ボタンをクリックします。

検索バーに接続したいデータソース名を入力します。「同期先」タブにMySQLコネクタが表示されますので、クリックします。

Salesforceの時と同様に、任意のコネクション名を入力後(例:MySQL)、「設定」タブが開くので以下の情報を入力します。
Server : MySQLデータベースのサーバー名、もしくは、IPアドレス(本例では localhost)
Port: MySQLデータベースのポート番号
Auth Scheme: MySQLデータベースへの認証方式
User : MySQLデータベースへのログインユーザー
Password : MySQLデータベースへのログインユーザーのパスワード
Database : MySQLのデータベース名(本例では handson)
Use SSL : 本ハンズオンではローカルマシン内のMySQLに接続するためFalse
MySQLへの認証方法はPasswordを含め複数の方法をサポートしています。詳しくはこちらの製品ヘルプをご参照ください。
「保存およびテスト」ボタンをクリックしてMySQLへの接続確認を行います。接続に成功すると「接続は正常に作成されました。」メッセージが画面右下に表示されます。

接続一覧画面にMySQLへの接続が追加されていれば成功です。

ジョブの作成
作成した接続情報を利用してSalesforceのデータをMySQLにレプリケーションするジョブを作成します。
左メニューから「ジョブ」をクリックした後、画面中央の「+ジョブを追加」ボタンをクリックします。

新しいジョブ作成のダイアログが開くので以下の設定を行い「ジョブを追加」ボタンをクリックします。

作成したジョブの設定画面が表示されます。

「タスク」タブ内の「+タスクを追加」ボタンをクリックします。

Salesforceのオブジェクトがテーブルリストとして表示されるので検索ボックスを利用して以下2つのテーブルを追加します。
Account(取引先)
Contact(取引先責任者)

タスクにテーブルが追加されたことを確認します。

ジョブの実行
それでは、作成したジョブを手動で実行してみます。テーブルを全て選択してチェックをオンにして「▶︎実行」ボタンをクリックします。

同期処理が開始され、「最後の実行」列に結果と同期したレコード数が表示されます。

MySQL WorkbenchなどでMySQL内のデータを参照してみましょう。作成したデータベース(本例ではhandson)内にAccountとContactの2つのテーブルが作成されています。テーブル内のデータを確認し、Salesforceのデータが正しくレプリケーションされていれば成功です。

ジョブのスケジューリング
作成したジョブは定期実行することも可能です。「概要」タブのスケジュールの「設定」ボタンをクリックします。

ダイアログが開くのでスケジュールを設定します。ここでは毎時0分に実行する設定を行います。

次回のジョブ実行日時が設定されたことを確認します。

ジョブの再実行
再度「タスク」タブを開き、テーブルを選択してチェックをオンにして「▶︎実行」ボタンをクリックしてみましょう。「最後の実行」列をみると同期件数が0件と表示されています。

これは、2回目以降のジョブ実行では前回との変更差分のみを抽出して同期するからです。次のジョブ実行のタイミングまでにSalesforce側のデータが変更された場合は、変更レコードのみをMySQLに反映します。これにより、ジョブの実行時間を短縮し、かつSalesforceなどデータソース側のAPI呼び出し数を削減できます。
なお、再度全件取得したい場合は、ジョブ設定の「高度な設定」タブ内にある「テーブルを削除」もしくは「テーブルデータの削除」を編集モードに切り替えてチェックをオンにしてください。すると、MySQL側のテーブルまたはテーブルデータを一度削除したうえで、全データを取得するジョブを実行できます。

カラムマッピング
デフォルト設定ではデータソース側のテーブル名で全フィールドの同期となりますが、列(フィールド)を絞り込んで同期することも可能です。「カラム」タブを開き、「マッピングを編集」ボタンをクリックします。

同期が不要な項目のチェックをオフにしてマッピングを保存します。

これにより必要なフィールドを絞り込んだレプリケーションが可能です。
まとめ
この記事ではCData SyncのインストールからSalesforceのデータをノーコードでMySQLへレプリケーションする手順をご紹介しました。CData Syncには以下の機能が搭載されており、GUIから簡単に設定できます。
一方で、今回ご紹介しきれなかった機能も多数あり、さらに新機能も続々と実装されています。各機能の詳細は弊社ブログページでご紹介していますので、あわせてご覧ください。
データ連携・データ活用の最新情報をお届け | CData Software Blog
そして、CData Syncは30日間ご試用いただける無償トライアルをご用意しています。ぜひ、皆様の環境でお試しください。
CData Syncの無償トライアルを申し込む