Azure Cosmos DB のミラーリング (プレビュー)
Microsoft Fabric のミラーリングでは、既存の Azure Cosmos DB データを Microsoft Fabric の残りのデータと統合するためのシームレスな、ETL なしのエクスペリエンスが提供されます。 トランザクション ワークロードのパフォーマンスに影響を与えることなく、ほぼリアルタイムで Azure Cosmos DB データを Fabric OneLake に継続的にレプリケートできます。
OneLake のデータは、オープンソースのデルタ形式で格納され、Fabric 上のすべての分析エンジンで自動的に使用できるようになります。
T-SQL を使用して、複雑な集計クエリと Spark を実行してデータ探索を行うことができます。 Copilot 統合を利用した Direct Lake を使用すると、ノートブック内のデータにシームレスにアクセスし、データ サイエンスを使用して機械学習モデルを構築し、ビジネス インテリジェンス レポートを作成できます。
重要
Azure Cosmos DB のサポートは現在プレビュー段階です。 プレビュー期間中は、運用環境のワークロードはサポートされていません。 現在、Azure Cosmos DB for NoSQL アカウントのみでサポートされています。
Fabric でミラーリングを使用する理由
Fabric のミラーリングを使用すると、複数のベンダーの異なるサービスをまとめる必要はありません。 代わりに、分析のニーズを簡素化し、開放性を意図して設計され、高度に統合された、エンドツーエンドで使いやすい製品をご利用いただけます。
Azure Cosmos DB の運用データに関する分析を探しているならば、ミラーリングでは次のような特徴があります。
- Azure Cosmos DB データに対する、、ETL なしで、コスト効率に優れたほぼリアルタイムの分析。リクエスト ユニットの使用量は影響を受けません
- さまざまなソースのデータを、Fabric OneLake に簡単に取り込めます
- v オーダーによる差分テーブルの最適化で高速読み取りを実現
- Direct Lake および Copilot と、Power BI とのワンクリック統合
- さまざまなソース間でデータを結合することによる、豊富なビジネス分析情報
- クエリとビューにアクセスするためのより充実したアプリ統合
OneLake データはオープンソースの Delta Lake 形式で格納されるため、Microsoft 内外のさまざまなソリューションで使用できます。 このデータ形式は、分析ニーズに合わせて単一のデータ資産を簡単に構築するのに役立ちます。
どのような分析エクスペリエンスが組み込まれていますか?
ミラー化データベースは、Fabric Synapse データ ウェアハウス 項目であり、ウェアハウス および SQL 分析エンドポイント項目とは異なります。
ミラーリングされたすべての Azure Cosmos DB データベースには、Fabric ワークスペースで操作できる 3 つのアイテムがあります。
- ミラー データベース アイテム。 ミラーリングでは、データの OneLake へのレプリケーションと Parquet への変換が、分析対応形式で管理されます。 これにより、データ エンジニアリング、データ サイエンスなどのダウンストリーム シナリオが可能になります。
- 自動的に生成される SQL 分析エンドポイント
- 自動的に生成される既定のセマンティック モデル
ミラー データベース
ミラー データベースには、レプリケーションの状態と、Fabric OneLake でレプリケーションを停止または開始するためのコントロールが表示されます。 Azure Cosmos DB データ エクスプローラーを使用して、読み取り専用モードでソース データベースを表示することもできます。 データ エクスプローラーを使用すると、ソースの Azure Cosmos DB データベースでコンテナーを表示し、クエリを実行できます。 これらの操作は、Azure Cosmos DB アカウントからの要求ユニット (RU) を消費します。 ソース データベースに対する変更は、Fabric のソース データベース ビューに直ちに反映されます。 データの表示のみが可能なため、Fabric からソース データベースへの書き込みは許可されません。
SQL 分析エンドポイント
各ミラー データベースには自動生成された SQL 分析エンドポイントがあり、ミラーリング プロセスによって作成された OneLake の Delta テーブルに加え、豊富な分析エクスペリエンスを提供します。 データ オブジェクトの定義とクエリには、使い慣れた T-SQL コマンドにアクセスできますが、これは読み取り専用のコピーであるため、SQL 分析エンドポイントからデータを操作することはできません。
SQL 分析エンドポイントで実行できるアクションは、次のとおりです。
- T-SQL を使用して Delta Lake テーブルを探索します。 各テーブルは、Azure Cosmos DB データベースからコンテナーにマップされます。
- ノー コード クエリとビューを作成し、コードを記述することなく、視覚的に調査します。
- 同じワークスペース内の他のミラーデータベース、ウェアハウス、Lakehouse のデータを結合してクエリを実行します。
Microsoft Fabric SQL クエリ エディターに加えて、ツールの広範なエコシステムがあります。 これらのツールには、Visual Studio Code、Azure Data Studio、SQL Server Management Studio、さらに GitHub Copilot などがあります。 任意のツールで、分析と分析情報の生成をスーパーチャージできます。
セマンティック モデル
既定のセマンティック モデルは、自動プロビジョニングされた Power BI セマンティック モデルです。 この機能を使用すると、ビジネス メトリックを作成、共有、再利用できます。 詳しくは、「セマンティック モデル」をご覧ください。
ほぼリアルタイムのレプリケーションの仕組み
Azure Cosmos DB データベースでミラーを有効にすると、オンライン トランザクション処理 (OLTP) データに対する挿入、更新、削除操作が、分析のために Fabric OneLake に継続的にレプリケートされます。
継続的バックアップ機能は、ミラーリングの前提条件です。 Azure Cosmos DB アカウントで 7 日間または 30 日間の連続バックアップを有効にすることができます。
Note
ミラーリングでは、変更データ キャプチャ ソースとして Azure Cosmos DB の分析ストアや変更フィードは使用されません。 これらの機能は、ミラーリングと共に引き続き個別に使用できます。
Azure Cosmos DB データを Fabric OneLake にレプリケートするには、数分かかる場合があります。 データの初期スナップショットや更新/削除の頻度によっては、レプリケーションに時間がかかる場合もあります。 レプリケーションは、トランザクション ワークロードに割り当てた要求ユニット (RU) には影響しません。
ミラーリングで期待されること
ミラーリングする前に考慮する必要がある考慮事項とサポートされるシナリオがいくつかあります。
設定の考慮事項
データベースをミラーリングするには、Azure に既にプロビジョニングされている必要があります。 前提条件として、アカウントで継続的バックアップを有効にする必要があります。
- 1 回につき、各データベースは 1 つのみミラーリングできます。 ミラーリングするデータベースを選択できます。
- 同じワークスペース内の同じデータベースは、複数回ミラーリングできます。 ベスト プラクティスは、データベースの 1 つのコピーを、レイクハウス、ウェアハウス、またはその他のミラーデータベース間で再利用することです。 同じデータベースに複数のミラーを設定する必要はありません。
- 異なる Fabric ワークスペースまたはテナント間で同じデータベースをミラーリングすることもできます。
- 新しいコンテナーの追加や既存のコンテナーの削除など、Azure Cosmos DB コンテナーへの変更は、Fabric にシームレスにレプリケートされます。 たとえば、コンテナーのない空のデータベースのミラーリングを開始すると、後の時点で追加されたコンテナーをミラーリングがシームレスに選択します。
入れ子になったデータのサポート
入れ子になったデータは、SQL 分析エンドポイント テーブルに JSON 文字列として表示されます。 T-SQL クエリまたはビューで OPENJSON
、CROSS APPLY
、OUTER APPLY
を使用して、このデータを選択的に展開できます。 Power Query を使用している場合は、ToJson
関数を適用してこのデータを展開することもできます。
Note
Fabric の文字列列には、8 KB (キロバイト) のサイズ制限があります。 詳細については、「データ ウェアハウスの制限事項」を参照してください。
スキーマ変更の処理
ミラーリングでは、Azure Cosmos DB アイテム間でプロパティが自動的にレプリケートされ、スキーマが変更されます。 アイテムで検出された新しいプロパティは新しい列として表示され、欠けているプロパティがある場合は、Fabric では null として表されます。
アイテム内のプロパティの名前を変更すると、Fabric テーブルは古い列と新しい列の両方を保持します。 古い列には null が表示され、新しい列には、名前の変更操作後にレプリケートされるすべてのアイテムの最新の値が表示されます。
Azure Cosmos DB アイテムのプロパティのデータ型を変更した場合、変換可能で互換性のあるデータ型に対する変更がサポートされています。 データ型が Delta での変換に互換性がない場合は、null 値として表されます。
SQL 分析エンドポイント テーブルは、Delta データ型を T-SQL データ型に変換します。
重複する列名
Azure Cosmos DB では、JSON 規格に基づいて、大文字と小文字を区別しない列名がサポートされています。 ミラーリングでは、列名に _n
を追加することで、これらの重複する列名がサポートされます (n
は数値)。
たとえば、Azure Cosmos DB アイテムに一意のプロパティとして addressName
、AddressName
がある場合、Fabric テーブルには対応する列として、addressName
、AddressName_1
があります。 詳細については、「レプリケーションの制限事項」を参照してください。
セキュリティ
ソース データベースへの接続は、Azure Cosmos DB アカウントのアカウント キーに基づいています。 キーをローテーションまたは再生成する場合は、レプリケーションが機能するように接続を更新する必要があります。 詳細については、「接続」を参照してください。
接続が設定されると、アカウント キーは他の Fabric ユーザーに直接表示されません。 Fabric で作成された接続にアクセスできるユーザーを制限できます。 Azure Cosmos DB データベースへの書き込みは、ミラーリングされたデータベースのデータ エクスプローラーまたは分析エンドポイントからは許可されません。
現在、ミラーリングでは、読み取り専用アカウント キー、Microsoft Entra ID とロールベースのアクセス制御によるシングル サインオン (SSO)、マネージド ID を使用した認証はサポートされていません。
データが Fabric OneLake にレプリケートされたら、このデータへのアクセスを保護する必要があります。
データ保護機能
ミラー データベース の詳細なセキュリティは、Microsoft Fabric で構成できます。 詳細については、「Microsoft Fabric の詳細アクセス許可」を参照してください。
Microsoft Fabric のロール、ユーザーに対する、列フィルターと述語ベースの行フィルターを保護できます。
動的データ マスクを使用して、管理者以外の機密データをマスクすることもできます。
ネットワークのセキュリティ
現在、ミラーリングでは、OneLake のプライベート エンドポイントまたはカスタマー マネージド キー (CMK) はサポートされていません。 ミラーリングは、すべてのネットワークよりも許容範囲の狭いネットワーク セキュリティ構成を持つ Azure Cosmos DB アカウント、サービス エンドポイントの使用、プライベート エンドポイントの使用、IP アドレスの使用、またはアカウントへのパブリック ネットワーク アクセスを制限できるその他の設定の使用ではサポートされていません。 ミラーリングを使用するには、すべてのネットワークに対して Azure Cosmos DB アカウントが開かれている必要があります。
ディザスター リカバリーとレプリケーションの待機時間
Fabric では、Fabric テナントのホーム リージョン以外のリージョン内のデータ センターにコンテンツをデプロイできます。 詳しくは、「複数地域のサポート」をご覧ください。
プライマリ書き込みリージョンと複数の読み取りリージョンを持つ Azure Cosmos DB アカウントの場合、ミラーリングは、Fabric 容量が構成されているリージョンに最も近い Azure Cosmos DB 読み取りリージョンを選択します。 この選択は、ミラーリングの待機時間の短いレプリケーションを実現するのに役立ちます。
Azure Cosmos DB アカウントを復旧リージョンに切り替えると、ミラーリングにより、最も近い Azure Cosmos DB リージョンが自動的に選択されます。
Note
ミラーリングでは、複数の書き込みリージョンを持つアカウントはサポートされていません。
OneLake にレプリケートされる Cosmos DB データは、リージョン全体の停止を処理するように構成する必要があります。 詳しくは、「OneLake でのディザスター リカバリー」をご覧ください。
ミラーリングを使用してデータを探索する
OneLake でミラーリングされたデータを直接表示してアクセスできます。 さらにデータを移動することなく、ミラー データにシームレスにアクセスすることもできます。
ADLS Gen2 API または SDK、OneLake ファイル エクスプローラー、Azure Storage エクスプローラーを使用して OneLake にアクセスする方法について説明します。
SQL Server Management Studio (SSMS) などのツールから、または Microsoft Open Database Connectivity (ODBC) や Java Database Connectivity (JDBC) などのドライバーを使用して、SQL 分析エンドポイントに接続できます。 詳しくは、「SQL 分析エンドポイントの接続性」をご覧ください。
次のようなサービスを使用してミラー データにアクセスすることもできます。
- Azure Databricks、Azure HDInsight、Azure Synapse Analytics などのサービス
- データ エンジニアリングとデータ サイエンスのシナリオにショートカットを使用する Fabric Lakehouse
- Fabric ワークスペース内の他のミラー データベースまたはウェアハウス
また、medallion アーキテクチャ ソリューションを構築し、ブロンズ レイヤーとしてミラー データベースにランディングするデータをクリーンアップ、変換することもできます。 詳細については、「Fabric での medallion アーキテクチャ サポート」を参照してください。
価格
現在、パブリック プレビュー期間中には、ミラーリング機能を使用したり、ミラー データを Fabric に格納したりしても、コストは発生しません。 ただし、SQL、Power BI、または Spark を使用してデータをクエリするためのコンピューティング使用量は、Fabric 容量に基づいて課金されます。 詳細については、「よく寄せられる質問: 価格」をご覧ください。
Fabric ミラーリング でデータ エクスプローラーを使用している場合は、要求ユニット (RU) の使用量に基づいて、コンテナーを探索し、ソース Azure Cosmos DB データベース内のアイテムに対してクエリを実行するための一般的なコストが発生します。 Azure Cosmos DB の継続的バックアップ機能は、ミラーリングの前提条件であり、継続的バックアップの標準料金が適用されます。 継続的バックアップの料金に対して、ミラーリングによる追加料金は発生しません。 詳細については、「Azure Cosmos DB の価格」を参照してください。