如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
yangjianxv: @overtop 首先需要说明的是,例子中提到的log,是应用的log,不是OS的log。 内存缓冲区中数据是直接刷入存储设备。至于存储设备是放在buffer上,还是直接进磁盘那是存储的事情了。 操作系统在内存中会分配一些page(分页)做缓存。aix上叫非计算内存或者持久内存,linux上对标的是buffer/cache。这类内存分页的作用只是起到减少磁盘IO的作用。如果这个page的内容和磁盘上的那个block一模一样,随时可以被清理。如果这个内存page的内容被修改过,则需要刷入磁盘。没有类似oracle的redo undo。这一点需要从oracle的机制来解释为什么OS的缓存没有这一套。oracle 的redo是为了交易前滚,undo是为了交易回滚,而os的buffer不需要这一套。
关于TWT使用指南社区专家合作厂商入驻社区企业招聘投诉建议版权与免责声明联系我们 © 2024talkwithtrend — talk with trend,talk with technologist京ICP备09031017号-30
添加新评论2 条评论
2016-12-29 16:14
yangjianxv: @overtop 首先需要说明的是,例子中提到的log,是应用的log,不是OS的log。 内存缓冲区中数据是直接刷入存储设备。至于存储设备是放在buffer上,还是直接进磁盘那是存储的事情了。 操作系统在内存中会分配一些page(分页)做缓存。aix上叫非计算内存或者持久内存,linux上对标的是buffer/cache。这类内存分页的作用只是起到减少磁盘IO的作用。如果这个page的内容和磁盘上的那个block一模一样,随时可以被清理。如果这个内存page的内容被修改过,则需要刷入磁盘。没有类似oracle的redo undo。这一点需要从oracle的机制来解释为什么OS的缓存没有这一套。oracle 的redo是为了交易前滚,undo是为了交易回滚,而os的buffer不需要这一套。
2016-12-29 15:50