分析データ ストアを調べる

完了

分析データ ストアには、2 つの一般的な種類があります。

データ ウェアハウス

Diagram showing a data warehouse with a star schema.

"データ ウェアハウス" は、トランザクション ワークロードではなくデータ分析用に最適化されたスキーマにデータが格納されるリレーショナル データベースです。 一般に、トランザクション ストアのデータは、中心になる "ファクト" テーブルに数値が格納されたスキーマに変換されます。それらのテーブルは、データ集計の基準となるエンティティを表す 1 つ以上の "ディメンション" テーブルに関連付けられます。 たとえば、ファクト テーブルには、顧客、製品、店舗、時間の各ディメンション別に集計できる販売注文データが含まれている場合があります (それにより、たとえば、店舗ごとに製品別の毎月の売上収益合計を簡単に検索できます)。 この種のファクトおよびディメンション テーブル スキーマは、"スター スキーマ" と呼ばれますが、ディメンション テーブルに関連した他のテーブルを追加してディメンション階層を表すことで、"スノーフレーク スキーマ" に拡張されることがよくあります (たとえば、製品は製品カテゴリに関連している可能性があります)。 データ ウェアハウスは、テーブルの構造化スキーマに編成できるトランザクション データがあり、それに対して SQL を使用してクエリを実行する場合に最適です。

データ レイクハウス

Diagram showing a data lake in which files are abstracted by tables.

"データ レイク" はファイル ストアであり、通常は分散ファイル システム上でハイ パフォーマンスのデータ アクセスを実現します。 格納されているファイルに対するクエリを処理し、レポートと分析用のデータを返すために、Spark や Hadoop などのテクノロジがよく使用されます。 これらのシステムでは、多くの場合、スキーマ オン リード アプローチを適用して、データを分析のために読み取る時点で半構造化データ ファイルに対して表形式スキーマを定義します。格納時に制約を適用することはしません。 データ レイクは、ストアへのデータ書き込み時にスキーマを適用する必要なく分析対象の構造化データ、半構造化データ、非構造化データの組み合わせをサポートするために最適です。

データ レイクとデータ ウェアハウスの機能を組み合わせて "レイク データベース" または "データ レイクハウス" に取り入れたハイブリッド アプローチを使用できます。 データ レイクに生データがファイルとして格納され、基になるファイルがリレーショナル ストレージ レイヤーで抽象化されて、テーブルとして公開されます。それに対して SQL を使用してクエリを実行できます。 Azure Synapse Analytics の SQL プールには、PolyBase が組み込まれています。これにより、データ レイク (および他のソース) 内のファイルに基づいて外部テーブルを定義し、それらに対して SQL を使ってクエリを実行できます。 Synapse Analytics では、Lake Database アプローチもサポートされています。これは、データベース テンプレートを使用してデータ ウェアハウスのリレーショナル スキーマを定義し、基になるデータを Data Lake Storage に格納することで、データ ウェアハウス ソリューションのストレージとコンピューティングを分離できるというものです。 データ レイクハウスは、Spark ベースのシステムでは比較的新しいアプローチであり、Delta Lake などのテクノロジを通じて実現されます。これにより Spark にリレーショナル ストレージ機能が追加され、スキーマとトランザクションの整合性を強制適用するテーブルを定義して、バッチ読み込みとストリーミングのデータ ソースをサポートし、クエリ用の SQL API を提供できます。