- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大数据环境下数据复制基本原则初探
大数据环境下数据复制基本原则初探
摘要:在大数据存储系统中,为了增加系统的高可用性,往往会将同一数据存储多份副本。将数据复制成多份除了增加存储系统高可用性外还可以增加读操作的并发性,但是这样也会引入数据一致性问题:因为同一数据存在多个副本,在并发的众多客户端读写操作下,如何维护数据一致性非常重要。本文介绍在分布式环境下,对技术方案设计选型具有重要指导意义的几个基本原则,并分析及其内在联系。
关键词:分布式 一致性 CAP ACID BASE
中图分类号: TP391 文献标识码:A 文章编号:1007-9416(2015)11-0000-00
1 CAP基本原则与设计理念
CAP基本原则对于深入理解分布式环境下技术方案设计选型具有重要指导意义。CAP是对“Consistency/Availability/Partition Tolerrance”的一种简称,其分别代表:强一致性、可用性和分区容忍性。
CAP最初是由Eric Brewer提出的,他证明了:对于一个大规模数据系统来说,CAP三要素不可兼得,同一个系统至多只能实现其中的两个,而必须放宽第三个要素来保证其他两个要素被满足。CAP原则的精髓就是要么AP,要么CP,要么AC,但是不存在CAP。如果在某个分布式系统中数据无副本,那么系统必然满足强一致性条件,因为只有独一数据,不会出现数据不一致的情况,此时C和P两要素具备,但是如果系统发生了网络分区状况或者宕机,必然导致某些数据不可以访问,此时可用性条件就不能被满足,即在此情况下获得了CP系统,但是CAP不可同时满足。绝大多数架构师将CAP原则奉为第一原则,在系统设计之初就考虑侧重于CP还是倾向于AP。因为对于分布式系统来说,分区容忍性是天然具备的要求。
但是Eric Brewer在后来发表的文章中指出:实践过程中应用CAP理论时不得不在三要素中选择两个而牺牲另外一个的做法具有误导性。
首先,在实际系统中,网络分区P出现的概率是很小的,并不应该为了容忍这种小概率事件而在设计之初就选择放弃A或者C。
其次,及时在必须在AC之间做出选择取舍的时候,也不应该是在整个系统级别上进行取舍,即整个系统要么取A舍C,要么取C舍A,而是应该考虑系统中存在不同的子系统,甚至应该在不同的系统运行时或者不同的数据间进行灵活的差异化的细度取舍。
再次,CAP三者并非绝对二元式地有或者没有,而是应该将其看着连续变量,即可以看作在一定程度上有或者没有,在实际进行取舍时并非加以完全舍弃,而是可以考虑在多大程度上进行舍弃。
2 ACID基本原则
ACID是关系数据库系统采纳的原则,也是一种简称,其含义如下:
原子性(Atomicity):是指一个事务要么全部执行,要么完全不执行。也就是不允许一个事务只执行了一半就停止。
一致性(Consistency):事务在开始和结束时,应该始终满足一致性约束条件。
事务独立(Isolation):如果有多个事务同时执行,彼此之间不需要知晓对方的存在,而且执行时互不影响,不允许出现两个事务间隔、交错执行部分任务的情形发生。
持久性(Durability):事务的持久性是指事务运行成功之后,对系统状态的更新是永久的,不会无故撤销。
3 BASE原则
数据库系统采纳ACID原则,获得高可靠性和强一致性。而大数据环境下大多数云存储系统和NoSQL系统则采纳BASE原则,这种原则与ACID原则差异很大,具体而言,BASE是指:
基本可用(Basically Available)。在绝大多数时间内系统处于可用状态,允许偶尔的失败,所以称为基本可用。
软状态或者柔性状态(Soft State),是指数据状态不要求在任意时刻都完美保持同步。
最终一致性(Eventual Consistency)。与强一致性相比,最终一致性是一种弱一致性,尽管软状态不要求任意时刻数据保持同步一致,但是最终一致性要求在给定的时间窗口内数据会达到一致状态。
BASE原则与ACID原则不同,BASE是通过牺牲强一致性来获得高可用性。尽管现在大多数的NoSQL系统采用了BASE原则,但是,NoSQL系统与云存储系统的发展过程正在向逐步提供局部ACID特性发展,即从全局而言符合BASE原则,从局部支持ACID原则,这样就可以吸收两者的优点,在两者之间建立平衡。
4 CAP/ACID/BASE三者之间的关系
ACID和BASE原则是在明确提出CAP理论之前关于如何对待可用性和强一致性的两种不同的设计理念。ACID更强调数据的一致性,这是传统数据库设计的思路。BASE则更强调可用性,弱化数据一致性,这是互联网时代对于大规模
原创力文档


文档评论(0)