CData Software Blog

クラウド連携のCData Software の技術ブログです。

無料のデータレプリケーション・ELTツールを使って、 SaaSのデータをDBに複製してみる:CData Sync

f:id:sugimomoto:20210425222850p:plain

こんにちは。CData Software Japanリードエンジニアの杉本です。

以下の記事でも紹介されている通り、データレプリケーションELTツール「CDataSync」の Starter ライセンスで全データソース(現在約200種類以上)の利用が可能になりました!

www.cdatablog.jp

試しにデータソースの一覧のフルページキャプチャをしてみたところ、壮観ですねー!

www.cdata.com

f:id:sugimomoto:20210425221932p:plain

通常SaaSなどのクラウドサービス上のデータはExcelCSVエクスポート機能やAPI連携の開発を行わなければ、データをまるっと取ってくることができませんが、このCDataSyncを使うことで手軽にRDBやDWHにデータを複製して活用することができるようになります。

今回の記事ではCDataSync 無償版ライセンスの取得方法から簡単な使い方まで、ざっくりとお伝えしたいと思います。

なお、今回は国産クラウドサービスの kintone から MySQLにデータを複製してみました。

CDataSyncの入手方法

CDataSyncはサーバーやデスクトップマシンにインストールして使うタイプのアプリケーションです。

Windows版(.NET Edition)とMacLinux上に展開できる Cross-Platform版(Java Edition)があり、お好みの環境に展開して利用できます。

www.cdata.com

f:id:sugimomoto:20210425221952p:plain

なお、無償版ライセンスではありませんが、従量課金がベースになったAWS EC2 AMIも公開しています。

aws.amazon.com

今回の記事ではWindows版を使用しました。

無償版ライセンスの取得方法

無償版ライセンスは以下のURLから入手できます。無償とは言えど、一度購入プロセスを踏んで、ライセンスの発行プロセスを辿る必要があるので注意してください。

なお、すべての機能が利用できる30日間のトライアルは初期状態で利用できるので、それを利用してから無償版ライセンスを入手してもOKです。

https://www.cdata.com/jp/sync/#purchase

f:id:sugimomoto:20210425222000p:plain

上記URLにアクセス後、Starterライセンスをカートに入れて、注文手続きへ進みます。

f:id:sugimomoto:20210425222007p:plain

必要な項目を入力して、注文を送信するします。その後メールにてライセンスが送られてきます。

f:id:sugimomoto:20210425222015p:plain

CData Syncのインストール

それでは実際に CData Sync をインストールして、動かしていきましょう。

今回はWindows版を利用するので、以下のURLから「Windows(.NET Edition)」を選択して

www.cdata.com

f:id:sugimomoto:20210425222023p:plain

必要事項を入力し、ダウンロードします。

f:id:sugimomoto:20210425222029p:plain

ダウンロード後、setupファイルを実行して、インストールを進めます。

f:id:sugimomoto:20210425222035p:plain

ライセンス条項を確認し、「同意する」をクリックしてください。

f:id:sugimomoto:20210425222040p:plain

基本的にインストールプロセスはデフォルトでOKです。

f:id:sugimomoto:20210425222046p:plain

コンポーネントもCData Syncのみ選択して進めましょう。リモートコネクタは特定のデータソースを利用する場合に必要となります。

f:id:sugimomoto:20210425222051p:plain

スタートメニューフォルダもデフォルト状態で大丈夫です。

f:id:sugimomoto:20210425222056p:plain

インストール時に注意が必要なのは、パスワード設定です。このパスワードを使って後ほどCDataSyncにログインするので忘れないようにしましょう。

f:id:sugimomoto:20210425222102p:plain

これでインストールの準備が完了です。インストールをクリックします。

f:id:sugimomoto:20210425222107p:plain

f:id:sugimomoto:20210425222113p:plain

インストールが正常に完了したら「Run CData Sync」にチェックを入れた状態で「完了」をクリックします。

f:id:sugimomoto:20210425222118p:plain

しばらくすると、CData Syncが立ち上がり以下のようにログイン画面が表示されます。

先程入力したパスワードと管理ユーザーの「admin」を指定してログインしましょう。

f:id:sugimomoto:20210425222124p:plain

ライセンスのインストール

ログイン後、まず最初にライセンスをインストールします。

前述の手順でStarterライセンスを入手している場合は「新しいライセンスをインストール」、フル機能のトライアルを利用する場合は「30日の評価版をアクティベート」をクリックします。

フル機能トライアル版では、スケジュール設定なども利用できるので、一番最初はトライアルで試してみるのが良いでしょう。トライアル中にわからないことがあればテクニカルサポートで問い合わせすることも可能です。

f:id:sugimomoto:20210425222132p:plain

新しいライセンスのインストールでは、名前・Eメールと一緒に、発行されたStarterライセンスを入力します。

f:id:sugimomoto:20210425222139p:plain

ライセンスのインストール完了後、以下のような画面になればOKです。

