All Products
Search
Document Center

Hologres:BUAT DATABASE EKSTERNAL

Last Updated:Mar 13, 2026

Hologres V3.0 dan versi yang lebih baru mendukung database eksternal. Topik ini menjelaskan konsep database eksternal serta cara menggunakannya untuk mengelola tabel di sumber data eksternal dan menjalankan kueri federasi pada tabel internal dan eksternal.

Informasi latar belakang

Anda dapat menggunakan pernyataan CREATE EXTERNAL DATABASE untuk membuat database eksternal dalam instans Hologres dan memuat metadata dari sumber data eksternal. Hal ini memungkinkan pengelolaan data internal dan eksternal dalam satu sistem serta mencapai manajemen metadata terpadu dalam arsitektur danau data terpadu (data lakehouse).

Data internal disimpan di Hologres menggunakan penyimpanan Jenis Penyimpanan Standar dan Akses Jarang. Sumber data eksternal yang didukung meliputi MaxCompute dan danau data Data Lake Formation (DLF). Hologres terintegrasi secara mulus dengan MaxCompute, memungkinkan pertukaran data berkecepatan tinggi dalam gudang data dengan membaca dan menulis langsung ke penyimpanan MaxCompute. Hologres menggunakan Alibaba Cloud Data Lake Formation (DLF) untuk mengelola data dalam danau data OSS. Selain itu, Hologres memanfaatkan mesin High-QPS Engine (HQE) buatan sendiri untuk mencapai pembacaan dan penulisan berkinerja tinggi pada format danau data seperti Paimon, Hudi, dan DeltaLake.

Database eksternal bersifat global—artinya Anda dapat mengakses dan menulis ke sumber data eksternal dari database mana pun di Hologres dengan mereferensikan ext_db.ext_schema.ext_table. Anda juga dapat terhubung langsung ke database eksternal untuk menjalankan berbagai pernyataan SQL dan mengatur parameter Grand Unified Configuration (GUC).

Izin untuk database eksternal sepenuhnya dikendalikan oleh sistem eksternal, seperti MaxCompute atau DLF. Hologres hanya melakukan transmisi identitas (identity pass-through). Saat pengguna mengakses database eksternal, peran terkait layanan (SLR) digunakan untuk transmisi identitas secara default. Sebelum mengakses sumber data eksternal, Anda harus memberikan izin yang diperlukan kepada SLR melalui Akun Alibaba Cloud atau Pengguna RAM yang berwenang. Untuk informasi selengkapnya, lihat Peran terkait layanan Hologres. Hologres juga mendukung penggunaan Peran RAM untuk mengakses sumber data eksternal, sehingga Anda dapat menyesuaikan kebijakan akses eksternal. Untuk informasi selengkapnya, lihat Ikhtisar Peran RAM. Untuk akun non-Alibaba Cloud dan Pengguna RAM, seperti akun Hologres BASIC, Hologres menyediakan pernyataan CREATE USER MAPPING untuk menerapkan pengikatan akun dan otorisasi. Untuk informasi selengkapnya, lihat CREATE USER MAPPING.

Prasyarat

  • Aktifkan akselerasi danau data untuk instans tersebut di halaman Daftar Instans atau Detail Instans di Konsol Hologres. Untuk melakukannya, temukan instans target, klik Data Lake Acceleration di kolom Actions, lalu klik Confirm di kotak dialog yang muncul.

  • Anda telah mengaktifkan DLF. Untuk informasi selengkapnya, lihat Quick Start. Informasi mengenai wilayah tempat DLF tersedia dapat ditemukan di Wilayah dan titik akhir yang tersedia.

  • Jika Anda menggunakan DLF V1.0, Anda juga harus mengaktifkan OSS dan menyelesaikan otorisasi yang diperlukan. Untuk mengakses data OSS melalui tabel eksternal, akun harus memiliki izin akses OSS yang sesuai. Jika tidak, Anda tidak dapat mengkueri data meskipun tabel eksternal berhasil dibuat. Untuk informasi selengkapnya tentang otorisasi OSS, lihat Bucket Policy (Java SDK V1).

  • (Opsional) Untuk menggunakan fitur OSS-HDFS, Anda harus mengaktifkan layanan OSS-HDFS. Untuk informasi selengkapnya, lihat Aktifkan layanan OSS-HDFS.

