python读写磁盘扇区数据有什么用_磁盘扇区是否写入原子?

Wayne Conrad..

20

我认为撕裂的页面不是问题.据我所知,所有驱动器都有足够的电量存储,以便在电源故障时完成当前扇区的写入.

问题是每个人都撒谎.

至少当数据库知道事务何时被提交到磁盘时,每个人都会撒谎.数据库发出fsync,操作系统仅在所有未完成的写入已提交到磁盘时返回,对吧?也许不吧.通常,特别是对于RAID卡和/或SATA驱动器,您的程序会被告知所有已提交的内容(即fsync返回),但驱动器上尚未存在数据.

您可以尝试使用Brad的磁盘检查程序来确定您要用于数据库的平台是否能够在不丢失数据的情况下继续使用插件.底线:如果diskchecker失败,则该平台对于运行数据库是不安全的.具有ACID的数据库依赖于知道何时将事务提交到后备存储以及何时尚未提交.无论数据库是否使用预写登录,都是如此(如果数据库在没有完成fsync的情况下返回给用户,则在发生故障时可能会丢失事务,因此它不应声称它提供了ACID语义).

Postgresql邮件列表上有一个讨论持久性的长线程.它开始谈论SSD,但随后它进入了SATA驱动器,SCSI驱动器和文件系统.您可能会惊讶地发现您的数据可能会丢失.对于拥有需要持久性的数据库的人来说,这是一个很好的线程,而不仅仅是那些运行Postgresql的人.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值