Hologres支持使用创建外部表的方式实现MaxCompute数据加速查询,当数据规模较大时(超过200 GB),您也可以将MaxCompute数据导入Hologres进行查询以获得更好的查询性能。
背景信息
大数据计算服务(MaxCompute)是一种快速、完全托管的EB级数据仓库,致力于批量结构化数据的存储和计算,提供海量数据仓库的解决方案及分析建模服务。
Hologres是兼容PostgreSQL协议的实时交互式分析引擎,与MaxCompute存储原生对接,支持使用创建外部表的方式实现MaxCompute加速查询,无冗余存储,无需导入导出数据,即可快速获取查询结果,采用标准PostgreSQL协议,无缝对接几乎所有主流BI工具。
为了获得更好的查询性能,您也可以导入数据至Hologres,再进行查询。相比其他非大数据生态产品,Hologres导入导出数据的速度性能更佳。
场景介绍
您可以根据业务特性和场景,选择查询方式:
在Hologres中直接查询MaxCompute的数据,详情请参见读取MaxCompute数据。
该方式适用于单次查询所需扫描的底层数据量小于200 GB,且一次查询命中的分区数少于512个的场景。
说明数据量小于200 GB指经过分区过滤后,命中分区的数据量大小,与查询字段的大小无关。设定扫描数据量的限制,是为了保障查询的稳定性。外表查询的原理是在运行时将MaxCompute数据的特定查询分区加载到Hologres的内存和缓存中完成计算,如果加载数据过多,会消耗更多网络带宽和计算资源,进而影响查询并发体验。
导入MaxCompute的数据至Hologres后再进行查询。该方式无扫描数据量限制,支持复杂查询,支持索引,支持UPDATE、INSERT、DELETE等操作。详情请参见使用SQL导入MaxCompute的数据至Hologres。
将Hologres数据回写至MaxCompute,详情请参见数据回写至MaxCompute。
功能详情
Hologres加速MaxCompute外部表支持的具体能力如下:
Hologres版本号 | 支持的能力 | 描述 |
V2.2.1 | 外部表自动加载支持MaxCompute Schema(三层模型)。 | Schema是MaxCompute介于项目和表、资源、函数之间的概念,对表、资源及函数进行进一步归类。外部表自动加载详情请参见外部表自动加载(Auto Load)。 |
外部表自动加载支持元数据自动刷新。 | 无 | |
外部表自动加载支持MaxCompute外部表Schema Evolution。 | 在MaxCompute侧执行过删除列、修改列顺序、修改列类型等操作的表。详情请参见外部表自动加载(Auto Load)。 | |
支持通过SLR访问MaxCompute数据。 | 服务关联角色(ServiceLinkedRole,简称SLR)是一种可信实体为阿里云服务的RAM角色,旨在解决跨云服务的授权访问问题,详情请参见Hologres服务关联角色。 | |
V2.1 | 支持对MaxCompute三层模型指定Schema下的表进行数据写入。 | Schema是MaxCompute介于项目和表、资源、函数之间的概念,对表、资源及函数进行进一步归类。详情请参见Schema。 |
支持通过HoloWeb可视化访问MaxCompute三层模型指定Schema下的表。 | 详情请参见创建外部表。 | |
V2.0 | 升级MaxCompute加速引擎为HQE,改善兼容性与稳定性。 | 无 |
V1.3 | 支持通过外部表方式查询MaxCompute的Transactional表。 | 无 |
支持读取MaxCompute Schema Evolution状态表。 | 在MaxCompute侧执行过删除列、修改列顺序、修改列类型操作的表。 | |
Hologres和MaxCompute之间交互支持双签名认证。 | 详情请参见创建Hologres外部表(双签名模式)。 | |
支持访问MaxCompute BYOK方式加密的表。 | 详情请参见查询MaxCompute加密数据(BYOK模式)。 | |
V1.1.43 | 支持外部表自动加载,实现MaxCompute外部表的按需自动加载以及全量自动加载。 | 详情请参见外部表自动加载(Auto Load)。 |
- 本页导读 (1)