数据库的CAP原则, 要实现完整的C,AP择一要损失。分布式,也就是P要保留,那A就要损失了。也就是可用性要损失。
我们经常看到的区块链,就是一个巨大无比的一致性分布式数据库,为了满足比特币交易的场景,必须满足较高的一致性。但这样,比特币的交易非常慢,TPS只能有20~30左右。
一般而言,分布式数据库用2pc和3pc来保证一致性,但这种一致性,说实话,太弱了。 一旦高并发,就扛不住了。所以,现代做的成功的分布式数据库是raft或multi raft架构,raft架构是paxos的简化版,Paxos算法,是世界上少数几个人才能真正看懂的算法,反正我是看不懂。但raft算法比较简单。
在etcd和tidb中,raft算法被成功使用。
1、分布式数据库的读写事务一致性的实现后的吞吐能力和响应时间,可见银行核心系统性能测试效果:
分布式事务数据库产品HotDB Server v2.5.5单计算节点模式_银行核心系统转账场景性能测试报告_20200229
https://www.talkwithtrend.com/Document/detail/tid/433445
2、读写事务的一致性如何保证:需要分布式数据库的计算引擎和存储引擎双向配合实现分布式事务的ACID特性的,尤其是计算引擎的事务相关的算法模型
收起