数据仓库服务 GaussDB(DWS)-降低I/O的处理方案:场景1:列存小CU膨胀
场景1:列存小CU膨胀
某业务SQL查询出390871条数据需43248ms,分析计划主要耗时在Cstore Scan。
Cstore Scan的详细信息中,每个DN扫描出2w左右的数据,但是扫描了有数据的CU(CUSome)155079个,没有数据的CU(CUNone)156375个,说明当前小CU、未命中数据的CU极多,即CU膨胀严重。
触发因素:对列存表(尤其是分区表)进行高频小批量导入会造成CU膨胀。
处理方法
- 列存表的数据入库方式修改为攒批入库,单分区单批次入库数据量需大于DN个数*6W。
- 如果因业务原因无法攒批入库,则需定期VACUUM FULL此类高频小批量导入的列存表。
- 当小CU膨胀很快时,频繁VACUUM FULL也会消耗大量I/O,甚至加剧整个系统的I/O瓶颈,此场景建议修改列存表为行存表(CU长期膨胀严重的情况下,列存的存储空间优势和顺序扫描性能优势将不复存在)。
- DWS产品介绍_DWS产品优势_DWS功能_DWS使用场景_DWS是什么
- 数据库监控DMS_数据库智能运维_了解Auto Pilot_DMS_DWS节点监控
- GaussDB底层硬件_gaussdb介绍_高斯数据库底层硬件_华为云
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- 什么是弹性资源池_数据湖探索DLI弹性资源池
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- 如何进行日志采集和转储_日志平台_日志接入_日志转储
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- GAUSS(DWS)工具_gsql工具_DataStudio工具_DSC工具