数据库系统实现(数据脏读)

        对于数据的脏读的处理方式,在设计过程中,CACHE中的数据因为淘汰算法,有可能进行了更新,但是还有其他的TASK进行读写,一般的方式是使用串行化或读写锁的方式进行,对于高并发的系统来讲,性能会打折扣,为了更好地平衡性能和正确性的问题,可以采用少加锁的方式和允许脏读的操作,只是需要进行脏读的数据判断。

       标记法,通过修改计数器,或者关键数据修改的方式,在读实际数据前,读取标记,并记录下来,读数据放入新的缓存区,然后再读取标记,和前一次的数据记录进行比较,如果有变化,则可以判断数据有变化,数据有可能是脏数据,数据不可靠。如果比较相同,则可以判断数据未变化;

       标记判断法的标记,一定要在改数据前进行标记,区分两种状态,数据静止状态和写操作状态,写的过程中,将标记设置为写状态,此时读的任务读的数据一定会有问题,直接判断数据为脏数据,当标记为静止状态时,读的任务读数据也有能是脏数据,读的过程中,有写操作,数据校验码;

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值