增量日志信息

2020-09-07 11:42发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


更改(或添加/删除)记录在SAP Hana日志中。 因此,行/LOB表更改将被记录,但行存储更改也会被记录。

我到处都是为了更好地理解以下细节,但仍在努力

列存储更改是否同时记录在日志文件和增量日志中,因此增量日志保存在哪里? 只是在记忆中? 在数据区? 还是日志区域?

据我了解,三角洲地区并没有持续存在。 这是否意味着在重新启动增量时总是从增量日志中重新创建增量? 同样,增量日志是否仅用于推出增量合并失败?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


更改(或添加/删除)记录在SAP Hana日志中。 因此,行/LOB表更改将被记录,但行存储更改也会被记录。

我到处都是为了更好地理解以下细节,但仍在努力

列存储更改是否同时记录在日志文件和增量日志中,因此增量日志保存在哪里? 只是在记忆中? 在数据区? 还是日志区域?

据我了解,三角洲地区并没有持续存在。 这是否意味着在重新启动增量时总是从增量日志中重新创建增量? 同样,增量日志是否仅用于推出增量合并失败?

付费偷看设置
发送
2条回答
bbpeas
1楼-- · 2020-09-07 12:31

你好纽波特

还提供了一些背景知识。 您可以直接阅读突出显示的部分,并根据需要跳过其余部分。

HANA的目标是在同一数据管理系统中集成事务和分析工作负载。 在SAP业务应用程序的事务性工作负载中,所有语句的80%以上是读取访问权限。 其余的数据写操作主要包括插入,一些更新和非常少的删除。 分析工作量甚至更多地由读取决定。 因此,HANA的关系型内存列式存储针对此类企业工作负载进行了调整。

内存中处理将传统的面向行的事务型数据库设计与创新的面向列的设计相协调。 是分析的最佳选择。 这允许两种类型的工作负载在相同的操作数据上执行。 通过选择列式数据库,这种权衡有利于绝大多数读取访问。 由于快速的内存访问,因此对面向行的较小事务性工作负载的性能影响是可以接受的。

HANA通过在其列存储中实施广泛的压缩技术来优化对可用内存的利用。 当数据保持不变时,压缩将获得最佳回报,在这种情况下,压缩数据所花费的计算量将在更长的时间内得到利用。 但是,用于存储和处理压缩数据的最佳数据结构不是易于更新的,因为它们没有按顺序排列,并且需要始终对数据进行重新排序/重新组织。 由于存在这种数据处理难题,因此在分析和事务性工作负载均进行优化时,这被视为冲突。

HANA通过在每个列式表中使用两个表片段来解决上述冲突,这些表片段具有不同的存储组织:Main和Delta。

主要片段易于阅读,它包含大多数数据,并且很少更改。 它使用排序字典,N位和其他压缩技术。 增量片段对作者友好; 它包含数据的其余较小部分,仅使用未排序的字典和N位压缩。

对于主片段和增量片段,都使用专用的MVCC结构将快照隔离与数据分开实现。 您可以在此处中了解MVCC的工作方式。 查询访问增量和主要片段。 将所有新数据插入到增量片段中,并相应地修改MVCC结构。 当增量片段太大时,它将合并到主片段中,并创建一个新的空增量。 增量合并过程对读者和写作者都是不阻塞的。

增量合并操作的目的是将增量存储中收集的更改移动到经过读取优化的主存储中。 增量合并操作之后,主存储的内容将持久保存到磁盘。 如有必要,将重新计算并优化其压缩率。

增量合并操作的另一个结果是增量日志被截断。 增量存储结构本身仅存在于内存中,不会持久存储到磁盘中。 列存储为增量存储上执行的所有操作创建其逻辑重做日志条目。 此日志称为增量日志。 如果发生系统重新启动,则将重播日志条目以重建内存增量存储。 将增量存储中的更改合并到主存储中之后,增量日志文件将通过删除在合并操作之前写入的条目而被截断。

注意:您可以在SAP学习中心中可用的HA200中获取更多信息。

问候,

丹尼斯

三十六小时_GS
2楼-- · 2020-09-07 12:26

Hello Newport,

如上所述,列存储中的所有写事务都发生在增量存储中。 增量存储存在 仅在主存储器中。 因此,当我们谈论已记录在增量存储中的重做日志条目时,它称为增量日志。 插入增量条目时,仅增量日志条目会写入持久性层。

因此,增量日志是术语重做日志的子集。 仅当我们谈论增量存储中记录的更改时,才可以使用它。 因此,增量日志可以称为重做日志,但并非所有重做日志都称为增量日志。

在上面的答案中,如果您看到"列存储为在增量存储上执行的所有操作创建其逻辑重做日志条目。此日志称为增量日志。" 当我们谈论对表所做的更改时,通常会参考重做日志。 但是这里增量存储表(自己的结构)是列存储的一部分,因此为了将重做日志引用到增量存储表的这一特定部分,使用了增量日志项。

问候,

丹尼斯。

一周热门 更多>