Hologres V3.0 以降では、外部データベースがサポートされています。このトピックでは、外部データベースを使用して外部データソースのテーブルを管理し、内部テーブルと外部テーブルを使用してフェデレーテッドクエリを実装する方法について説明します。
背景情報
内部データとは、Hologres の標準ストレージクラスと低頻度アクセス(IA)ストレージクラスに格納されているデータを指します。外部データとは、MaxCompute および Data Lake Formation(DLF)データレイクに格納されているデータを指します。 Hologres は MaxCompute とシームレスに統合されています。 Hologres では、MaxCompute から直接データを読み書きして、高速データ交換を実装できます。また、Hologres では、DLF を使用して Object Storage Service(OSS)データレイクのデータを管理し、Hologres Query Engine(HQE)を使用して Apache Paimon、Hudi、Delta Lake などのデータレイクのデータの高パフォーマンスの読み取りと書き込みを実現することもできます。
外部データベースはグローバルに表示されます。 Hologres のデータベースに接続した後、ext_db.ext_schema.ext_table
形式で外部テーブルを指定することにより、外部データソースからデータを読み書きできます。また、外部データベースに接続して SQL ステートメントを実行し、Grand Unified Configuration(GUC)パラメーターを構成することもできます。
外部データベースの権限は、MaxCompute や DLF などの外部データソースによって管理されます。 Hologres は ID を外部データソースに渡すだけです。デフォルトでは、Hologres サービスリンクロールが ID パススルーに使用されます。外部データソースにアクセスする前に、必要な権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーを使用して、サービスリンクロールに権限を付与する必要があります。詳細については、「Hologres のサービスリンクロール」をご参照ください。 Hologres では、RAM ロールを使用して外部データソースにアクセスすることもできます。この方法では、外部データソースへのアクセス ポリシーをカスタマイズできます。詳細については、「RAM ロールの概要」をご参照ください。Alibaba Cloud アカウントまたは RAM ユーザーではないアカウント(BASIC アカウントなど)を使用する場合は、CREATE USER MAPPING
ステートメントを実行して、アカウントの関連付けと承認を実行できます。詳細については、「CREATE USER MAPPING」をご参照ください。
機能概要
外部データベース機能を使用すると、データを移行することなく、外部データソースから Hologres にメタデータをロードできます。この方法では、内部データと外部データを 1 つのシステムで管理できます。これにより、レイクハウスアーキテクチャでの統合メタデータ管理が実装されます。外部データのリアルタイム分析とクエリに基づいて、シームレスなデータ接続を実装できます。CREATE EXTERNAL DATABASE
ステートメントの使用方法については、「CREATE EXTERNAL DATABASE」をご参照ください。