NewSQL 的分布式事务
NewSQL 的分布式事务
以
那么从
-
首先我们看
C (一致性) ,这是数据库类的应用必须具备的。只要数据写入了,后续的读,一定能获取到最新写入的结果。你可以想象如果不是这样,那么你的应用处理关键事务如订单时,如果读到的结果不是最新的,那么你就无法确定订单的当前准确状态,就无法进行正确处理,更无从谈起ACID 特性。 -
然后我们看
P (分区) ,只要是分布式系统,那么P 就是必然有概率发生的,因此P 是分布式系统必须处理,必须具备的特性。 -
最后我们再看
A (可用性) ,由于架构的发展,系统出现网络分区的频率可以大幅降低。另外分布式共识算法的发展,可以在较短的时间,正确的达成共识,从而从分区故障中恢复。谷歌分布式锁Chubby 的公开数据显示,集群能提供99.99958 %的平均可用性,一年也就130s 的运行中断。这样的可用性相当高,对实际应用的影响微乎其微。
也就是说随着现代工程和共识算法的发展,可以构造出满足