Azure Synapse Link for Azure Cosmos DB とは

適用対象: NoSQL MongoDB Gremlin

Azure Synapse Link for Azure Cosmos DB は、クラウド ネイティブのハイブリッド トランザクションと分析処理 (HTAP) の機能です。これを使用すると、Azure Cosmos DB 内のオペレーショナル データに対してリアルタイムに近い分析が可能になります。 Azure Synapse Link によって、Azure Cosmos DB と Azure Synapse Analytics の間に緊密でシームレスな統合が作成されます。

完全に分離された列ストアである Azure Cosmos DB 分析ストア を Azure Synapse Link と一緒に使用することで、オペレーショナル データに対して、Azure Synapse Analytics で Extract-Transform-Load (ETL) の分析を大規模に実行できます。 ビジネス アナリスト、データ エンジニア、データ サイエンティストは、ビジネス インテリジェンス、分析、機械学習のパイプラインをほぼリアルタイムで実行するために、Synapse Spark または Synapse SQL のどちらでも同じように使用できるようになりました。 Azure Cosmos DB のトランザクション ワークロードのパフォーマンスに影響を与えることなく、リアルタイム データを分析できます。

次の図では、Azure Synapse Link と Azure Cosmos DB および Azure Synapse Analytics との統合を示します。

Architecture diagram for Azure Synapse Analytics integration with Azure Cosmos DB

ミッション クリティカルなトランザクション ワークロードのパフォーマンスへの影響を最小限に抑えながら、大規模なオペレーショナル データセットを分析するには、Azure Cosmos DB では従来、オペレーショナル データをエクスポートします。 これらの操作は、抽出、変換、読み込み (ETL) パイプラインによって実行されます。これにはデータとジョブ管理に多くのレイヤーが必要とされ、トランザクション ワークロードに対する操作の複雑さとパフォーマンスへの影響が生じます。 また、開始時からオペレーショナル データが分析されるまでの待機時間も長くなります。

従来の ETL ベースのソリューションと比較して、Azure Synapse Link for Azure Cosmos DB には次のような利点があります。

管理する ETL ジョブがないことによる複雑さの軽減

Azure Synapse Link では、Azure Synapse Analytics を使用して Azure Cosmos DB 分析ストアに直接アクセスすることができ、複雑なデータ移動がありません。 ETL や変更フィード ジョブがないので、オペレーショナル データに対して行われたすべての更新は、ほぼリアルタイムで分析ストアに表示されます。 追加のデータ変換を行うことなく、Azure Synapse Analytics から分析ストアに対して大規模な分析を実行できます。

オペレーショナル データに関するほぼリアルタイムの分析情報

Azure Synapse Link を使用すると、オペレーショナル データに関する豊富な分析情報を、ほぼリアルタイムで取得できます。 ETL ベースのシステムでは、多くのレイヤーでオペレーショナル データを抽出、変換、読み込む必要があるため、オペレーショナル データを分析するための待機時間が長くなる傾向があります。 Azure Cosmos DB 分析ストアと Azure Synapse Analytics のネイティブな統合により、オペレーショナル データをほぼリアルタイムで分析でき、新しいビジネス シナリオが可能になります。

運用ワークロードに対するパフォーマンスの侵害がない

Azure Synapse Link では、データの列ストア表現である Azure Cosmos DB 分析ストアに対して分析クエリを実行できます。 Azure Cosmos DB の行ベースのトランザクション ストアを介して、トランザクション ワークロード用にプロビジョニングされたスループットを使用してトランザクション操作を処理しながらクエリを実行できます。 分析ワークロードは、トランザクション ワークロードのトラフィックから独立しており、オペレーショナル データ用に割り当てたスループットは使用しません。

大規模な分析ワークロード用に最適化

Azure Cosmos DB 分析ストアは、コンピューティング ランタイムに依存せずに、分析ワークロードに対してスケーラビリティ、弾力性、パフォーマンスを提供するように最適化されています。 ストレージ テクノロジは、分析ワークロードを最適化するように自己管理されています。 Azure Synapse Analytics のサポートが組み込まれているため、このストレージ レイヤーに対するアクセスは簡単でハイ パフォーマンスです。

高いコスト効率

Azure Synapse Link を使うと、コスト効率のよいフル マネージドの運用分析用ソリューションを利用できます。 これにより、従来の ETL パイプラインでオペレーショナル データを分析するために必要であったストレージとコンピューティングの余分なレイヤーが不要になります。

Azure Cosmos DB 分析ストアは、使用量ベースの価格モデルに従います。このモデルは、データ ストレージと、実行された分析の読み書き操作およびクエリに基づいています。 トランザクション ワークロードに対して現在行っているような、スループットの割り当ては必要ありません。 Azure Synapse Analytics から高度なエラスティック コンピューティング エンジンを使用してデータにアクセスすることにより、ストレージとコンピューティングの実行のコスト効率が向上します。

ローカルに使用可能でグローバルに分散されたマルチリージョン書き込みの分析

