MaxCompute は、データレイクとデータウェアハウスを橋渡しする複数のデータレイク分析ソリューションを提供します。レイクの柔軟性とマルチエンジンエコシステムを、ウェアハウスのエンタープライズグレードの機能と組み合わせることで、統合データ管理プラットフォームを構築します。
データレイク分析とレイクハウスのオープンアーキテクチャ
-
データウェアハウスは、構造化データおよび半構造化データのガバナンスを重視します。強力な管理により、より高いコンピュート性能と標準化されたガバナンスを実現します。
-
データレイクは、ストレージのオープン性とフォーマットの汎用性を重視します。複数のエンジンが必要に応じてデータを生成または消費でき、柔軟性を維持するための軽量な管理を提供します。非構造化データに対応し、スキーマオンリードをサポートします。
MaxCompute は、両者の強みを組み合わせたレイクハウスソリューションを提供します。
データレイク分析
MaxCompute は、次の機能によりデータレイクに接続します。
-
他のレイクエンジンと連携してデータを処理する、高性能かつコスト効率の高いバッチコンピューティング
-
より高いセキュリティと制御を実現するための、ウェアハウス管理機能のレイクへの拡張
-
高付加価値データのデータウェアハウスへの集約
-
ウェアハウス、データレイク、データベース間のフェデレーテッドコンピューティング
レイクハウスのオープンアーキテクチャ
MaxCompute は、ストレージとコンピュートの分離アーキテクチャを採用しています。オープンストレージ、オープンメタデータ、マルチエンジン設計により、次の機能を備えたレイクハウスのオープンアーキテクチャを構成します。
-
レイク上のメタデータ検出と管理
-
ウェアハウスと MaxCompute 管理のレイクテーブルのメタデータの両方を外部コンシューマーに公開する、統合メタデータビュー
-
MaxCompute およびサードパーティエンジンの両方をサポートするオープンストレージ
-
マルチエンジンの読み書き操作をガバナンスするメタデータおよびデータサービス。これらのサービスは、エンジン間の権限を制御し、書き込みを調整し、メタデータ更新をエンジン間で即時に伝播させ、データ読み取りルール (マスキングなど) を適用し、自動データメンテナンス (自動コンパクションなど) をサポートします。
詳細については、「Lakehouse Open Architecture Overview」をご参照ください。
MaxCompute のデータレイク分析機能
MaxCompute は、外部データに対する管理強度が弱いものから強い順に、スキーマレスクエリ、外部テーブル、管理対象レイクテーブルというデータレイク分析機能を提供します。メタデータサービスは DLF およびファイルシステムカタログ仕様もサポートするため、MaxCompute は、分析のために外部メタデータソースをマッピングする外部スキーマと外部プロジェクトを提供します。
スキーマレスクエリ
スキーマレスクエリ機能を使用すると、MaxCompute SQL で OSS ディレクトリ内のデータ (Parquet、CSV、JSON) に、スキーマやパーティションを事前定義せずに直接アクセスできます。サンプルデータを解析してメタデータ (Parquet スキーマ、CSV ヘッダー、JSON 構造) を自動的に取得します。結果は OSS にエクスポートするか、内部テーブルに書き込むか、サブクエリとして使用できます。
外部テーブル
外部テーブルでは、DDL を使用して、MaxCompute 外のデータにアクセスするための名前、スキーマ、プロパティ、権限、ロケーション、プロトコルを定義します。これらのメタデータにより、SQL エンジンは外部ソースに接続し、メタデータの取得と更新を行い、データの読み取り、計算、書き込みを実行できます。
レイクテーブル
MaxCompute は、レイクデータに対して完全な管理機能を提供するレイクテーブルを提供します。レイクテーブルは、OSS、Iceberg、MaxCompute メタデータサービス、Storage API、オープンソースエンジンコネクターに基づいて構築されています。
-
Iceberg はスキーマ情報とパーティション情報を提供し、柔軟なスキーマ進化を可能にします。
-
メタデータは MaxCompute メタデータサービスに格納されます。すべてのエンジンは統一された読み取りルールに従い、書き込みによってトリガーされたメタデータ更新は、他のエンジンからすぐに参照できるようになります。
-
管理には、統一された権限とファイルメンテナンスが含まれます。ネイティブなオープン性のために、レイクテーブルは、ネイティブの Iceberg REST Catalog メタデータサービスと、OSS に直接保存された Iceberg スナップショットファイルへの読み取り専用アクセスも提供します。
詳細については、「MaxCompute-managed Iceberg tables (beta)」をご参照ください。この機能は、2024 年 5 月 7 日 (UTC+8) に上海およびドイツのリージョンで招待制プレビューとしてリリースされました。
外部スキーマと外部プロジェクト
外部テーブルとは異なり、外部スキーマと外部プロジェクトはメタデータを MaxCompute に保存しません。代わりに、ソースからリアルタイムで取得します。ユーザーは、MaxCompute がソースのメタデータサービス、データサービス、またはデータベースインスタンスに接続する方法を定義する管理オブジェクトを作成します。MaxCompute はこのオブジェクトを通じてメタデータを取得し、ソースの Catalog、Database、または Schema 内のすべてのテーブルをマッピングします。
機能と主要な概念
-
ネットワーク接続性
詳細については、「Network connection process」をご参照ください。MaxCompute は、EMR や RDS インスタンス (近日提供予定) など、ネットワーク接続を通じて VPC データソースにアクセスします。DLF、OSS、Hologres は Alibaba Cloud の相互接続ネットワーク上にあり、Networklink の設定は不要です。
ネットワーク接続性は、外部テーブル、外部スキーマ、外部プロジェクトが VPC データソースにアクセスする際に利用できます。
-
外部サーバー
外部サーバーは、データソースの認証情報、ロケーション、接続プロトコルの詳細を保存します。MaxCompute はこれを使用してソースに接続し、ソースのメタデータとデータにアクセスします。外部サーバーは、テナント管理者が定義するテナントレベルのオブジェクトです。
外部サーバーは、外部スキーマと外部プロジェクトをサポートします。外部サーバーは段階的に Connection オブジェクトに移行します。これにより、スコープはテナントレベルからデータレベルに移り、レイクテーブルと外部スキーマをサポートします。従来、外部サーバーに依存していた外部プロジェクトは、接続情報を直接保存します。この移行はユーザーに対して透過的です。
-
外部スキーマ
外部スキーマは、MaxCompute プロジェクト内のスキーマであり、ソースの Database レベル (DLF_legacy または Hive) または Schema レベル (Hologres) にマッピングされます。これにより、そのスコープ内のテーブルに直接アクセスできます。MaxCompute で作成するのではなく外部スキーマを通じてマッピングされたテーブルは、フェデレーテッド外部テーブル (マウントテーブル) と呼ばれます。
フェデレーテッド外部テーブルは、外部サーバーのメタデータサービスを通じてリアルタイムにメタデータを取得するため、DDL の作成は不要です。ユーザーは、プロジェクトと外部スキーマを名前空間として使用してソーステーブルを参照します。ソーステーブルの変更は即座に反映されます。マッピング階層は外部サーバーレベルからテーブルレベルに及び、認証されたアイデンティティがアクセス可能なスコープによって決まります。
-
外部プロジェクト
Data Lakehouse 1.0 では、外部プロジェクトはソースの Database (DLF_legacy/Hive) または Schema (Hologres) にマッピングする 2 層モデルを使用し、実行環境としてウェアハウスプロジェクトを必要としていました。その結果、外部プロジェクトが過剰に増えるという問題がありました。MaxCompute は外部の Catalog 階層に一致する 3 層モデルを採用したため、2 層の外部プロジェクトは段階的に廃止されます。既存ユーザーは外部スキーマに移行できます。移行の詳細については、「Migrate external projects to external schemas」をご参照ください。
新しい外部プロジェクトは、ソースの Catalog (DLF) または Database (Hologres) にマッピングされます。これにより、DLF Catalog 配下の Database、または Hologres Database 配下の Schema が直接公開されます。このマッピングされたレイヤーはマウントスキーマと呼ばれます。マウントスキーマ内のテーブルは、フェデレーテッド外部テーブルとしてアクセスされます。
|
データソースの種類 |
外部サーバー階層 |
外部スキーマのマッピング |
外部プロジェクトのマッピング |
レガシー Data Lakehouse 1.0 の外部プロジェクトのマッピング |
認証方式 |
|
DLF_legacy+OSS |
リージョンレベルの DLF および OSS サービス |
DLF Catalog.Database |
サポートされていません |
DLF Catalog.Database |
RAMRole |
|
Hive+HDFS |
E-MapReduce インスタンス |
Hive Database |
サポートされていません |
Hive Database |
認証なし |
|
Hologres |
Hologres インスタンスの Database |
Schema |
— |
サポートされていません |
RAMRole |
|
Hologres |
Hologres インスタンスの Database |
サポートされていません |
Database |
サポートされていません |
SLR と現在のユーザーのアイデンティティ認証 |
|
DLF |
リージョンレベルの DLF サービス |
サポートされていません |
DLF Catalog |
サポートされていません |
SLR と現在のユーザーのアイデンティティ認証 |
|
ファイルシステムカタログ |
OSS 上の Paimon Catalog レベルディレクトリ |
サポートされていません |
Paimon Catalog レベルディレクトリから解析された Catalog |
サポートされていません |
RAMRole |
データソースによっては、複数の認証方式をサポートします。MaxCompute は今後のリリースで、Hologres の現在のユーザーのアイデンティティや、Hive の Kerberos など、より多くの認証方式を追加します。