本文主要是介绍分布式9:CAP和BASE理论,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
-
分布式数据库CAP理论
CAP
C:Consistency(强一致性)
更新操作成功并返回客户端完成后,所有节点在同一时间的数据完全一致。
A:Availability(可用性)
服务一直可用,而且是正常响应时间。
P:Partition tolerance(分区容错性)
分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务。
CAP的3进2
CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。
由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的。
所以我们只能在一致性和可用性之间进行权衡,没有NoSQL系统能同时保证这三点。
CAP的基本应用
CA 传统RDBMS数据库
AP 大多数网站架构的选择
CP Redis、Mongodb
CAP的取舍(具体问题,具体分析)
分布式架构的时候必须做出取舍。一致性和可用性之间取一个平衡。多余大多数web应用,其实并不需要强一致性。因此牺牲C换取P,这是目前分布式数据库产品的方向。
很多web实时系统并不要求严格的数据库事务,对读一致性的要求很低, 有些场合对写一致性要求并不高。允许实现最终一致性。
数据库的写实时性和读实时性需求:对关系数据库来说,插入一条数据之后立刻查询,是肯定可以读出来这条数据的,但是对于很多web应用来说,并不要求这么高的实时性,比方说发一条消息之后,过几秒乃至十几秒之后,我的订阅者才看到这条动态是完全可以接受的。
这篇关于分布式9:CAP和BASE理论的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!