关系数据库的封建迷信
我理解这篇文章总体意思是:
现在进入多核时代,只要是运行在多核上多用户同时读写都回避不了分布式和并发这两个课题。我们不能因为我们熟悉关系数据库,就对之产生100%信任,其实MySQL 这些关系数据库在处理分布式 并发以及一致性上非常复杂,而且有问题在其中,会打折扣。
比如缺省设置READ COMMITTED隔离级别其实并不能带来真正高一致性,而REPEATABLE READ类似于串行序列化,拒绝并行计算,严重浪费多核资源。
所以,这些数据库其实要么是使用类似加锁技术实现事务,这种类似Java中同步锁等应用一样,这种锁的多线程并发很差;要么是使用一种类似最终一致性的READ COMMITTED,也并不能给你真正高一致性。
与其接受传统关系数据库教廷式的洗脑,不如打开这个盒子,实现Out-of-box,NoSQL是这种尝试,DDD和CQRS也是这种尝试,将分布式和并发主动权掌握在开发人员自己手里,而不是打破脑袋搜集各种关系数据库资料,拜山各种关系数据库牛人,这种行为才是真正封建迷信呢。
什么是真正封建迷信?就是自己无法或不愿主动研究自然的秘密,期待牛人大牛为自己指点迷路,迷信于一些牛人的神奇“智力”,缺乏对自己的自信。
[该贴被banq于2014-12-10 08:47修改过]