Azure および CluedIn を使用したマスター データ管理

Azure Data Factory
Azure SQL データベース
Azure Synapse Analytics
Azure Monitor

この CluedIn アーキテクチャでは、ダーティ データのインテリジェントな検出と、データ エンジニアとデータ スチュワードによるクリーニングのための準備が行われており、取り込みデータの品質に関するメトリックが企業に提供されます。 独自のあいまい論理機械学習アルゴリズムによって、ビジネス ユーザーやキュレーターによるデータのラベル付けが支援され、時間の経過と共に、データ品質の問題の特定、修正、および防止を行うことをシステムに学ばせることができます。

Architecture

Diagram showing CluedIn architectural structure and data flow.

このアーキテクチャの Visio ファイルをダウンロードします。

データフロー

CluedIn ソリューションは、Azure Kubernetes Service (AKS) の Kubernetes クラスターで実行されるさまざまな機能レイヤーで構成されています。 .NET Core マイクロサービス アプリケーションの組み合わせによって、データ インジェスト、ストリーミング データ処理、キュー、ユーザー インターフェイスなどの個別の機能が処理されます。

  1. CluedIn クロール レイヤーでは、Azure SQL DB、Azure Cosmos DB、PostgreSQL、Salesforce データベースなどの顧客クラウド ソースから、Azure Data Factory コネクタを使用してデータが取り込まれます。

    また、CluedIn では、SAP、Oracle、IBM、Hadoop などのオンプレミスのアクセス可能なシステムからの入力も受け取ります。または、オンプレミスのエージェントを使用して非パブリック データをクロールすることもできます。

  2. エンタープライズ サービス バスは、管理エンドポイントに対してポート5672 および 15672 を介して接続します。 クローラーによってバスにデータが送信され、処理レイヤーによってバスからのデータがポート 5672 を介して消費されます。

  3. トランザクション ログ レイヤーは、処理レイヤーから結果を取得します。

  4. 永続レイヤーでは、データベースによってトランザクション ログのデータが使用され、さまざまなデータ ストア間で最終的な整合性を提供できるように永続化されます。 すべてのストアは高可用性 (HA) モードで実行されます。

    データの仮想化とは異なり、CluedIn 永続レイヤーでは、ソース データの一部が取り込まれ、データとその構造について最も忠実度の高いバージョンが保持されます。 この忠実度の高さとは、CluedIn Data Fabric が、任意の形式やモデルのデータに対するビジネスの要求に対応できることを意味します。

  5. データ抽象化レイヤーでは、さまざまなデータ ストアに各ストアのポートを介して接続します。

  6. データ アクセスは、ポート 443 上で、GraphQL、REST、および Websocket 呼び出しを通じて行われます。 GraphQL と REST ではプル モデルが使用され、Websocket ではプッシュ モデルが使用されます。

    CluedIn では、調整とクロスサイト リクエスト フォージェリ (CSRF) 防止によって、データ アクセスが保護されます。

  7. CluedIn ASP.NET Core Web アプリケーションでは、ポート 443 で REST と GraphQL の呼び出しを組み合わせて通信が行われます。

    ブラウザーからアプリケーションへのすべての通信では、1 つのパブリック IP アドレスのみを必要とするイングレス定義のセットが使用されます。 運用環境では、すべての通信は Secure Socket Layer (SSL) 経由で実行されます。

  8. CluedIn アプリケーションによって、Power BI や Azure Synapse Analytics などの分析サービスで分析情報が生成されるように、クリーンアップした処理済みのデータが提供されます。 システムでは、すべてのデータが SQL または Redis データベースにバックアップおよび格納されます。

コンポーネント

CluedIn が実行される Azure Kubernetes Service (AKS) は、コンテナー化されたアプリケーションのデプロイと管理のための、セキュリティで保護された可用性の高いフル マネージド Kubernetes サービスです。 AKS では、サーバーレス Kubernetes、統合された CI/CD、エンタープライズ レベルのセキュリティとガバナンスが提供されます。

CluedIn では、次のような多くのデータベース ソースとサービスが使用され、サポートされています。

  • Azure SQL Database。常に最新状態を維持し、必要に応じてリソースを自動的にスケーリングできる、管理されたリレーショナル クラウドデータベース サービスです。
  • Azure SQL Managed Instance。既存の SQL Server アプリケーションに対する幅広い SQL Server エンジンの互換性に対応します。 SQL Managed Instance によって、オンプレミスのデータベース インフラストラクチャに、Azure クラウドの利点 (柔軟なスケール、統合された管理、クラウド課金モデルなど) が提供されます。
  • Azure Cosmos DB。最新のアプリ開発に対応するフル マネージドの非リレーショナル NoSQL サーバーレス データベースです。
  • Azure Data Lake。スケーラブルなデータ ストレージおよび分析サービスです。
  • Azure Data Factory。大規模なデータの取り込み、準備、および変換を行うための、フル マネージド サーバーレス データ統合ソリューションです。 CluedIn では、Amazon Redshift、Google BigQuery、HDFS、Oracle Exadata、Teradata、Salesforce、Marketo、ServiceNow、およびすべての Azure データ サービスといったソースからデータを取得するために、90 を超える組み込み Data Factory コネクタが使用されます。

