明明只想查几列数据,数据库却把整行数据都拽进内存,结果内存爆了、查询慢了、并发没了。南大通用GBase 8a数据库(gbase database)的“晚期物化”技术,专门解决这个问题。

晚期物化的核心,就是“按需物化、精准控存”,用最小的代价跑完中间计算,只在最后一刻才打包数据。对于海量数据OLAP场景,这是GBase 8a区别于传统数据库的关键优势之一。本期内容我们继续解读这套“拆包延迟”的绝技。
4、 怎么用? 默认开启,参数可调
1. 默认自动启用
针对列存表,GBase 8a默认开启晚期物化,不用人工配置。行存表、小表、临时表会自动跳过。
2. 两个核心参数
结果集行数超过该值时,启用并行物化(快但占内存);否则串行物化(慢但省内存)。默认10000。
防止结果集过大导致内存溢出。默认极大值(128TB),基本不限制。
5、 最佳实践: 晚期物化+SQL优化,效果翻倍
1. 内存堆分配要合理晚期物化的中间计算主要消耗“计算堆”(gbase_heap_large),这块内存要管够。推荐比例(基于物理内存):
2. SQL写法要“抠门”
3. 高并发场景做好内存保护
6、 实战效果
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69979120/viewspace-3115712/ ,如需转载,请注明出处,否则将追究法律责任。