Azure Cosmos DB のデータの最も近いリージョン コピーに対して、分析クエリを効率的に実行できます。 Azure Cosmos DB には、グローバルに分散された分析ワークロードとトランザクション ワークロードをアクティブ/アクティブ方式で実行するための最新の機能が用意されています。

オペレーショナル データの HTAP シナリオを有効にする

Azure Synapse Link によって、Azure Cosmos DB 分析ストアと Azure Synapse Analytics のランタイム サポートが統合されます。 この統合により、大規模データセットのオペレーショナル データに対するリアルタイム更新に基づいた分析情報を生成する、クラウド ネイティブの HTAP ソリューションを構築できます。 それによって、ライブの傾向に基づいてアラートを生成したり、ほぼリアルタイムのダッシュボードを作成したりする新しいビジネス シナリオや、ユーザーの行動に基づくビジネス エクスペリエンスが、可能になります。

Azure Cosmos DB 分析ストア

Azure Cosmos DB 分析ストアは、Azure Cosmos DB 内のオペレーショナル データの列指向の表現です。 この分析ストアは、大規模なオペレーショナル データ セットに対する高速でコスト効率の高いクエリに適しています。 このストアは、データをコピーしたり、トランザクション ワークロードのパフォーマンスに対する影響を与えたりすることなく、データを分析できます。

分析ストアでは、Azure Cosmos DB のフル マネージド機能 ("自動同期") として、トランザクション ワークロードでの高頻度の挿入、更新、削除がほぼリアルタイムで自動的に取得されます。 変更フィードや ETL は必要ありません。

グローバルに分散された Azure Cosmos DB アカウントがある場合、コンテナーの分析ストアを有効にした後、そのアカウントのすべてのリージョンでそれを使用できるようになります。 分析ストアの詳細については、Azure Cosmos DB 分析ストアの概要に関する記事を参照してください。

Azure Synapse Link では、Azure Synapse Analytics から Azure Cosmos DB コンテナーに直接接続し、別のコネクタを使用せずに分析ストアにアクセスできるようになりました。 Azure Synapse Analytics では、現在、Synapse Apache Spark およびサーバーレス SQL プールとの Azure Synapse Link がサポートされています。

Azure Synapse Analytics でサポートされているさまざまな分析ランタイム間の相互運用機能により、Azure Cosmos DB 分析ストアからデータを同時にクエリできます。 オペレーショナル データを分析するために、追加のデータ変換は必要ありません。 次のものを使用して、分析ストアのデータのクエリと分析を行うことができます。

  • Scala、Python、SparkSQL、C# が完全にサポートされている Synapse Apache Spark。 Synapse Spark は Data Engineering とデータ サイエンスのシナリオにおける中心的存在です

  • T-SQL 言語を使用するサーバーレス SQL プールと、使い慣れた BI ツール (Power BI Premium など) に対するサポート

Note

Azure Synapse Analytics からは、Azure Cosmos DB コンテナー内の分析ストアとトランザクション ストアの両方にアクセスできます。 ただし、オペレーショナル データに対して大規模な分析やスキャンを実行する場合は、トランザクション ワークロードのパフォーマンスへの影響を避けるため、分析ストアを使用することをお勧めします。

Note

Azure Cosmos DB コンテナーを Azure リージョンの Synapse ランタイムに接続することにより、そのリージョン内での分析を低待機時間で実行できます。

この統合により、次のようなさまざまなユーザーに対する HTAP シナリオが可能になります。

  • Synapse SQL を通じて Azure Cosmos DB のライブ オペレーショナル データに直接アクセスし、Power BI レポートをモデル化して発行する BI エンジニア。

  • Synapse SQL でクエリを実行することで、Azure Cosmos DB コンテナー内のオペレーショナル データから分析情報を抽出し、大規模なデータを読み取り、その結果を他のデータ ソースと結合するデータ アナリスト。

  • 複雑な Data Engineering を行わずにモデルを改善し、そのモデルをトレーニングする機能を、Synapse Spark を使用して見つけたいデータ科学者。 また、Spark Synapse を使用してデータのスコアリングをリアルタイムで行うために、モデルのポスト推論の結果を Azure Cosmos DB に書き込むこともできます。

  • 手動の ETL プロセスを使用せずに、Azure Cosmos DB コンテナーに対する SQL テーブルまたは Spark テーブルを作成することで、コンシューマーがデータにアクセスできるようにしたいと考えているデータ エンジニア。

Azure Cosmos DB の Azure Synapse Analytics ランタイムによるサポートの詳細については、Azure Cosmos DB に対する Azure Synapse Analytics のサポートに関するページを参照してください。

Azure Cosmos DB を使用しており、オペレーショナル データに対して分析、BI、機械学習を実行したい場合は、Azure Synapse Link をお勧めします。 次に例を示します。

  • 現在、別のコネクタを使用して、Azure Cosmos DB のオペレーショナル データで分析または BI を直接実行している場合

  • ETL プロセスを実行して、別の分析システムにオペレーショナル データを抽出している場合。

