OceanBase中的隔离级别和锁机制

悲观锁

 晓楚  23:32:10
ob有地方用到乐观锁机制吗
ob的隔离级是read committed?
xi  23:33:58
我不知道什么地方用了,实现事务用的是悲观锁。 
可以实现read commited,也可以是repeatable read,缺省是read commited  

Repeatable Read

晓楚  23:37:47
repeatable read现在实现上是以什么为代价
xi  23:38:29
在读一行的时候要加上写锁。 
晓楚  23:39:14
现在默认不加吗?
ps,郁白说现在ob锁一行的代价跟锁多行一样,怎么理解?
xi  23:45:06
read commited现在读的时候不加锁。 

悲观锁代价

晓楚  23:39:14
ps,郁白说现在ob锁一行的代价跟锁多行一样,怎么理解?
xi  23:46:46
不知道他是什么意思,锁本身没有什么开销,但是会阻塞别的事物。 
晓楚  23:47:38
锁为啥没开销
是因为不管锁不锁,反正数据结构都在那里吗
xi  23:50:10
内存就是八个字节,操作如果没有冲突就是一个或两个原子操作,比读一行或写一行的其他操作比起来不算什么,不过这也没测过,纯猜测。 

幻读

晓楚  23:51:26
幻读我们ob不处理吧?是不是至少用悲观范围锁才能避免
xi  23:52:26
不处理幻读,很可能一年内都不会去管幻读的问题。 
要避免幻读,是需要用范围锁。 

脏读

晓楚  23:54:52
在repeatable read级别下不会有脏读,但read committed下脏读还是可能的,right?
对于脏读,ob是什么态度?
xi  23:57:35
read commited级别也不允许脏读,脏读是读到没提交的数据,允许脏读其实没有什么实际用途。 
ob不可能读到未提交的数据。 
晓楚  23:59:09
嗯,你说得对。我理解错了。 

你可能感兴趣的:(分布式系统)