kintone データをまるっとDB やデータウェアハウスに連携・反復同期するCData Sync
更新日
(著者:CData Software Japan 合同会社 疋田)
CData Sync とは
CData Software Japan の疋田です。この記事では、2019年2月に新規リリースされたCData Sync for kintone の説明をします。
CData Sync は、クラウドサービスからDB にデータ連携・同期を行うことができるツールです。
kintone データをまるっとSQL Server でもMySQL でもお好きなDB にノンコーディングで同期できます。
「やっぱり、データはDB に入っていると使いやすい」と感じる方は、是非CData Sync for kintone を使ってみてください。
CData Sync の利用シーン
- RDB にkintone データを同期して、MotionBoard、Tableau、Power BI、Qlik などでの分析に
- Azure SQL Database、Google BigQuery、Amazon Redshift、Amazon S3 などのクラウドデータストアにkintone データや、その他業務データを集約してデータレイクとして利用。AI で活用するデータの蓄積にも。
- 基幹DB にkintone データをコピーして、簡単に基幹システムとの連携を構築
- kintone データのバックアップに
こんな悩みに
CData Sync は、kintone を利用する皆様のこんな悩みを解決します。
- 分析・帳票出力向けに毎日CSV の取り込みなんてやってられない!
BI での分析や帳票出力向けに毎日CSV ファイルをエクスポートして、データをBI に取り込んでいたりしませんか?少ないアプリ数・レコード数なら手作業でもできますが、アプリが複数になると負担が大きくなります。また、100MB 以上を超えるとkintone のエクスポート制限で書き出しができません。kintone は便利でどんどんアプリが増えていくなか、どうすればいいのでしょうか? - API・JSON データに使いにくさを感じてしまって
REST API を使ってkintone データを取得することも可能です。しかし、API では1リクエストで500レコードしかデータを返すことができません。数万を超えるレコードを持つ場合には何度もAPI コールを繰り返す必要があります。そして取得したJSON を分析や基幹システムで使えるリレーショナルなテーブルデータに変換する必要があります。 - 単純なデータ同期にETL/EAI ツールは高いしオーバースペック
こういう時はETL/EAI ツールがありますが、ちょっとkintone の月に数千円という価格感とくらべて、費用感にギャップを感じてしまうこともあります。せっかくkintone の導入でシステムコストを下げたかったのに。やりたいことはkintone データをただDB に持ってくるだけなので、機能はすくなくてもいい。
CData Sync の設定方法
CData Sync は、ウェブアプリケーションです。インストールしてすぐに管理コンソールにログインして同期設定を行うことができます。
ダウンロードとインストール
https://www.cdata.com/jp/sync/からWindows 版またはCrossPlatform (Java)版をダウンロード、インストールしてください。30日の試用版があります。
kintone コネクタを追加でインストールする必要があります。こちらの記事を参考にしてください。
CData Sync 2019:コネクタの追加方法(kintone を例に)
kintone の接続設定
管理コンソールにログインして、[接続]タブからまずは同期するデータが入っているkintone アカウントを設定します。[データソース]→[kintone コネクタアイコン]をクリックします。
開いたkintone 接続設定画面でkintone のアカウント情報を入力します。[Url]、[User]、[Password]を入力して、接続のテストをクリックします。接続がOK であれば、[変更を保存]ボタンをクリックして接続を確立させます。
これでkintone 側の設定は完了です。
同期先DB の接続設定
今回は、SQL Server にデータを同期したいので、SQL Server の設定を行います。CData Sync での設定前にSQL Server 側でkintone データを同期するDB を作っておきます。CData Sync での同期は新しいテーブルが作成されて同期されます。既存テーブルへの同期機能は次のリリースバージョンで提供予定です。
SQL Server で任意の名前の同期先DB を作成しておきます。テーブル情報などのスキーマ情報を作成する必要はありません。
では、CData Sync の管理コンソールに戻り、CData Sync 上でSQL Server を接続します。[接続]タブから次は[同期先]タブをクリックし、今回の同期先である[SQL Server アイコン]をクリックします。
開いたSQL Server の接続設定画面で、[Server]、[Database]、[User]、[Password]を入力して、SQL Server の同期先データベースに接続します。今回はsynctest というデータベースを設定します。テスト接続をして、OK であれば、保存して接続を確立します。
同期ジョブの設定
次に同期ジョブを設定します。[ジョブ]タブをひらいて、[ジョブを追加]ボタンをクリックします。
ジョブ画面では、[ジョブ名](任意)、[ソース]+[同期先]をドロップダウンで選択します。[ソース]は元のデータがあるkintone を選択、[同期先]はSQL Server を選択します。
次に、どのデータを同期するかを設定します。[テーブルを追加]ボタンをクリックします。設定画面が開きます。CData Sync が、kintone にあるアプリの一覧をテーブルの一覧として表示します。同期するテーブル(アプリ)をチェックを入れます。
あとは、スケジュール設定で、同期間隔の設定を行います。今回は、20分ごとに同期を反復する設定にしました。
一度保存して、テーブルにチェックマークをいれて、▶の実行ボタンを押して手動実行してみます。
同期ジョブが走り、SQL Server にkintone のレコードが同期されました。
差分更新機能
CData Sync for kintone は、差分更新がデフォルトで備わってます。2回目以降の同期では、全レコードの同期は行いません。2回目以降は、kintone 側で追加・変更されたレコードのみを検出して、同期先に同期します。これにより、通信量を抑えられるほか、API コール数のリミット制限を回避することができます。
kintone 側でレコード1つを更新、また新規でレコードを1行追加します。
もう一度CData Sync のコンソールからジョブを手動で実行してみます。初回は97レコードが同期されましたが、今回は差分更新で2レコードだけが同期されました。
まとめ
このようにCData Sync for kintone により、クリックでの設定だけでDB にkintone データをコピーすることができました。
今回はSQL Server でしたが、ほかにも各種RDB(MySQL、Oracle、PostgreSQL など)や、Amazon Athena、Amazon S3、Google BigQuery、Azure SQL Database などのクラウドデータストアへの同期も可能です。
このTipsは、2019年2月版 kintoneで確認したものになります。
記事に関するフィードバック
記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。