CData Software Blog

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

CDataまるわかりシリーズ 第四弾 CData Sync - まるっとSaaSデータをDBに複製!?

CData桑島です。本記事はCDataまるわかりシリーズの第四弾、そして、CData Software User Group Advent Calendar 2019 13日目の記事です。

CDataまるわかりシリーズ は以下の構成となっています。

  1. CDataが生まれた背景
  2. CDataの製品ライン
  3. CData Drivers - SaaSデータにSQLアクセス!?
  4. CData Sync - まるっとSaaSデータをDBに複製!? (本記事)
  5. CData SQL Gateway - 仮想MySQL/SQLServerインスタンス!?
  6. CData API Server - RDBCSVファイルからWebAPIを生成!?

今回は、SaaSアプリケーションデータを3ステップでDBに同期することができるCData Syncについて解説していきます。

f:id:kuwazzy:20191210185821p:plain

CData Sync とは

f:id:kuwazzy:20191210204340p:plain

CData Syncは、SaaSなどのアプリケーションのデータをデータベース/データレイクに物理的に複製(レプリカ)を作成するサーバー製品です。本製品には複製ジョブ実行のスケジュール機能も備わっているためオートマチックな運用が可能です。

f:id:kuwazzy:20191210190438p:plain

それでは、CData Syncの主な特徴をみてきましょう。

100を超えるデータソース

同期の元データソースは、100を超えるSaaSなどのアプリケーションに対応しています。実際には、RDB -> RDBといったDB間の同期も可能です。これらのデータソースには CDataまるわかりシリーズ 第三弾 でご紹介したCData Drivers、具体的に、ADO.NET ProviderとJDBC Driverのライブラリが組み込まれています。

f:id:kuwazzy:20191210190813p:plain

20を超える同期先データストア

一方で、同期先のデータソースは、オンプレ・クラウドベースのRDB・DWH・DataLake・Hadoopなどのビッグデータ処理基盤を選択出来ます。エンタープライズで利用されている主要なデータストアをカバーしているとも言えるでしょう。

f:id:kuwazzy:20191210191141p:plain

エディション

Windows用の.NET版、マルチプラットフォーム用のJava版を選択できます。Windows版には組み込みWebサーバがデフォルト設定で利用出来るようになっていますのでインストール後、直ぐに利用可能です。もちろん、IISやAzure WebAppsへデプロイしてご利用いただくことが可能です。一方でJava版については、.warファイルとして提供されるのでTomcatなどのJavaアプリケーションサーバやHerokuなどのJava実行環境が動作するクラウドサービスへのデプロイも可能です。

f:id:kuwazzy:20191210210950p:plain

また、AWSのMarketPlaceでの製品がインストール済みのAMIイメージでも提供がありますので直ぐに利用を開始することもできます。

aws.amazon.com

クラウドDWHに適したETL方式によるデータ連携

従来、DWHの構築フローは、抽出(Extract)を行い、データを変換(Transform)してからDWHにロード(Load)、その頭文字をとって、ETLと呼ばれる方式が主流でした。これにより、ストレージ容量を節約し、検索時にはクレンジング済みのデータへのアクセスを可能することで検索時のコスト(処理負荷やパフォーマンス)を抑えた運用を実現していました。

f:id:kuwazzy:20191210195601p:plain

最近では、クラウドサービスとしてのDWHによるコンピューチングパワーとストレージの容易な拡張と価格の低下に伴い、ELTと呼ばれる、DWHにソースデータをそのままロードしてからDWH内でクレンジングなどのデータ加工を行う手法が主流となってきています。CData Syncは、Google Bigquery, Amazon Redshift, SnowflakeなどのクラウドDWHへのELT方式でのデータ連携を実現する最適な製品と言えるでしょう。

f:id:kuwazzy:20191210200127p:plain

3ステップで ノーコード での同期設定

CData Syncをインストールすると組み込みのWebサーバ(Windows版のみ)が起動してWebの管理コンソールから3ステップ・ノーコード で同期ジョブが作成出来るコンセプトで開発されています。

f:id:kuwazzy:20191210200610p:plain

Step1 データソース の設定

データソース となるアプリケーションを選択して接続設定を行います。データソース のアイコンは主要なものがデフォルトで並んでいますがアイコンがない場合は本画面から追加でダウンロードすることが出来ます。 f:id:kuwazzy:20191210202338p:plain

データソースへの接続情報は各データソース毎に必要な情報をセットします。 f:id:kuwazzy:20191210202755p:plain

Step2 同期先データベース の設定

同期先となるデータベース/データレイクを選択して接続設定を行います。データソース側と同様にアイコンがない場合は追加でダウンロードすることが出来ます。 f:id:kuwazzy:20191210203028p:plain

Step3 同期ジョブの作成

Step1とStep2で作成したデータソース と同期先データベースを選択してジョブを作成します。 f:id:kuwazzy:20191210203220p:plain ジョブ作成時に、データソース 側のどのテーブルを同期するか選択します。 f:id:kuwazzy:20191210203417p:plain これで保存すれば同期ジョブの作成は完了です。あとは、ジョブの設定でスケジュール設定すれば指定したサイクルで同期ジョブが実行されます。

様々な同期パターンの設定

差分更新 or 全件データの洗い替え、スナップショットテーブルの作成など、外部アプリケーションからの同期ジョブの起動など、想定される利用シーンにマッチした細かな設定も可能です。こちらの記事をご覧ください。

qiita.com

利用シーン

CData Syncを利用することでSaaSなどアプリケーションのデータが全てSQLが利用出来るRDBやDWHに格納されるので分析ツールや帳票からのアドホックに利用出来ます。また、DWHや中継DBを介して他のシステムやアプリケーション、大量のデータを必要とする機械学習エンジンのインプットとして連携することも出来るでしょう。また、意外とニーズが多いのが、SaaSデータのバックアップやスナップショットでのデータの蓄積です。SaaSアプリケーションはいわゆるOLTPシステムなので最新データしか保持していません。月末断面でのスナップショットのデータを保持することで、BIツールなどからは前月断面との比較といった分析や可視化が可能となります。

f:id:kuwazzy:20191210204046p:plain

まとめ

CData Sync製品についてのまとめです。ELT方式でデータをクラウドDWHに集約したい、データを統合することで異なるデータソース間の関係性やクロス分析を実施したい、場合は、本製品が最適と言えます。データソース の差分更新をサポートしているデータソース であれば、データソース側のAPIリミットなどの制約を回避したデータ収集も実現出来ます。一方で、定期的なジョブで同期処理を実行しているので、日次ジョブに設定すれば前日のデータ、10分単位の設定でも最長10分前のデータとなるため、即時アラートが必要な業務への適用には考慮が必要です。また、現時点では、DBからSaaSなどデータソース側への更新、逆方向の同期はサポートしておりません。この昨日は多くのお客様からご要望をいただいているので、現在、開発側で検討中ですので今後のCData Sync製品のアップデートにご期待ください。

f:id:kuwazzy:20191210205526p:plain

次回

次回は「第五弾 CData SQL Gateway - 仮想MySQL/SQLServerインスタンス!?」と題してお送りします。