Batasan

  • Akun yang menjalankan perintah ini harus memiliki izin Superuser.

  • Saat Anda masuk ke database internal, Anda dapat mengakses tabel di database eksternal dengan menentukan path lengkap ext_db.ext_schema.ext_table. Namun, Anda tidak dapat mengakses tabel di database internal saat terhubung ke database eksternal.

  • Saat pemetaan dibuat dengan sumber data eksternal melalui database eksternal, Hologres secara default menyimpan cache metadata selama 5 menit untuk meningkatkan kinerja akses. TTL (Time to Live) cache tersebut tidak dapat disesuaikan.

  • Saat sumber data eksternal adalah MaxCompute, hanya proyek MaxCompute internal yang didukung. Proyek eksternal tidak didukung.

Sintaksis

Sumber data MaxCompute

Sintaksis

CREATE EXTERNAL DATABASE <ext_database_name> WITH 
  metastore_type 'maxcompute'
  mc_project 'project_name' 
  [comment 'xxx'];

Parameter

Nama Parameter

Deskripsi

Wajib

Nilai default

metastore_type

Jenis metastore dari sumber data eksternal. Untuk sumber data MaxCompute, nilai ini harus diatur ke maxcompute. Nilainya tidak peka huruf besar/kecil.

Ya

Tidak ada

mc_project

Nama proyek MaxCompute yang akan dipetakan. Hanya proyek MaxCompute internal yang didukung.

Ya

Tidak ada

comment

Deskripsi database.

Tidak

Tidak ada

Sumber data DLF

Sintaksis

Sintaksis DLF
Catatan
  • DLF saat ini hanya mendukung mode penyimpanan terkelola. Saat Anda menggunakan pernyataan CREATE EXTERNAL DATABASE untuk membuat pemetaan metadata, Anda hanya perlu menentukan parameter terkait DLF.

  • DLF saat ini hanya mendukung pembuatan katalog Paimon. Saat membuat pemetaan metadata di Hologres, Anda harus mengatur parameter `metastore_type` ke dlf-paimon.

  • Dalam mode penyimpanan terkelola DLF, Hologres mendukung dua metode autentikasi pengguna: SLR dan Peran RAM. Secara default, transmisi identitas dengan SLR digunakan. Anda harus terlebih dahulu memberikan izin kepada peran terkait layanan (AliyunServiceRoleForHologresIdentityMgmt). Untuk informasi selengkapnya, lihat Peran terkait layanan Hologres. Untuk menggunakan Peran RAM guna menentukan kebijakan akses, Anda dapat menggunakan pernyataan CREATE USER MAPPING. Untuk informasi selengkapnya, lihat CREATE USER MAPPING.

CREATE EXTERNAL DATABASE <ext_database_name> WITH
  catalog_type 'paimon'
  metastore_type 'dlf-rest'
  dlf_catalog '<dlf_catalog_name>' 
  [comment 'xxx']; 
Sintaksis DLF V1.0
Catatan
  • DLF V1.0 mendukung penyimpanan OSS kustom dan format danau data tambahan seperti Paimon, Hudi, DeltaLake, ORC, Parquet, dan CSV. Untuk informasi selengkapnya, lihat Akselerasi danau data.

  • Untuk membuat database eksternal berbasis DLF V1.0, Anda harus mengatur parameter `metastore_type` ke `dlf` dan menyediakan titik akhir serta Pasangan Kunci Akses (AccessKey pair) untuk DLF dan OSS.

  • DLF V1.0 tidak mendukung autentikasi pengguna menggunakan SLR atau Peran RAM.

CREATE EXTERNAL DATABASE <ext_database_name> WITH
  metastore_type 'dlf'
  dlf_region ' ' 
  dlf_endpoint ' '
  dlf_catalog ' ' 
  oss_endpoint ''
  [comment 'xxx']; 

Parameter

Nama Parameter

Wajib

Deskripsi

metastore_type

Ya

Jenis metastore dari sumber data eksternal.

  • Untuk sumber data DLF V1.0, nilai ini harus diatur ke "dlf".

  • Untuk sumber data DLF, formatnya adalah "dlf-xxx". Saat ini, hanya tipe "dlf-paimon" yang didukung.

catalog_type

Ya

Format tabel danau dari sumber data eksternal yang akan dipetakan.

  • DLF V1.0: Mendukung format seperti Paimon, Hudi, DeltaLake, ORC, Parquet, CSV, dan SequenceFile.

  • DLF: Saat ini, hanya format tabel Paimon yang didukung.

Catatan

Anda tidak perlu menentukan `catalog_type` untuk DLF V1.0.

dlf_region

Ya

Wilayah tempat layanan DLF berada. Formatnya adalah <negara>-<wilayah>, misalnya cn-beijing. Untuk informasi selengkapnya tentang wilayah yang didukung DLF, lihat

