(1)什么是事务隔离级别可串行化

事务隔离级别,就是为了解决解决隔离级别中“脏读可能性、不可重复读可能性、幻读可能性、加锁读”的问题。事务隔离级别越高,在并发下会产生的问题就越少,但同时付出的性能消耗也将越大,因此很多时候必须在并发性和性能之间做一个权衡。
所以设立了几种事务隔离级别,以便让不同的项目可以根据自己项目的并发情况选择合适的事务隔离级别,对于在事务隔离级别之外会产生的并发问题,在代码中做补偿。

(2)为什么需要做到事务隔离级别可串行化

事务隔离级别有4种 ,串行化是最高的事务隔离级别,可以解决多个问题。
a)读未提交
读未提交,即能够读取到没有被提交的数据,所以很明显这个级别的隔离机制无法解决脏读、不可重复读、幻读中的任何一种,因此很少使用。
b)读已提交
读已提交,即能够读到那些已经提交的数据,自然能够防止脏读,但是无法限制不可重复读和幻读。
c)重复读取
重复读取,即在数据读出来之后加锁,明确数据读取出来就是为了更新用的,所以要加一把锁,防止别人修改它。这样就解决了脏读、不可重复读的问题,但是幻读的问题还是无法解决。
d)串行化
串行化,最高的事务隔离级别,不管多少事务,按顺序运行完一个事务的所有子事务之后才可以执行另外一个事务里面的所有子事务,这样就解决了脏读、不可重复读和幻读的问题了。

(3)Hubble硬核技术价值

a)无需关心锁表的问题;
b)支持最高的事务级别,可以保证数据一致性足够安全;
c)性能上支持百万级的QPS。

分类: 硬核技术