CluedIn では、次のような多くの分析アプリおよびサービスに対して、処理された管理データが提供されます。

  • Azure Databricks。高速で使いやすい、コラボレーション対応の Apache Spark ベースの分析サービスです。
  • Azure Synapse Analytics。エンタープライズ データ ウェアハウスとビッグ データ分析が統合された制限のない分析サービスです。
  • Log Analytics。Azure Monitor ログ データに対するクエリの編集、実行、および分析を行うための Azure portal ツールです。
  • Azure Cognitive Services。インテリジェント アプリの構築を支援する、AI サービスとコグニティブ API の包括的なファミリです。
  • Power BI。対話型の視覚化とビジネス インテリジェンスが使いやすいレポート作成インターフェイスと組み合わされた Microsoft ビジネス分析サービスです。

シナリオの詳細

近年の大企業では、多くのプロセスやプロジェクトがデータに基づいていますが、生データを使用できるように準備する必要があります。 高度な分析から機械学習まで、データのユース ケースすべてで、同様のデータ準備プロセスと注意事項が必要になります。

  1. データ プロジェクトでは、最初にデータの "検出" が行われ、データがある場所とそのデータが使用されるシステムが判別されます。
  2. データの "統合" によって、複数のデータ ソースが、統合されたデータ セットつまり結び付いたデータ セットにまとめられます。
  3. 次の手順では、データの "正規化、標準化、調和"、および "クリーンアップ"を行い、統一されて一貫性がある、忠実度の高い方法でマシンがデータを処理できるようにします。
  4. 最終的に、ビジネス ニーズに合わせて、データを簡単かつ迅速に用意できる必要があります。

これらのプロセスでは、"ガバナンス" によって、明確な所有権、完全な追跡可能性、データの出所、処理、使用に関する監査証跡を提供し、データ コントロールとプライバシー保護を確保する必要があります。

CluedIn プラットフォームでは、これらのデータ管理のプロセスと要素が、整理された一貫性のある全面的なマスター データ管理 (MDM) ソリューションとしてカプセル化されています。 CluedIn では、"最終的な接続" と呼ばれるデータ統合手法が使用されます。これにより、従来の "抽出、変換、読み込み (ETL) " または "抽出、読み込み、変換 (ELT) " モデルに比べて、より良い結果が得られます。 最終的な接続では、多数のサイロ化したデータ ソースのデータをシームレスに混合するために、GraphQL クエリが使用されます。

最終的な接続では、他のシステムへの入力時または読み込み時にデータが結合されたり混合されたりすることはありません。 代わりに、CluedIn ではデータがそのまま読み込まれ、メタデータを使用してレコードがタグ付けされます。 最終的には、同じタグのレコードが、マージされたり、グラフ内でリレーションシップを形成したりします。

この高度なデータ マージ手法が、データドリブン ソリューションの基礎となります。 CluedIn Data Fabric では、データがパイプラインに統合されます。そこでデータのクリーンアップ、準備、モデル化、管理、エンリッチ、重複除去、カタログ化が行われ、業務で簡単に使用したりアクセスしたりできるようになります。

CluedIn では、ダーティ データのインテリジェントな検出と、データ エンジニアとデータ スチュワードによるクリーニングのための準備が行われており、取り込みデータの品質に関するメトリックが企業に提供されます。 独自のあいまい論理機械学習アルゴリズムによって、ビジネス ユーザーやキュレーターによるデータのラベル付けが支援され、時間の経過と共に、データ品質の問題の特定、修正、および防止を行うことをシステムに学ばせることができます。

CluedIn には、データを安全かつ自信を持って使用できることを保証する、エンタープライズレベルのガバナンスが含まれています。 CluedIn では、クリーンアップされ管理されたデータが、Power BI、Azure Databricks、Azure Synapse Analytics、Azure Cognitive Services などの分析システムに直接ストリーミングされ、その他の業務で簡単に利用できるようにすることができます。 自動スケールのネイティブ サポートにより、Azure の機能が活用され、最大のデータ ワークロードに対してスケーラブルな環境が提供されます。

考えられるユース ケース

データの 1 つのビューを構築する

  • CluedIn のセマンティック モデリングにより、従来のアプローチと比較して非常に簡単に、マスター データの 1 つのビューを構築できるようになります。 CluedIn のお客様は、CluedIn を使用して、最重要なビジネス データの、結び付けられた高品質の履歴ビューを構築しています。 CluedIn では、ユーザー、会社、ベンダー、製品などの従来のマスター ドメインのマスタリングをサポートしているだけではなく、ファイル、メール、イベントなどの非構造化ドメインや、他のさまざまなドメインを無数にサポートしています。 クリーンで、エンリッチされ、管理され、品質が制御され、カタログ化されたマスター データの中央リポジトリが必要な場合は、CluedIn がユース ケースに適しています。

