基于External Database加速查询MaxCompute数据

Hologres从V3.0版本开始支持外部数据库(External Database)功能,通过外部数据库可以管理外部数据源中的表,并实现内外表的联邦查询。

背景信息

内部数据是指存储于Hologres标准存储和低频访问存储中的数据,外部数据当前支持存储于MaxCompute和DLF数据湖上的数据,Hologres与MaxCompute无缝互通,通过直读直写MaxCompute存储实现仓内数据高速交换,通过阿里云数据湖构建(Data Lake Formation,以下简称DLF)来管理OSS数据湖数据,使用自研HQE引擎来实现Paimon、Hudi、DeltaLake等湖上数据的高性能读写。

External Database是全局可见的,即在Hologres中登录任意Database均可以通过引用ext_db.ext_schema.ext_table的方式实现外部数据源的读写,同时也支持直接连接到外部数据库,在该库中执行各种SQL及设置GUC。

EXTERNAL DATABASE的权限全部由外部系统(如MaxCompute、DLF)来控制,Hologres仅做身份透传。用户访问External Database,默认使用服务关联角色(以下简称SLR)进行身份透传,您需要在访问外部数据源之前使用主账号或者有权限的子账号完成SLR授权,详情请参见Hologres服务关联角色。同时Hologres支持使用RAMRole的方式访问外部数据源,方便您自定义外部访问策略,详情请参见RAM角色概览;对于非阿里云账号和RAM账号,如Hologres BASIC账号,Hologres提供CREATE USER MAPPING来实现账号绑定和授权,详情请参见CREATE USER MAPPING

功能介绍

External Database功能支持在无需进行数据迁移的情况下,将外部数据源的元数据加载至Hologres。这一功能便于在一个系统中同时管理内部与外部数据,实现湖仓一体架构下的统一元数据管理。同时,通过实时分析与查询外部数据,实现数据的无缝对接。关于CREATE EXTERNAL DATABASE使用详情,请参见CREATE EXTERNAL DATABASE