このような場合、Azure Synapse Link では、トランザクション ストアのプロビジョニング済みスループットに影響を与えることなく、より統合された分析エクスペリエンスが提供されます。

Azure Synapse Link は、従来のデータ ウェアハウスの要件を探している場合は推奨されません。 これらの要件には、高いコンカレンシー、ワークロードの管理、複数のデータ ソース間での集計の永続化が含まれる場合があります。 詳細については、Azure Synapse Link for Azure Cosmos DB を使用して実現できる一般的なシナリオに関するページを参照してください。

制限事項

  • Azure Synapse Link for Azure Cosmos DB は、NoSQL API と MongoDB API に対してサポートされています。 Cassandra と Table API ではサポートされておらず、Gremlin API ではプレビューのままです。

  • 現時点では、Azure Synapse 専用 SQL プールを使用した Azure Cosmos DB 分析ストアへのアクセスはサポートされていません。

  • 分析ストア データはバックアップされず、したがって復元できませんが、復元されたコンテナーで Azure Synapse Link を再び有効にすることにより、分析ストアを再構築できます。 詳細については、分析ストアのドキュメントを確認してください。

  • 継続的バックアップが有効になっているデータベース アカウントで Synapse Link を有効にする機能は現在、プレビュー段階です。 Synapse Link が有効なデータベース アカウントで継続的バックアップを有効にするという逆の状況は、まだサポートされていません。

  • Synapse からクエリを実行する場合、きめ細かいロールベースのアクセスはサポートされていません。 Synapse ワークスペースにアクセスでき、Azure Cosmos DB アカウントにアクセスできるユーザーは、そのアカウント内のすべてのコンテナーにアクセスできます。 現在、コンテナーへのより詳細なアクセスはサポートされていません。

  • 現在、Azure Synapse ワークスペースでは、Managed Identity を使用したリンクされたサービスはサポートされていません。 常に MasterKey オプションを使用します。

  • 現在、複数リージョンの書き込みアカウントは運用環境では推奨されていません。

セキュリティ

Azure Synapse Link を使用すると、Azure Cosmos DB 内のミッション クリティカルなデータに対して準リアルタイムで分析を実行できます。 重要なビジネス データがトランザクション ストアと分析ストアの両方に安全に格納されるようにすることは必要不可欠です。 Azure Synapse Link for Azure Cosmos DB は、次の機能によってこれらのセキュリティ要件を満たすように設計されています。

  • プライベート エンドポイントを使用したネットワーク分離 - トランザクション ストアおよび分析ストア内のデータへのネットワーク アクセスを個別に制御できます。 ネットワークの分離は、Azure Synapse ワークスペースのマネージド仮想ネットワーク内で、ストアごとに別個のマネージド プライベート エンドポイントを使用して行われます。 詳細については、分析ストアのプライベート エンドポイントを構成する方法に関する記事を参照してください。

  • カスタマー マネージド キーを使用したデータの暗号化 - 同じカスタマー マネージド キーを自動かつ透過的な方法で使用して、トランザクション ストアおよび分析ストア全体のデータをシームレスに暗号化できます。 Azure Synapse Link では、Azure Cosmos DB アカウントのマネージド ID を使用したカスタマー マネージド キーの構成のみがサポートされています。 アカウントで Azure Synapse Link を有効にする前に、Azure Key Vault のアクセス ポリシーでアカウントのマネージド ID を構成する必要があります。 詳細については、Azure Cosmos DB アカウントのマネージド ID を使用して、カスタマー マネージド キーを構成する方法に関するセクションを参照してください。

  • セキュリティで保護されたキー管理 - Synapse Spark や Synapse サーバーレス SQL プールから分析ストア内のデータにアクセスするには、Synapse Analytics ワークスペース内で Azure Cosmos DB キーを管理する必要があります。 Spark ジョブや SQL スクリプトで Azure Cosmos DB アカウント キーをインラインで使用する代わりに、Azure Synapse Link にはより安全な機能が用意されています。

    • Synapse サーバーレス SQL プールを使用するときは、アカウント キーが格納される SQL 資格情報を事前に作成し、OPENROWSET 関数でそれらのキーを参照することによって、Azure Cosmos DB 分析ストアに対してクエリを実行できます。 詳細については、Azure Synapse Link でのサーバーレス SQL プールを使用したクエリに関する記事を参照してください。

    • Synapse Spark を使用するときは、Azure Cosmos DB データベースをポイントするリンク サービスのオブジェクトにアカウント キーを格納し、実行時に Spark 構成でキーを参照することができます。 詳細については、Apache Spark を使用した専用 SQL プールへのデータのコピーに関する記事を参照してください。

価格

Azure Synapse Link の課金モデルには、Azure Cosmos DB 分析ストアと Synapse ランタイムを使用して発生するコストが含まれます。 詳細については、Azure Cosmos DB 分析ストアの価格に関するページおよび「Azure Synapse Analytics の価格」をご覧ください。

次のステップ

詳しく学習するために、次のドキュメントを参照してください。