この記事でわかること
GUIで簡単にKintoneをMicrosoft Fabricにミラーリングする方法(CData Syncを利用)
はじめに
みなさんは Microsoft Fabric の 「ミラーリング機能」 を使ったことはありますか?
個人的にこの機能は Fabric の中でも特に便利だと感じています。
- 設定が非常にシンプルで、数クリックで接続可能
- 同期するだけなら追加のコストはかからない(ミラーされたデータに対するクエリ(SQL / Power BI / Spark)はCUがかかる)
- ミラーリングストレージコストは一定量無料(例:F64なら64TBまで)
- ニアリアルタイムでデータが同期されるため、最データをすぐにFabricでの分析に活用できる
2025/9時点でミラーリングのサポート対象は以下の画像の通りになります。
ただし、現状の Fabric ネイティブミラーリング機能では、Kintone が対象外となっています。業務で Kintone を利用している方は多いと思うので、「そこが対応していないのはちょっと残念…」と思った方もいるのではないでしょうか。
▽Kintoneのミラーリングはまだ来ていない
ではどうすればよいか?
そこで登場するのが 「オープンミラーリング」 です。
Open mirroring partner ecosystemの記事にあるように
パートナー製品を利用することで、ネイティブには対応していないサービスであっても Fabric にミラーリングすることができます。
今回はその中から CData Sync を利用し、実際に Kintone → Fabric へのミラーリングを試してみました。
Fabric を業務で活用している方や、Kintoneのデータ分析を効率化したい方の参考になればと思います。
▽参考
ファブリックのミラーリングとは
▽FSKUによって無料のミラーリングストレージが変わります(例:F64だと64TBまで)
Microsoft Fabric の価格
▽関連記事
準備するもの(前提)
- CData sync 無料トライアル(今回はクラウド版を使用しました!)
- Fabricの環境(試用版でも可)
- Kintone開発者ライセンス
KintoneのOpenMirroring設定手順
Kintone側でアプリの作成をする
Kintoneにログインをし、アプリを新規作成します
今回は[おすすめアプリ]から日報アプリを作成します
二件ほどデータを追加してみました
※今回はkintone開発者ライセンス(開発環境)を使用しています
Fabricでミラー化されたデータベースを作成
Fabric のワークスペースに移動し、
[新しい項目] → [ミラー化されたデータベース] を選択して新規作成します。
作成後に表示される OneLake URL は後で使うのでコピーしておきましょう。
すでに利用中のミラー化されたデータベースを使う場合は、
[レプリケーションの状態]から [ランディングゾーン] のURLをメモしておきます。
CDataで設定
トライアル申し込み後、初期パスワードを変更して CData Sync を開きます。
(私の場合は申し込みから利用可能になるまで約1日かかりました)
OneLake Mirroringの接続の作成
[Connections]のメニューに移動し[Add Connection]をクリックします
(※初回の場合は画面の見え方が違うと思います)
宛先となるミラー化されたデータベースとの接続を作成します。
[Destinations] で [OneLake] を検索し、[Microsoft OneLake Mirroring] を選択します。
必要な情報を入力してください。
注意点(よくある間違い)
URI にはコピーしておいた OneLake URI(ランディングゾーン)を入力します。
ただし、そのまま貼り付けるのではなく、
https://onelake.dfs.fabric.microsoft.com/
の部分を
onelake:// に置き換えてください
今回は認証に Azure AD(Entra ID)を使用します
入力後、[Connect to Microsoft OneLake Mirroring]をクリックすると別ウインドウでEntra認証が求められますので、認証をすすめてください。
その後、元の画面に戻り、
[Create & Test] を押して接続が正しく作成されたことを確認してください。
Kintoneの接続の作成
次にソースとなる Kintone の接続を作成します。
[Connections] → [Add Connection] をクリック。
[Sources] で [Kintone] を検索し、[Kintone] を選択します。
必要な情報を入力してください。
認証方式は複数ありますが、今回はデモのためシンプルな Password を選びます。
入力例:
- [URL] → Kintoneのポータルページ(一番最初の画面)のURLから[https://~~.cybozu.com/]を入力してください
- Schema は Rest でOKです。
入力が終わったら画面右上の[Create&Test]を押し、これでKintoneとの接続の設定は以上になります。
ここまでで以下のように2つの Connection が作成されます。
CData syncでジョブの作成
いよいよジョブを作成してデータを同期します。
[Jobs]のメニューから[Add Job]>[Add New Job]をクリックします。
(※初回の場合は画面の見え方が違うと思います)
任意のジョブ名を入力し、ソースに Kintone、シンクに OneLake Mirroring を指定します。
typeは好きな方を選んでください。
Destination Schema はdboしか選べませんが、入力が必須なのでdboで進めてください。
[Add Job] をクリックするとジョブが作成されます。
Jobの画面に遷移後
[Task]のタブに移動し、[Add Tasks]をクリックします。
作成後、[Tasks] タブから [Add Tasks] をクリックし、Kintone のテーブル一覧を表示。
今回は 先ほど作成した日報アプリ のテーブルを選択して [Add Tasks] をクリックします。
このまま実行したいところですが、
このまま実行すると以下3点のエラーが出ます
① [作成者 Name]のように列名に空白が入っているとCData側でエラーになる
②Incremental Check Column にCData側でデフォルトで設定されている[ModifiedAt] が存在しないとエラーがでる
③テーブル名と列名を英語名にしない(Kintoneを直接いじる必要はなく、CData側で修正すればOK)と、Fabric側でdelta tableに変換されない
以下対策案となります
[Task]タブから[日報]の詳細ページにいきます
[Query]タブから編集ボタンを押し、デフォルトのSQLを以下に変えます
REPLICATE [DailyReport]
SELECT
[RecordId],
[AppId],
[Revision] AS [ModifiedAt],
[作成日時] AS [CreatedAt],
[作成者 Code] AS [Creator_Code],
[作成者 Name] AS [Creator_Name],
[所感、学び] AS [Insights_Learning],
[日付] AS [ReportDate],
[更新者 Code] AS [Updater_Code],
[更新者 Name] AS [Updater_Name],
[業務内容] AS [WorkContent],
[添付ファイル Aggregate] AS [Attachment_Aggregate],
[目標達成度] AS [GoalAchievement],
[部署] AS [Department]
FROM [日報];
その後、[Task]に戻り、[日報]にチェックをいれ、[Run]をクリックします。
実行が完了すると [Overview] のステータスが Successful になります。
先ほどKintone側で2件データを追加したので、ちゃんと[Row Affected]が2 Rowsになっていますね
ちなみに、[Overview]の Scheduleからジョブ実行のスケジュール設定ができます。
ここまでで[jobs]の画面に1つのJobが追加されます。
Fabricで同期結果を確認
Fabric のミラー化されたデータベースに戻ると、日報 テーブルが同期されています。
レプリケーションの速度について
ファイル領域への反映はすぐに行われましたが、テーブル領域への反映には少し時間がかかりました。(今回の場合約2分)
反映が確認できない場合は、しばらく待ってから再度確認してください。
Kintoneからデータを更新してみる
Kintone の 日報アプリ の[所感、学び]の値を
学びになった
→ 学びになりました。
に変更して保存します。
CData Syncに戻ります。
今回はジョブを手動実行し、[Job History] から今回の実行の成功を確認します。
更新の反映をFabricのミラー化されたデータベースで確認
Fabric 側のミラー化データベースに戻り、約1分で変更内容が反映されました。
Parquetファイルも1つ増えていることを確認できました。
成功!すごい!簡単!
Kintoneからデータを追加してみる
Kintone の 日報アプリ にて
1つ行を追加してみます。
その後先ほどと同様、CData Syncからジョブを手動実行します。
更新の反映をFabricのミラー化されたデータベースで確認
Fabric 側のミラー化データベースに戻り、こちらは約2分で変更内容が反映されました。
今回もParquetファイルが1つ増えていますね。
成功!すごい!簡単!
おまけ:CData Syncの価格
最後に少しだけおまけとして、CData Sync の料金について触れておきます。
公式サイトによると、5コネクション・1億レコード/月 のプランであれば、年間128万円ほどで導入できるようです。
(念のため言っておきますが、私はCDataの回し者ではありません…!笑)
一見すると「高いのでは?」と思う方もいるかもしれませんが、
もし自前でAPI連携やETL基盤をゼロから構築しようとすれば、それなりの工数が必要になります。
人件費やメンテナンスコストを考慮すると、むしろこの価格で多様なSaaSやDBと接続できるのはコストパフォーマンスが高いと感じます。
特に、Kintone以外にも数百種類のコネクタが用意されているため、「あのサービスのデータをFabricで使いたい」 という場面で強力な選択肢になると考えています。
おわりに
今回は Open Mirroring と CData Sync を利用し、Kintone のデータを Microsoft Fabric にミラーリングする方法を紹介しました。
実際に試してみて感じたのは、CData Sync を使うことで設定が非常にシンプルになり、数クリックでレプリケーションを構成できる点です。複雑な仕組みを開発する必要はなく、短時間で Kintone のデータを Fabric に集約できる のは大きな利点だと思います。
また今回の方法では ニアリアルタイムで同期できる ため、より即時性のあるデータ活用が可能になります。
また、ミラーリングを利用することで レプリケーション分のストレージコストが追加で発生しない 点も非常に魅力的です。
もちろん、将来的に Fabric が Kintone のネイティブミラーリングに対応することも期待されます。
ただ、その場合でも CData Sync は Kintone 以外の多様な SaaS やデータソースに対応しているため、Fabric がまだ対応していないサービス をミラーリングする手段として引き続き有効であると考えられます。
Youtubeもやっているので見ていただけると嬉しいです!
FabricやDatabricksについて学べる勉強会を毎月開催しています!
次回イベント欄から直近のMicrosoft Data Analytics Day(Online) 勉強会ページ移動後、申し込み可能です!
その他参考記事