分析データ ストアを調べる
分析データ ストアには、2 つの一般的な種類があります。
データ ウェアハウス
"データ ウェアハウス" は、トランザクション ワークロードではなくデータ分析用に最適化されたスキーマにデータが格納されるリレーショナル データベースです。 一般に、トランザクション ストアのデータは、中心になる "ファクト" テーブルに数値が格納されたスキーマに変換されます。それらのテーブルは、データ集計の基準となるエンティティを表す 1 つ以上の "ディメンション" テーブルに関連付けられます。 たとえば、ファクト テーブルには、顧客、製品、店舗、時間の各ディメンション別に集計できる販売注文データが含まれている場合があります (それにより、たとえば、店舗ごとに製品別の毎月の売上収益合計を簡単に検索できます)。 この種のファクトおよびディメンション テーブル スキーマは、"スター スキーマ" と呼ばれますが、ディメンション テーブルに関連した他のテーブルを追加してディメンション階層を表すことで、"スノーフレーク スキーマ" に拡張されることがよくあります (たとえば、製品は製品カテゴリに関連している可能性があります)。 データ ウェアハウスは、テーブルの構造化スキーマに編成できるトランザクション データがあり、それに対して SQL を使用してクエリを実行する場合に最適です。
データ レイク
"データ レイク" はファイル ストアであり、通常は分散ファイル システム上でハイ パフォーマンスのデータ アクセスを実現します。 格納されているファイルに対するクエリを処理し、レポートと分析用のデータを返すために、Spark や Hadoop などのテクノロジがよく使用されます。 これらのシステムでは、多くの場合、スキーマ オン リード アプローチを適用して、データを分析のために読み取る時点で半構造化データ ファイルに対して表形式スキーマを定義します。格納時に制約を適用することはしません。 データ レイクは、ストアへのデータ書き込み時にスキーマを適用する必要なく分析対象の構造化データ、半構造化データ、非構造化データの組み合わせをサポートするために最適です。
ハイブリッド アプローチ
"データ レイクハウス" でデータ レイクとデータ ウェアハウスの機能を組み合わせるハイブリッド アプローチを使用できます。 生データはデータ レイクにファイルとして保存され、Microsoft Fabric SQL 分析エンドポイントによってテーブル形式で公開されます。これは SQL を使用してクエリを実行できます。 Microsoft Fabric を使用してレイクハウスを作成すると、SQL 分析エンドポイントが自動的に作成されます。 データ レイクハウスは、Spark ベースのシステムでは比較的新しいアプローチであり、Delta Lake などのテクノロジを通じて実現されます。これにより Spark にリレーショナル ストレージ機能が追加され、スキーマとトランザクションの整合性を強制適用するテーブルを定義して、バッチ読み込みとストリーミングのデータ ソースをサポートし、クエリ用の SQL API を提供できます。
分析ストア用の Azure サービス
Azure には、次のように大規模な分析ストアを実装するために使用できるサービスがいくつかあります。
Microsoft Fabric は、大規模なデータ分析のための統合されたエンドツーエンド ソリューションです。 複数のテクノロジと機能を統合して、スケーラブルなハイ パフォーマンスの SQL Server ベース リレーショナル データ ウェアハウスに備わるデータの整合性と信頼性に、データ レイクとオープンソース Apache Spark の柔軟性を組み合わせることができます。 また、Microsoft Fabric Real-Time Intelligence を使用したログおよびテレメトリ分析のネイティブ サポートと、データ インジェストと変換のための組み込みデータ パイプラインも含まれています。 各 Microsoft Fabric 製品エクスペリエンスには、Data Factory ホームなどの独自のホームがあります。 各 Fabric ホームには、ユーザーが作成し、アクセスするすべてのワークスペースから使用できるアクセス許可を持つ項目が表示されます。 Microsoft Fabric は、1 つの統合分析ソリューションを作成する場合に最適です。
Azure Databricks は、よく使われる Databricks プラットフォームの Azure による実装です。 Databricks は Apache Spark 上に構築された包括的なデータ分析ソリューションであり、ネイティブの SQL 機能のほか、データ分析とデータ サイエンスのためのワークロード用に最適化された Spark クラスターを提供します。 Databricks には、システムを管理し、データを対話型ノートブックで探索できる対話型ユーザー インターフェイスが用意されています。 Azure Databricks は複数のクラウド プラットフォームで一般的に使用されているため、プラットフォームで既存の専門知識を使用する場合や、マルチクラウド環境で運用する必要がある場合、クラウド移植可能なソリューションをサポートする必要がある場合は、分析ストアとしての使用を検討することをお勧めします。
Note
これらの各サービスは、データのクエリを実行できるスキーマとインターフェイスを提供するという意味で、分析データ "ストア" として考えることができます。 ただし、多くの場合、データは実際にはデータ レイクに格納され、サービスはデータの "処理" とクエリの実行に使用されます。 一部のソリューションでは、これらのサービスを組み合わせて使用している場合もあります。 "抽出、読み込み、変換" (ELT) インジェスト プロセスにおいては、データ レイクにデータをコピーした後、これらのサービスのどれかを使用してデータを変換し、別のサービスを使用してクエリを実行する場合があります。 たとえば、パイプラインで、Azure Databricks で実行されているノートブックを使用してデータ レイク内の大量のデータを処理し、それを Microsoft Fabric Warehouse のテーブルに読み込むことができます。