1、数据库的ACID

        在数据库中,事务是要满足ACID的,即A: 原子性、C:一致性、I:隔离性、D:持久性。其中隔离性是最放松的一个,可以利用数据库锁的机制或者版本并控制机制获取更高的隔离级别,但是随着隔离级别的提高,数据的并发能力有所下降。因此如何在并行和隔离性之间做一个权衡是一个至关重要的问题。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

2、读数据出现的几种问题:

1) 脏读:当一个事务正在访问数据,并对数据进行了修改,但是该修改确未提交到数据库中,这时另外一个事务也访问这个数据,然后使用了这个修改的数据,那么读到的这个数据就是脏数据。

(读到了未提交的数据,解决方法:在写的时候加锁)

2)不可重复读:一次事务内的两次(多次)相同查询,查询到了不同的结果。(在读数据的时候加锁)

3)幻读:一次事务内多次查询返回的结果集不一样(比如增加了或者减少了行记录)。(串行化即可解决)。

脏读--------->不可重复读----------->幻读,事务的隔离性在不断提高,但是并行不断降低。

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