データ ファブリック

  • CluedIn は、2020 年の Gartner のクール ベンダーです。これは、数十、数百、数千の異なる複雑なデータソースのデータを統合されたデータ ハブに統合する機能を提供しているためです。 さまざまなデータソースからのデータを簡単に収集できるようにする必要がある場合は、CluedIn をデータ ファブリックとして使用すれば、それを実現できます。 これにより、データのストリーミング インフラストラクチャを提供することができ、データが下流のコンシューマーに送られるときに、データを事前にクリーンアップしてマスター化することもできます。

マスター データの高度なマージとリンク

  • CluedIn のユニークなデータ モデリング アプローチでは、グラフ データベースが使用されています。これにより、複雑なデータを簡単にマージおよびリンクできます。 従来のアプローチとは異なり、この課題を解決するために、CluedIn では追加の機械学習とグラフ分析を追加して、レコードの結合、照合、リンクを非常に高い精度で行います。

考慮事項

以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。

[信頼性]

信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性の重要な要素の概要」を参照してください。

  • CluedIn では、自動データベース バックアップが毎日実行され、既定で長期的なストレージに 30 日間保持されます。 プラットフォーム全体が、すべてのサブシステムのバックアップを保持する、冗長なフォールト トレラント スタック上に構築されています。 年中無休の監視システムにより、サービスができるだけ汚染されないようになります。 CluedIn は、インフラストラクチャの冗長性に関する業界標準のプラクティスに従っています。

  • CluedIn では、元のバージョンではなく、データの表現のみが示されて格納されます。 CluedIn では、破壊的データの侵入が検出されると、サーバーから CluedIn データを一時的にワイプできます。 侵入がおさまると、CluedIn によってデータが再収集されて元の状態に戻されます。

  • すべてのデータ ストアは高可用性モードで実行されます。

スケーラビリティ

  • CluedIn は Docker コンテナーで実行され、Kubernetes を使用して、アプリケーションのさまざまな部分をホストおよび調整します。 このアーキテクチャは、CluedIn がエラスティック環境で適切に機能し、必要なサイズとインフラストラクチャに合わせて自動的にスケーリングできることを意味します。

  • 自動スケールのネイティブ サポートにより、Azure の機能が活用され、最大のデータ ワークロードに対してスケーラブルな環境が提供されます。

  • スキーマレス グラフ モデリングでは、ソース データからデータ モデルが自動的に推論されます。 新しいデータ ソースは、他のすべてのデータ ソースに自動的に結び付けられるため、明示的に統合する必要はありません。 データ ソースの数は無限に拡張でき、統合が複雑にあることはありません。

セキュリティ

セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの重要な要素の概要」を参照してください。

  • CluedIn のセキュリティでは、Azure RBACAzure Key Vault セキュリティ キー制御、および Azure Monitor のアクセス追跡とログ記録を使用して、アクセス許可が付与され、さまざまなサービスへのアクセスが制御されます。

  • CluedIn によって、認証されたユーザー アカウントだけでなく、シングル サインオン (SSO) と ID フレームワークもサポートされます。 CluedIn アプリケーションに対する要求では、ユーザー ID と相関関係のない暗号化されたアクセス トークンが使用されます。

  • CluedIn では、格納されているデータ表現が複数のファイアウォールおよびプロキシレイヤーの背後で管理され、一意キーのセットで認証されます。

  • CluedIn では、すべてのソース データが 256 ビットの AES 暗号化で格納されます。これは、サポートされているデータ ソースの暗号化レベル以上です。

  • 調整と CSRF 防止によって、データ アクセスが保護されます。

DevOps

  • CluedIn では、AKS 環境へのデプロイとローリング更新を処理するために、Azure Pipelines の継続的インテグレーションと継続的デリバリー (CI/CD) パイプラインが使用されます。

  • CluedIn では、データが意図したとおりに変換されることを確認するため、単体テスト、統合テスト、および機能テストがサポートされています。 仮想化処理パイプラインは、サンドボックス テストのためにメモリ内で実行できます。 運用レベルのアサーションは、データの問題をデバッグおよび追跡するのに役立ちます。

  • テスト環境および運用環境では、CluedIn によって Helm パッケージ マネージャー チャートが提供され、Kubernetes クラスターに CluedIn をすばやくインストールできます。 完全にスクリプト化されたデータ デプロイ プロセスによって、セットアップ、テスト、およびロールアウトがサポートされます。

コストの最適化

コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳しくは、コスト最適化の柱の概要に関する記事をご覧ください。

CluedIn の価格は、オープンかつ透明です。 価格は、Web サイトで確認できます。

Azure のサイズ設定と試用の開始

Web サイトで CluedIn の 7 日間の試用を開始することができます。さまざまなサイズの環境向けに事前に構築された Azure の見積もりが用意されているため、Azure ホスティングのコストを調べるのにも役立ちます。

このシナリオのデプロイ

  • Docker を使用した開発と評価の目的で CluedIn をデプロイするには、「Docker を使用した CluedIn」を参照してください。

  • CluedIn を Kubernetes クラスターに迅速にインストールするには、「Kubernetes を使用した CluedIn」を参照してください。 Helm チャートによって、CluedIn サーバー、Web サイト、その他の必要なサービス (ストレージやキューなど) がインストールされます。

次の手順