Hana日志缓冲区和段

2020-08-24 15:38发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在努力了解hana手术的技术...

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

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


我正在努力了解hana手术的技术细节。 我有一些疑问:

1)我了解hana日志缓冲区(驻留在内存中)和logsegment(驻留在日志卷中)。 日志详细信息从内存缓冲区写入日志段。

很多时候,当hana日志已满时,SAP建议我增加logshipping_async_buffer_size(默认为64MB)。 我无法得知为什么此缓冲区大小将阻止生成日志段(默认为1 GB)。 有人可以帮我理解吗?

2)日志记录的最大数量为10240。日志缓冲区计数是否也有类似的参数?

3)从logshipping_async_buffer_size( https://help.sap .com/viewer/6b94445c94ae495c83a19646e7c3fd56/2.0.03/en-US/0cd257970d514abd8ddf9ee1f45f3bca.html ),"日志编写器首先将日志缓冲区复制到中间内存缓冲区中并继续进行处理。一个单独的线程从中读取日志缓冲区。 内存缓冲区,并将它们通过网络异步发送到辅助站点"

为什么要复制到中间存储器?

4)对于HSR,它是日志缓冲区,它已被运送,保留并在次要位置重播到内存中。 线程读取内存缓冲区(或日志缓冲区,但不读取日志段数据),然后发送到辅助缓冲区。 为什么不将日志分段发送到辅助站点?

6条回答
95年老男孩
2020-08-24 16:19

重做日志(又名日志缓冲区)

为确保在出现故障时零数据丢失的情况下恢复数据库,SAP HANA以所谓的重做日志条目的形式记录每个事务。 每个SAP HANA服务都分别编写其自己的重做日志文件。 典型的块写入大小范围为4KB至1MB。 在写事务期间,对数据的所有更改都会记录在重做日志中。 HANA以4 KB到1 MB大小的I/O顺序将重做日志异步保存到日志卷(在磁盘上)的日志段文件中。 将提交写入重做日志的事务将等待,直到包含提交的缓冲区已写入日志卷。 为了使日志卷不满,将在日志段已满时(取决于它们的logsegment_size_mb)或在特定时间间隔后进行备份。 这是一个非常基本的数据库概念!

logshipping_async_buffer_size与这无关!! 该特殊缓冲区仅在以复制方式ASYNC运行的 SAP HANA系统复制中起作用。 在SAP HANA系统复制中,上述重做日志(在写事务期间创建)总是立即发送到辅助系统(除了在日志卷中保留在主系统上)。 根据复制模式(SYNC,SYNCMEM或ASYNC),辅助节点会确认到达主系统的重做日志的收件人(例如,请在此处检查有关复制模式的详细信息: https://www.sap.com/documents/2017/07/606a676e- c97c-0010-82c7-eda71af511fa.html )。

在ASYNC系统复制中,主服务器不等待辅助服务器确认重做日志的到来。 在ASYNC复制模式下,日志编写器首先将重做日志缓冲区复制到中间存储缓冲区(大小为logshipping_async_buffer_size),然后继续在主数据库上处理写事务。 一个单独的线程从此中间内存缓冲区中读取日志缓冲区,并将它们通过网络异步发送到次级。 在此设置中,主服务器仅保持工作状态,而无需等待辅助服务器的确认。 然后,从该内存缓冲区中将重做日志异步发送到网络到辅助站点。 参数logshipping_async_buffer_size确定可以中间缓冲多少日志。 该缓冲区在高峰时间特别有用。 在主站点上生成日志比发送到辅助站点上更快的日志。 如果缓冲区很大,则可以在更长的时间内处理峰值。

一周热门 更多>