MaxCompute は、複数のデータレイク分析ソリューションを提供します。これらのソリューションは、データレイクの柔軟性と豊富なマルチエンジンエコシステムを、データウェアハウスのエンタープライズレベルの機能と組み合わせることで、データレイクとデータウェアハウスの間のギャップを埋め、統合されたデータ管理プラットフォームの構築を支援します。
データレイク分析とレイクハウスのオープンアーキテクチャ
データウェアハウスは、構造化データと半構造化データの管理とガバナンスを重視します。強力な管理機能により、より優れたコンピューティングパフォーマンスと、より標準化されたデータガバナンスが可能になります。
データレイクは、ストレージのオープン性とフォーマットの普遍性を重視します。オンデマンドでデータを生成または消費する複数のエンジンをサポートし、柔軟性を維持するために軽量な管理のみを提供し、非構造化データに対応し、データ管理のより柔軟なアプローチであるスキーマオンリードもサポートします。
そのため MaxCompute は、データウェアハウスとデータレイクの両方の長所を組み合わせたレイクハウスソリューションを導入しています。
データレイク分析
MaxCompute はデータレイクに接続してデータレイク分析を行うことをサポートし、以下の機能を提供します:
高性能かつコスト効率の高いバッチコンピューティングエンジンとして機能し、レイク上の他のエンジンと協調してデータを処理します。
データウェアハウスの管理機能をデータレイクに拡張し、より安全で制御しやすくします。
価値の高いデータをデータウェアハウスに集約します。
データウェアハウスと、データレイクやデータベースを含む複数の外部データソースにまたがって、フェデレーテッドコンピューティングを実行します。
レイクハウスのオープンアーキテクチャ
MaxCompute は、ビッグデータのストレージとコンピューティングの分離アーキテクチャ上にも構築されています。そのオープンなストレージ、オープンなメタデータ、およびマルチエンジンアーキテクチャは、以下の機能を提供するレイクハウスのオープンアーキテクチャを構成します:
レイク上でのメタデータの発見と管理
データウェアハウスのメタデータと MaxCompute が管理するレイクテーブルのメタデータの両方を外部のコンシューマーに公開する、統一されたメタデータビュー
MaxCompute エンジンと、MaxCompute のデータを消費するサードパーティエンジンの両方をサポートするオープンな MaxCompute ストレージ
MaxCompute のレイクハウスアーキテクチャ内のデータに対するマルチエンジンの読み書き操作を管理するメタデータ管理サービスとデータサービス。たとえば、これらのサービスは、複数のエンジンを介して同じレイクデータを操作する異なるユーザーアイデンティティの権限を制御し、書き込みタスクを調整し、いずれかのエンジンからのメタデータ更新が他のエンジンに即座に表示されるようにし、データ読み取りに関するプラットフォーム定義のルール (データマスキングなど) を適用し、オープンデータの自動メンテナンスと最適化 (自動コンパクションなど) をサポートすることで、エンジンがレイクデータをより効率的に使用できるようにします。
詳細については、「オープンレイクハウスアーキテクチャ」をご参照ください。
MaxCompute のデータレイク分析機能
MaxCompute のデータレイク分析とフェデレーテッドコンピューティングの機能は、外部データに対する管理の強さに応じて、最も弱いものから最も強いものへと、スキーマレスクエリ、外部テーブル、および管理されたレイクテーブルの順に配置されています。レイク上のメタデータ管理サービスは MaxCompute だけでなく、DLF やファイルシステムカタログ仕様などのサービスにも存在するため、MaxCompute は外部メタデータソースをマッピングしてデータ分析と処理を行うための外部スキーマおよび外部プロジェクトソリューションも提供します。
スキーマレスクエリ
機能:スキーマレスクエリを使用すると、MaxCompute SQL エンジンは、スキーマやパーティション情報を事前に定義することなく、OSS ディレクトリ内のデータ (Parquet、CSV、JSON ファイルなど) に直接アクセスできます。代わりに、サンプルデータを解析してメタデータ (Parquet ファイルに埋め込まれたスキーマ、CSV ヘッダー、自己記述的な JSON 構造など) を自動的に取得します。クエリ結果は OSS にエクスポートしたり、内部テーブルに書き込んだり、SQL 操作のサブクエリとして使用したりできるため、レイクデータに便利にアクセスできます。
外部テーブル
外部テーブルの概要では、DDL 文を使用して、MaxCompute の外部データにアクセスするために必要なテーブル名、スキーマ、テーブルプロパティ、権限、場所、およびプロトコルを定義します。この情報は MaxCompute のメタデータに保存されます。このメタデータに基づき、SQL エンジンは各外部テーブルのフォーマットに適した方法で外部データソースに接続し、メタデータの取得と更新、ならびにデータの読み取り、計算、書き込みが可能になります。
レイクテーブル
レイク上のデータが管理要件を確実に満たすようにするため、MaxCompute は管理フレームワークの下でレイクテーブルを提供します。レイクテーブルは、オープンなストレージサービスである OSS、オープンなレイクフォーマットである Iceberg、MaxCompute のオープンなメタデータサービス、データの読み書き用の Storage API、およびオープンソースのエンジンコネクタ上に構築されています。
レイクテーブルのスキーマとパーティション情報は Iceberg によって提供され、より柔軟なスキーマ進化を可能にします。
レイクテーブルのメタデータは MaxCompute のメタデータサービスに保存されます。MaxCompute エンジンとサードパーティエンジンは、データを読み取る際にメタデータサービスによって定義された統一ルールに従うことができ、書き込み操作によるメタデータの更新は、メタデータサービスを使用する他のエンジンに即座に表示されます。
レイクテーブルの管理には、統一された権限管理と基盤となるファイルのメンテナンスも含まれます。ネイティブなオープン性を必要とするユーザーのために、MaxCompute のレイクテーブルは、ネイティブの Iceberg REST Catalog メタデータサービスと、OSS に直接保存されている Iceberg スナップショットファイルへの読み取り専用アクセスをさらに提供します。
詳細については、「MaxComputeが管理するIcebergテーブル (ベータ)」をご参照ください。この機能は、2026 年 5 月 7 日 (UTC+8) に上海およびドイツリージョンで招待制プレビューとしてリリースされる予定です。
外部スキーマと外部プロジェクト
外部スキーマおよび外部プロジェクトと外部テーブルとの主な違いは、外部データのメタデータが MaxCompute 内に保存または維持されない点です。代わりに、外部データソースからリアルタイムで取得されます。ユーザーはまず、MaxCompute が外部データソースのメタデータサービス、データサービス、またはデータベースインスタンスにアクセスする方法を定義する管理オブジェクトを作成する必要があります。MaxCompute はその後、この管理オブジェクトを介してリアルタイムで外部メタデータを取得し、外部スキーマまたは外部プロジェクトのマッピングメカニズムを使用して、外部データソースの Catalog、Database、または Schema の範囲内にあるすべてのテーブルに直接アクセスします。
機能と主要概念
ネットワーク接続
詳細については、「ネットワーク接続プロセス」をご参照ください。MaxCompute は、ネットワーク接続を介して VPC 内のデータソース (E-MapReduce インスタンスや RDS インスタンス (近日公開予定) など) にアクセスできます。Data Lake Formation (DLF)、Object Storage Service (OSS)、および Hologres は Alibaba Cloud の相互接続ネットワーク内にあるため、MaxCompute は Networklink オブジェクトを設定することなく直接アクセスできます。
ネットワーク接続は、VPC 内のデータソースにアクセスする必要がある外部テーブル、外部スキーマ、および外部プロジェクトをサポートします。
外部サーバー
外部サーバーには、認証情報、場所情報、データソースシステムの接続プロトコルの詳細など、メタデータとデータアクセスの情報が含まれます。MaxCompute は、外部サーバーを介してデータソースのメタデータとデータに接続し、使用します。外部サーバーは、テナント管理者が定義するテナントレベルの管理オブジェクトです。
外部サーバーは、外部スキーマと外部プロジェクトをサポートします。将来的には、外部サーバーは徐々に Connection オブジェクトに移行し、テナントレベルからデータレベルのオブジェクトに移行して、レイクテーブルと外部スキーマをサポートするようになります。以前に外部サーバーに依存していた外部プロジェクトは、外部サーバー情報を外部プロジェクトに直接保存するようになり、新しい Connection オブジェクトには依存しなくなります。この移行はユーザーに対して透過的に行われます。
外部スキーマ
外部スキーマは、MaxCompute データウェアハウスプロジェクト内の特別なタイプのスキーマです。上の図に示すように、データソースの Database レベル (DLF_legacy または Hive シナリオ) または Schema レベル (Hologres シナリオ) にマッピングでき、マッピングされた Database または Schema の範囲内のテーブルとデータへの直接アクセスを提供します。MaxCompute メタデータで作成されず、代わりに外部スキーマを介してソーステーブルにマッピングされるテーブルは、フェデレーション外部テーブル (マウントテーブル) と呼ばれます。
フェデレーション外部テーブルはメタデータを MaxCompute に保存しません。代わりに、MaxCompute は外部サーバーで定義されたメタデータサービスを介してリアルタイムでメタデータを取得します。ユーザーは DDL 文で外部テーブルを作成することなくデータをクエリできます。単にプロジェクト名と外部スキーマ名を名前空間として使用して、ソーステーブル名を参照するだけです。ソーステーブルの構造やデータが変更されると、フェデレーション外部テーブルはすぐに最新の状態を反映します。外部スキーマによってマッピングされるデータソースの階層は、外部サーバーによって定義されたレベルとデータソースのテーブルレベルの間のシステム階層によって決定されます。外部サーバーのレベルは、認証されたアイデンティティがアクセスできるデータソースの階層によって決定されます。
外部プロジェクト
Data Lakehouse 1.0 ソリューションでは、外部プロジェクトは 2 層モデルを使用し、データソースの Database (DLF_legacy または Hive シナリオ) または Schema (Hologres シナリオ) にマッピングされ、外部データを読み取って計算するためのタスク実行環境としてデータウェアハウスプロジェクトが必要でした。しかし、プロジェクトレベルで Database または Schema をマッピングすると、外部プロジェクトの数が過剰になりました。MaxCompute は、外部データソースの 3 層の Catalog 階層に対応するために 3 層モデルでプロジェクトを構築することを推奨しているため、Data Lakehouse 1.0 の 2 層の外部プロジェクトは、新しい 3 層のデータウェアハウスプロジェクトでは使用が困難です。そのため、MaxCompute は Data Lakehouse 1.0 の外部プロジェクトを段階的に廃止しており、既存のユーザーはそれらを外部スキーマに移行できます。移行の詳細については、「外部プロジェクトの外部スキーマへの移行」をご参照ください。
データレイク分析では、新しい外部プロジェクトは、3 層データソースの Catalog (DLF シナリオ) または Database (Hologres シナリオ) に直接マッピングされ、DLF Catalog の下の Databases または Hologres Database の下の Schemas を直接公開します。この層も MaxCompute で作成されるのではなくマッピングされ、マウントスキーマ (Mounted 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 インスタンスのデータベース | Schema | — | サポートされていません | RAMRole |
Hologres | Hologres インスタンスのデータベース | サポートされていません | Database | サポートされていません | SLR および現在のユーザーアイデンティティ認証 |
DLF | リージョンレベルの DLF サービス | サポートされていません | DLF Catalog | サポートされていません | SLR および現在のユーザーアイデンティティ認証 |
Filesystem Catalog | OSS 上の Paimon Catalog レベルのディレクトリ | サポートされていません | Paimon Catalog レベルのディレクトリから解析された Catalog | サポートされていません | RAMRole |
データソースによって、サポートされる認証方法は異なります。MaxCompute は、Hologres アクセスに対する現在のユーザーアイデンティティ認証や Hive アクセスに対する Kerberos 認証など、将来のリリースで追加の認証方法を段階的に提供する予定です。