使用动态表自动刷新数据和加速查询
动态表 (Dynamic Table) 是一种类似于物化视图的特殊数据库对象,具有自动刷新和查询加速的特性。Apache Cloudberry 引入动态表功能,旨在提供更高效、更灵活的查询处理和数据更新。
动态表支持由基础表、外部表、物化视图等构建,且具有自动更新的功能。用户可以通过定义调度任务来自动刷新动态表数据,确保数据始终保持最新。
使用场景
动态表主要适用于以下几种场景:
- 为湖仓架构加速查询:对于使用湖仓架构的客户,动态表可以将外部表查询自动替换成在动态表上的查询,提升查询性能。
- 自动数据刷新:在需要定期更新数据的场景下,动态表可通过设定自动刷新任务来避免人工干预。
- 实时数据分析:适合需要频繁查询最新数据且对数据刷新要求较高的应用场景,如金融分析、运营监控等。
与物化视图的对比
动态表与自动使用物化视图回答查询(AQUMV)的区别如下:
特性 | 动态表 | AQUMV |
---|---|---|
用途 | 自动刷新的特殊表,处理数据流水线,简化 ETL | 利用物化视图提高查询效率,自动改写查询 |
组成与结构 | 可由普通表、外部表、物化视图等组成 | 基于物化视图,通常针对单个表 |
查询改写能力 | 不支持 | 支持单表改写 |
数据刷新机制 | 可通过 SQL 定义自动刷新周期 | 需要手动刷新物化视图数据 |