
こんにちは、シニアプロダクトスペシャリストの宮本です!
今年に入ってから、Microsoft Fabric へデータを集約させたいという要件を聞く機会が増えてきました。Microsoft Fabric といえばOneLake を中心とした統合型データ分析基盤ではありますので、OneLake へレプリケーションしたいという構成になります。
この度、CData Sync V25.2 リリースの一環として、「OneLake」、そして「Open Mirroring」へのレプリケーションをサポートいたしました!これにより、CData Syncの直感的なUI上から、基幹システムやSaaSに格納されているデータを、Microsoft Fabric 管理下のOneLake にファイルベース配信、もしくはDelta Lake テーブルに対して増分レプリケーションで連携することが可能になりました。
それではさっそく、Open Mirroring機能によるMicrosoft Fabric連携についてみていきましょう。
Microsoft Fabric と Open Mirroring について
Microsoft Fabric とは
Microsoft Fabricは、Microsoftが提供する統合型データ分析プラットフォームです。データの取り込みから変換、分析、可視化まで、データライフサイクル全体を一つのプラットフォームで完結できる点が特徴です。中核となるのが「OneLake」と呼ばれる統一データレイクで、組織内のあらゆるデータを一元管理し、Power BI、Azure Synapse Analytics、Azure Data Factoryなどのサービスとシームレスに連携できます。

https://learn.microsoft.com/ja-jp/fabric/fundamentals/microsoft-fabric-overview
Mirroring in Fabric とは
Mirroring in Fabricは、様々なシステムのデータを単一の分析プラットフォームに統合するための、低コスト・低レイテンシソリューションです。Azure データベースや外部データソースから、Fabric の OneLake に直接データを継続的にレプリケーションできます。
公式Doc:Mirroring - Microsoft Fabric | Microsoft Learn
Mirroringの主な特徴は以下の通りです:
ニアリアルタイム レプリケーション: 変更データを即座に検知し、必要な差分のみを効率的に転送
フルマネージド サービス: 複雑なETLパイプラインの構築や管理が不要
オープンな Delta Lake 形式: 分析に最適化されたParquet形式で保存され、様々なツールからアクセス可能
さらに、Fabricでは以下3つのミラーリングアプローチでOneLakeにデータを取り込むことができます。
Database mirroring(データベース ミラーリング)
Metadata mirroring(メタデータ ミラーリング)
Open mirroring(オープン ミラーリング)
詳しく見ていくと、Open mirroring は外部からはミラーリングされた「ランディングゾーン」に変更データを送ることで、Delta Table を直接更新することができます。テーブルへの取り込みもデータゾーン側で自動でマージ処理を行ってくれるようです。
CData SyncはこのOpen mirroringを活用して、様々なデータソースからFabricへの連携を実現しています。
https://learn.microsoft.com/ja-jp/fabric/database/mirrored-database/open-mirroring

CData Sync でのMicrosoft Fabric 連携方式
Microsoft Fabricは、OneLake上で統一されたデータ基盤を提供しますが、組織によってはデータの着地方法に柔軟性が求められます。CData Sync V25.2では、以下2つのアプローチを提供しています。
Open Mirroring
Fabric管理下のDelta Lakeテーブルへの増分レプリケーション機能です。CDC(Change Data Capture)や日時・整数列を利用した差分検知により、ニアリアルタイムでのデータ連携を実現します。
ファイルベース配信
OneLakeへのParquet、Avro、CSVファイル書き込み機能です。データサイエンスワークフローや下流の変換パイプライン、アーカイブ用途に最適です。
これにより、チームのワークロードニーズに応じて最適なデータ配信方式を選択することができます。
CData Sync からMS Fabric へのレプリケーション
Open Mirroring へのレプリケーションの場合
まずはOneLake 側に「ミラー化されたデータベース」を作成しておきます。
ワークスペース画面で「新しい項目」から「ミラー化されたデータベース」をクリックします。

ミラー化されたデータベースの名前を設定

作成が完了するまで少し待ちます。

OneLake URL を取得しておきます。

ワークスペースに戻ると、「ミラー化されたデータベース」、「セマンティックモデル」、「SQL 分析エンドポイント」が生成されていることが確認できます。