Wilayah dan titik akhir yang tersedia.

dlf_endpoint

Ya

Titik akhir yang digunakan oleh MaxCompute dan Hologres untuk mengakses DLF melalui jaringan internal. Formatnya adalah dlf-share.<negara>-<wilayah>.aliyuncs.com. Untuk informasi selengkapnya, lihat Wilayah dan titik akhir yang tersedia.

dlf_catalog

Ya

Katalog data tempat sumber data DLF berada.

dlf_access_id

Ya

ID AccessKey dari Akun Alibaba Cloud yang digunakan untuk mengakses DLF.

dlf_access_key

Ya

Rahasia AccessKey dari Akun Alibaba Cloud yang digunakan untuk mengakses DLF.

oss_endpoint

Ya

Titik akhir yang digunakan untuk mengakses OSS:

  • Untuk penyimpanan OSS native, kami menyarankan Anda menggunakan titik akhir internal OSS untuk kinerja akses yang lebih baik.

  • OSS-HDFS saat ini hanya mendukung akses jaringan internal. Untuk informasi tentang cara memperoleh nama domain, lihat Memperoleh nama domain layanan OSS-HDFS.

oss_access_id

Ya

ID AccessKey dari Akun Alibaba Cloud yang digunakan untuk mengakses OSS.

oss_access_key

Ya

Rahasia AccessKey dari Akun Alibaba Cloud yang digunakan untuk mengakses OSS.

comment

Tidak

Deskripsi database.

Operasi terkait

Lihat semua database eksternal dalam suatu instans

SELECT database_name, options FROM hologres.hg_external_databases();

Refresh metadata eksternal

REFRESH CACHE FOR EXTERNAL DATABASE <EXT_DB_NAME> WITH( cache_level = 'metadata');

Ubah interval refresh metadata

  • Secara default, parameter `metadata_refresh_interval_sec` mengontrol interval pembaruan penuh untuk satu node antarmuka depan (FE). Pembaruan ini mencakup daftar skema, daftar tabel, dan seluruh metadata tabel. Nilai default `metadata_refresh_interval_sec` adalah 7.200 detik. Anda dapat menggunakan pernyataan SQL berikut untuk mengubah interval refresh:

ALTER EXTERNAL DATABASE <EXT_DB_NAME> WITH metadata_refresh_interval_sec 1800;

Contoh penggunaan

Sumber data MaxCompute

Catatan

Setelah Anda membuat database eksternal di Hologres untuk proyek MaxCompute yang menggunakan model dua lapis, proyek tersebut secara default ditampilkan dalam struktur tiga lapis: ext_db.ext_schema.mc_table. Saat mengkueri tabel, Anda juga harus menggunakan sintaksis tiga lapis ini. Nama skema adalah default. Contohnya: SELECT xxx FROM ext_db.default.mc_table.

-- Buat database eksternal.
CREATE EXTERNAL DATABASE ext_database_mc WITH 
  metastore_type 'maxcompute'
  mc_project 'mc_3_layer_project' 
  comment 'mc three layer project';
  
-- Kueri data.
SELECT * FROM ext_database_mc.mc_schema.mc_table;

Sumber data DLF

DLF

-- Buat database eksternal.
CREATE EXTERNAL DATABASE ext_database_dlf WITH
  metastore_type 'dlf-rest'
  catalog_type 'paimon'
  dlf_catalog 'dlf_paimon_catalog' 
  comment 'DLF paimon catalog'; 

-- Kueri data.
SELECT * FROM ext_database_dlf.dlf_db.paimon_table;

DLF V1.0

-- Buat database eksternal.
CREATE EXTERNAL DATABASE ext_database_dlf1 WITH
  metastore_type 'dlf'
  dlf_region 'cn-beijing' 
  dlf_endpoint 'dlf-share.cn-beijing.aliyuncs.com'
  dlf_catalog 'hive_catalog' 
  oss_endpoint 'oss-cn-beijing-internal.aliyuncs.com'
  comment 'DLF1.0 hive catalog'; 

-- Buat pemetaan pengguna untuk pengguna saat ini.
CREATE USER MAPPING FOR current_user
EXTERNAL DATABASE ext_database_dlf1
OPTIONS
  (
      -- Untuk DLF V1.0
      dlf_access_id 'LTxxxxxxxxxx',
      dlf_access_key 'y8xxxxxxxxxxxxx',
      oss_access_id 'LTxxxxxxxxxx',
      oss_access_key 'y8xxxxxxxxxxxxx'
  );

-- Kueri data.
SELECT * FROM ext_database_dlf1.dlf_db.hive_table;