字面上理解,就是通过跟更大的存储空间来换取查询报表等待的时间(传统数据库SQL的执行时间,BW QUERY执行报表的查询时间),将计算,汇总逻辑提前计算好,下沉到存储空间中,以此来达到大幅缩短查询时间的目的。
以下下结合传统数据库做出一些空间换时间在BW的体现
1.增长冗余表(计算汇总表)数据结构。
例如现在有一张到销售订单维度的表,现在需求是查看到公司级别的销售数据,可以新增一张表,按公司维度提前汇总好放入表中,会很大程度减少查询数据量,从这张公司表查询公司维度数据会节省很多时间。
类似BW中建模的不同层模型的一些汇总逻辑处理。
2.增长冗余字段(包括计算字段)框架。
将加减乘除之类的逻辑,或者按类似当月销售这类按时间汇总的字段,提前计算好,新增字段,放在表中,这样会减小业务逻辑计算和汇总时间。
类似BW集市层ADSO中,新增一些基于报表的特定字段,例如将 当月销售 当年销售 部门销售 这类字段,提前计算好下沉到ADSO中
3, 增长索引(包括计算索引)性能
索引是数据冗余的一种,也是将表中列的数据冗余出来,这样查询时就能够不用去查询表,而是经过索引来查询,会很大程度减少查询时间。
BW中ADSO也可以建立索引。
4.增长索引视图(物化视图)优化
咱们说的索引视图(物化视图),就是对须要查询关联的数据或汇总数据,预先经过实体表存放起来。这样查询时能够不去关联的表(表有时可能不少,数据量比较大),去直接去查询索引视图(物化视图)。
BW中有时候会使用的query落地,就是这种原理。
5,数据缓存操作系统
如将常常访问的表放到内存里,这样在内存中查询速度要比在硬盘速度快不少,类似BW/4 HANA的标准功能,冷热分层,将一些不常用的历史数据作为冷数据管理,不放在HANA的内存中,将经常使用的数据作为热数据放在HANA内存中。