これでOpen Mirroring の準備ができましたので、CData Sync 側の設定を見ていきます。
最初にコネクション設定を行います。「Microsoft OneLake Mirroring」をクリックします。コネクタをまだダウンロードしていない場合は、右端のダウンロードボタンより追加お願いします。

任意の接続名を設定したら、URIをセットします。こちらは、onelake:// のあとに、先ほどコピーしたOneLake URL の「onelake.dfs.fabric.microsoft.com/」以降の内容をセットします。Auth Scheme は認証方式です。
入力が完了したら画面下部の接続ボタンをクリックします。

接続が完了したら、画面右上のボタンをクリックして保存します。
次にジョブを作成します。
ジョブリスト画面で「ジョブを追加」ボタンをクリックし、任意のデータソースから先ほど作成したOpen Mirroring への連携構成で作成します。
種類の「標準」や「変更データキャプチャ」、「すべて同期」は必要に応じてどちらかを選択ください。

次はレプリケートタスクの作成です。レプリケーションしたいテーブルをここでは選択します。

同期先情報にて、同期先に作成するテーブル名を変更してみました。

作成したレプリケートタスクを実行します。
左端のチェックボックスにチェックを入れ、実行ボタンをクリックします。成功すれば、最後の実行の箇所に「Successful」と表示されます。

ではミラーリングデータベースの方を確認すると、以下のようにDelta Tableが作成され、レコードも格納されているのが確認できました。

次はレコードの追加更新を確認してみます。
Company を赤枠の内容で更新しました。

1件の連携が完了しました。

「CData Software Japan Test」という値で更新されていることが確認できました。

OneLake へのレプリケーションの場合
Open Mirroring の方を先にご紹介しましたが、ファイルとして配置することを行いたい場合もあります。そのようなケースでは、OneLake コネクタを使用してレプリケーションを行います。では見ていきましょう。
まずは、Microsoft Fabric にアクセスし、「レイクハウス」を使用します。

レイクハウスにあるFiles を右クリックでプロパティを表示させ、URLを取得します。

次はCData Sync で接続設定です。使用するコネクタは「Microsoft OneLake」になります。

File FormatをCSVやParquet、Avroから選択します。URI については、onelake:// のあとに先ほど取得したURLのワークスペース名以降をセットします。

Lead_lakehouse という名前で同期先名をセットし、レプリケートタスクを実行しました。
なお、OneLake コネクタの場合、同期先テーブル名についてはOneLake のFiles 配下にフォルダとして作成されます。

OneLake を見てみると、lead_lakehouse というフォルダが作成されており、その中にcsvファイルが連携日時のファイル名で格納されていることが確認できました。ただし、テーブルまでは作成されません。ここについては手動もしくは、Fabric内の他の機能を利用していただく形になります。

もしテーブルを作成したい場合は、対象のファイルを右クリックで「テーブルに読み込む」→「新しいテーブル」を選択します。

任意のテーブル名を設定します。

Delta Table が作成され、中身を確認することができました。

1件目のレコードのTitle 列が未入力だったので、「CData Test」と入れ、ソース側のMySQL を更新しました。

再度レプリケートタスクを実行し、1レコードをOneLake に連携できました。

OneLake の方を参照すると、新たに1ファイルが作成されていました。

ただし、テーブルの方は更新をしても反映はされていません。

それでは、Filesの方を参照して連携したファイルから手動で反映させていきます。

更新先テーブル名と更新方法を選択し、読み込みボタンをクリックします。

上書きを行ったところ、最後に連携したファイルにあるレコードだけになりました。
対象レコードだけを更新してくれるイメージでしたが、実際には丸々上書きという形でした。

なので、OneLake へのレプリケーションだと他の処理を別で加えてDelta Table に反映させるか、レコード追加方式という形となりそうです。
おわりに
いかがでしたか。Microsoft Fabricへのデータ連携はOpen Mirroring 方式とファイルベース配信の方式で実現できることが確認いただけたかと思います。
CData Syncでは、複数のデータソースから統一されたプラットフォームでデータ連携を管理できるため、チーム全体の運用効率も大幅に改善されます。CData Syncは30日間の無償トライアルが可能ですので、ぜひMicrosoft Fabric連携をお試しください!
CData Sync | ノーコードで始めるETL / ELT パイプライン