f:id:sugimomoto:20210425222145p:plain

データソースの接続情報を構成

それでは実際にCData Syncを使って、データレプリケーションを行ってみましょう。

今回は前述した通り、国産クラウドサービスのkintoneから、MySQLにデータをレプリケーションします。もし好みのDBがあればそれを選んでもかまいませんし、ローカルにCSVとして出力することも可能です。

まず、データの取得先となるサービスを選びます。

「接続」→「データソース」の一覧から「kintone」を選択しましょう。

f:id:sugimomoto:20210425222154p:plain

ラインナップに無いコネクタは「Add more」をクリックすることで追加できます。

f:id:sugimomoto:20210425222201p:plain

対象のデータソースを選択したら、それぞれの認証情報を入力します。kintone の場合はURL、User、Password を入力することでkintone データにアクセスすることができます。

f:id:sugimomoto:20210425222211p:plain

同期先の接続情報を構成

続いてデータのレプリケーション先となる、同期先サービスを選択します。

「接続」→「同期先」の一覧から、今回は「MySQL」を選択します。

f:id:sugimomoto:20210425222218p:plain

MySQLの接続設定画面を開いたら、対象のMySQLに接続するためのServer、Port、Database、User、Passwordを入力します。

f:id:sugimomoto:20210425222225p:plain

これで接続設定は完了です。

ジョブの作成

接続設定が完了したら、ジョブを作成します。

このジョブという単位でデータソースから同期先にどのようなデータをどのタイミングでレプリケーションするのか、を定義することができます。

「ジョブ」のタブに移動し「+ジョブを追加」をクリックします。

f:id:sugimomoto:20210425222233p:plain

任意のジョブ名を入力し、「ソース」と「同期先」にそれぞれ先程作成したコネクション情報を選択します。

f:id:sugimomoto:20210425222242p:plain

ジョブを作成したら、kintoneのどのデータをレプリケーションするのか? を選択しましょう。

「+テーブルを追加」をクリックします。

f:id:sugimomoto:20210425222247p:plain

「テーブルを追加」をクリックすると、接続先の kintone上で定義されているアプリの一覧が表示されます。今回はサンプルアプリとしてkintoneで提供されている「営業支援パック」のデータをレプリケーションしたいと思います。

以下のように営業支援パックの3つのアプリを選択して「+選択したテーブルを追加」をクリックします。

f:id:sugimomoto:20210425222253p:plain

以下のように追加されればOKです。

f:id:sugimomoto:20210425222259p:plain

データレプリケーション設定

追加したテーブルをクリックすることで、細かな「データレプリケーション設定」を確認できます。

例えばカラムマッピングでは、データソースのどの項目をレプリケーションするのか、もしくは既存のテーブルにどのようにマッピングするのか?を選ぶことができます。

f:id:sugimomoto:20210425222305p:plain

また、「Advanced」では取得するデータの条件や文字列の切り捨て設定などを調整することが可能です。

f:id:sugimomoto:20210425222314p:plain

プレビュー画面では実際にkintoneから取得するデータをあらかじめ確認することができます。

実行前には目的のデータがちゃんと参照できているか、このプレビュー画面で確認すると良いでしょう。

f:id:sugimomoto:20210425222320p:plain

ジョブの実行

それでは実際にジョブを実行してみます。以下のようにレプリケーション対象のテーブルを選択して「実行」をクリックします。

f:id:sugimomoto:20210425222328p:plain

実行後、それぞれのテーブルでレプリケーション処理が開始されます。最終的に以下のように「ジョブ名 は正常に完了しました」と表示されればOKです。それぞれの実行結果、どのくらいの数のレコードが同期されたのかも確認できます。

f:id:sugimomoto:20210425222333p:plain

実際にMySQLのデータもkintoneと比較して見てみましょう。

kintone上では以下のようなデータを持っており

f:id:sugimomoto:20210425222341p:plain

MySQLでも自動的に同じテーブル名、カラム名が生成され、データが登録されていることが確認できました。

f:id:sugimomoto:20210425222347p:plain

このような形でCData Syncでは任意のサービスのデータを簡単にRDBCSV・DWHにレプリケーションすることができます。

スケジュール設定について

なお、Starterライセンスでは手動実行のみがサポートされていますが、有償ライセンスの場合は以下のようにスケジュール実行やAPIコマンドラインによる実行もサポートされています。

もし1時間間隔で同期したい、といった場合は、有償ライセンスが良いでしょう。

f:id:sugimomoto:20210425222357p:plain

おわりに

今回はkintoneのデータをレプリケーションしましたが、他のサービスでも同じように手軽にデータレプリケーションを実現できます。

是非みなさんが利用しているサービスのデータソースで試してみてください。

www.cdata.com

f:id:sugimomoto:20210425222405p:plain

また、一覧に無いものでも、内部で開発中のものや検証中のものもたくさんあるので、気になるデータソースがあれば気軽に問い合わせしてみてください。

CData Software Japan - サポートフォーム