HANA数据库中对列存储数据处理-Delta Merge

这个知识点很有意思。
在HANA的BWSchema下找一个表看看:
在这里插入图片描述
这个表是column store。
对于写操作进行了delta merge。

首先呢,这些都是基于列式存储的:列式存储.
从上面看出来,列式存储比较好读。但是不好写,不好更新啥的。
所以,内存式列存储有两个存储空间,有一个main storage, 还有个小的delta storage。
当你去读一个表,你会从main和delta里面去读。这个呢是后台HANA数据库自己搞的。那么从delta到main的这个过程也是后台数据库自己搞得。

那么delta merge是干啥的呢?是来把delta store里面的更改给传到main store里面的。
啥个意思呢?首先呢,会有个检查,来看看delta merge是不是需要。如果这个delta store空间阈值到了,那么呢在这个delta store里面就会进行个delta merge。
也就是说当有个读操作来的时候,数据会从main store和delta store里面读取,而且结果集会被merge。

在这里插入图片描述
这个操作在哪里?

  1. 在DTP的update页里。当你的DTP请求被成功执行。这个操作就来执行delta merge了。这个复选框实际上是默认勾选的。
    如果你不在这里选,那么要在处理链搞。
    在这里插入图片描述
    如果你说你不选呢?那么这个delta就会保留在这个delta store table里面。这个delta store和其他的HANA 表一样,是有20亿条的限制的。
    *** 待续

Guess you like

Origin blog.csdn.net/weixin_45689053/article/details/120511202