数据复制与一致性
学习了下CAP、BASE、ACID等基本原则对于深入理解分布式环境下技术方案设计选型具有重要的指导作用。通过《大数据日知录》这本书的学习,让我对这些定有了更深的理解。这里博客做一下笔记及加深印象。
一 CAP
CAP是对“Consistency/Availability/Partition Tolerance”的一种简称, 分别代表强一致性、可用性、分区容忍性。
强一致性:即在分布式系统中的同一数据多副本情形下,对于数据的更新操作体现出的效果与只有单份数据是一样的
可用性: 客户端在任何时刻对大规模数据系统的读/写操作都应该保证在限定延时内完成
分区容忍性: 在大规模分布式数据系统中,网络分区现象,即分区间的机器无法进行网络通信的情况下是必然会发生的,所以系统应该能够在这种情况下仍然进行工作
对于一个大规模分布式数据系统来说,CAP三要素不可兼得,同一个系统至多只能实现其中的两个,而必须放宽第3个要素来保证其他两个要素被满足。即要么AP,要么CP,抑或AC,但是不存在CAP。 这就是CAP原则的精髓所在。 一般在网络环境下,运行环境出现网络分区是不可避免的,所以系统必须具备分区容忍性特性,于是一般在此种场景下设计大规模分布式系统时,加构师往往在AP和CP中进行权衡和选择,有所强调,有所放弃。
二 ACID
ACID是关系数据采纳的原则,也是一种简称,
Atomicity原子性:是指一个事务要么全部执行,要第完全不执行。也就是不允许一个事务只执行了一半就停止。
Consistency一致性:事务开始和结束时,应该始终满足一致性约束条件。
Isolation事务独立: 如果有多个事务同时执行,彼此之间不需要知晓对方的存在,而且执行时互不影响,不允许出现两个事务交错,间隔执行部分的情形,也即事务之间需要序列化执行。
Durability持久性: 事务的持久性是指事运行成功以后,对系统状态的更新是永久的,不会无缘由地回滚撤销。
三 BASE原则
数据系统采纳ACID原则,获得高可靠性和强一致性。而大多数大数据环境下的云存储系统 和NoSQL系统则采用BASE原则,这种原则与ACID原则差异很大,具体而言,BASE原则是指:
Basically Available 基本可用: 在绝大多数时间内系统处于可用状态,允许偶尔的失败,所以称为基本可用。
Eventual Consistency 最终一致性: 与强一致性相比,最终一致性是一种弱一致性,尽管软状态不要求任意时刻数据保持一致同步,但是最终一致性要求在给定时间窗口内数据会达到一致状态。
BASE原则与ACID原则不同,前者通过牺牲强一致性来获得高可用性。尽管现在大多数的NoSQL系统采用了BASE原则,但是有一点值得注意:NoSQL系统与云存储系统的发展过程正在向逐步提供局部ACID特性发展,即从全局而言符合BASE原则,但是从局部支持ACID原则。这样就可以及收两者各自的好处,在两者之间建议平衡。
分享到:
相关推荐
本文将详细探讨MySQL半同步复制的数据一致性问题。 首先,MySQL Replication的发展历程至关重要。最早的复制功能是在2000年随MySQL 3.23.15版本的发布引入的。当时的复制是一种准实时同步方式,Master节点和Slave...
MySQL全量复制是确保数据一致性和高可用性的关键技术。通过配置二进制日志、创建复制用户、锁定和解锁数据库、导出和导入数据,以及监控复制状态,可以确保数据在多个数据库实例之间保持一致。GTID复制和工具如...
分布式系统中的复制和一致性(续)复制事务服务`每个副本管理器以与非复制数据相同的方式提供对其自身数据项的并发控制和恢复a各种客户端对复制数据项执行的事务的影响与执行它们时的效果相同在一个数据项上一次一个...
据访问的性能,但是数据复制不可避免地引发数据一致性维护的问题。与传统的 分布式系统不同,P2P系统的规模巨大、分布性强和动态性强等特点给P2P分布 存储系统中的数据一致性维护带来挑战。本文针对海量数据和P2P...
# 数据库复制与同步:数据一致性的双剑合璧 在现代信息技术领域中,数据库作为存储、检索和管理数据的核心工具,在确保数据安全、高效访问方面扮演着至关重要的角色。随着业务规模的不断扩大和技术需求的日益增加,...
一致性要求数据在写入后能够被正确地复制到各个副本上,且不会出现错乱或遗漏。为实现这一点,分布式存储系统必须满足幂等性原则,即多次重复的写操作最终只会处理一次,以保证数据状态的一致性。 数据一致性模型是...
这部分内容可能涉及分布式缓存的数据复制策略、缓存一致性协议(如缓存失效和更新模式)、以及跨机房等复杂环境下的架构实践。 文档还强调了对原创作品的版权保护,要求读者尊重作者的知识产权,不得复制、传播或...
【藏经阁-Bring Consensus to Data Replication】是一份关于分布式系统中数据复制与一致性问题的报告,由阿里巴巴云的Meng Wang在QCon 2017会议上分享。该文档强调了分布式系统的核心特性,包括资源共享、开放性、...
三、数据一致性与业务流程集成 1. 异步处理:通过消息队列实现业务解耦,确保关键操作的顺序,保证数据一致性。 2. 业务补偿机制:对于可能引发数据不一致的操作,设计回滚策略,出现问题时可以进行业务回溯。 3. ...
"分布式数据库中维持数据副本一致性的方法——SQL Server 7.0数据复制的原理及应用" 维持数据副本一致性是分布式数据库系统面临的重要挑战之一。随着计算机系统体制结构的分布化和地域的分布,数据库系统的分布化也...
在微服务架构中,数据一致性是关键挑战之一。随着服务的拆分,多个独立的服务可能需要访问和更新相同的数据,从而导致一致性问题。本文件主要探讨了在微服务环境中实现数据一致性的几种策略和解决方案。 首先,我们...
2. **数据复制与一致性协议**:为了提高数据的可用性和容错性,分布式文件系统通常采用数据复制策略。CAP理论指导下的数据一致性模型(如Paxos、Raft)确保了在各种网络条件下数据的一致性和完整性。 3. **负载均衡...
数据复制,就是将数据库中的数据拷贝到另外一个或多个不同的物理站点上,从而保持源数据库与目标数据库中指定数据的一致性。按照数据复制的实时性,数据复制可分为同步数据复制和异步数据复制。按照复制站点的类型,...
这样,一致性维度将多个数据集市结合在一起,一致性事实保证不同数据集市间的事实数据可以交叉探查,一个分布式的数据仓库就建成了。 多维体系结构(MD)是数据仓库领域中的一种架构,由Kimball博士所创始。MD架构...
### 分布式分页机制与数据一致性 #### 分布式分页机制概述 - **分布式系统中的数据一致性**: - 数据一致性是分布式系统中一个关键的概念,它指的是不同节点上的数据副本保持一致的状态。 - 实现数据一致性的...
5. **分布式数据库与分片策略**:像Cassandra和MongoDB这样的分布式数据库支持跨节点的数据复制和分片,以实现高可用性和一致性。分片策略需要考虑数据分布和查询模式,以确保一致性。 6. **版本控制与乐观锁**:...