レイク データベースの概念を理解する

完了

従来のリレーショナル データベースでは、データベース スキーマはテーブル、ビュー、その他のオブジェクトで構成されています。 リレーショナル データベースのテーブルには、データを格納するエンティティが定義されています。たとえば、小売データベースには、製品、顧客、注文のテーブルが含まれます。 各エンティティは、テーブルの列として定義される一連の属性から構成され、各列には名前とデータ型があります。 テーブルのデータはデータベースに格納され、テーブルの定義と密接に結合されます。テーブルの定義によって、データ型、NULL 値の許容、キーの一意性、関連するキー間の参照整合性を強制します。 すべてのクエリとデータ操作は、データベース システムを介して実行する必要があります。

データ レイクに固定のスキーマはありません。 データは、構造化、半構造化、または非構造化のファイルに格納されます。 アプリケーションとデータのアナリストは、リレーショナル データベース システムの制約を受けることなく、好みのツールを使ってデータ レイク内のファイルを直接操作できます。

"レイク データベース" には、データ レイク内の 1 つ以上のファイルに対してリレーショナル メタデータ レイヤーがあります。 列名、データ型だけでなく、主キーと外部キーの列間のリレーションシップなど、テーブルの定義を含むレイク データベースを作成できます。 テーブルはデータ レイク内のファイルを参照するので、データの操作や SQL を使ったクエリにリレーショナル セマンティクスを適用できます。 ただし、データ ファイルのストレージはデータベース スキーマから切り離されているため、一般的にリレーショナル データベース システムが提供するよりも高い柔軟性があります。

Diagram of a relational schema of linked tables overlaying files in a file store.

レイク データベースのスキーマ

Azure Synapse Analytics でレイク データベースを作成し、データを格納する必要のあるエンティティを表すテーブルを定義することができます。 実績のあるデータ モデリング原則を適用してテーブル間のリレーションシップを作成し、テーブル、列、その他のデータベース オブジェクトに適切な名前付け規則を使用できます。

Azure Synapse Analytics にはグラフィカル データベース設計インターフェイスが含まれており、データベース設計については、従来のデータベースに適用するものと同じベスト プラクティスの多くを使って、複雑なデータベース スキーマをモデル化することができます。

レイク データベース ストレージ

レイク データベース内のテーブルのデータは、Parquet または CSV ファイル形式でデータ レイクに格納されます。 このファイルはデータベース テーブルとは独立して管理できるので、さまざまなデータ処理ツールとテクノロジを使ったデータ インジェストと操作の管理が容易になります。

レイク データベースのコンピューティング

定義したテーブルを介してデータのクエリと操作を行うには、Azure Synapse サーバーレス SQL プールを使って SQL クエリを実行するか、Azure Synapse Apache Spark プールを使い、Spark SQL API を使ってテーブルを操作することができます。