`
- 浏览:
267360 次
- 性别:
- 来自:
上海
-
【总结】ACID、Data Replication、CAP与BASE
1,ACID
- 在传数据库系统中,事务具有ACID 4个属性
-
-
原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行
-
一致性(Consistent):在事务开始和完成时,数据都必须保持一致状态。这意味着所有相关的数据规则都必须应用于事务的修改,以保持数据的完整性;事务结束时,所有的内部数据结构(如B树索引或双向链表)也都必须是正确的
-
隔离性(Isolation):数据库系统提供一定的隔离机制,保证事务在不受外部并发操作影响的“独立”环境执行。这意味着事务处理过程中的中间状态对外部是不可见的,反之亦然
-
持久性(Durable):事务完成之后,它对于数据的修改是永久性的,即使出现系统故障也能够保持
- 单个节点的事务:数据库都是通过并发控制(两阶段封锁,two phase locking或者多版本,multiversioning)和恢复机制(日志技术)保证事务的ACID特性
- 跨多个节点的分布式事务:通过两阶段提交协议(two phase commiting)来保证事务的ACID
- 数据库系统是伴随着金融业的需求而快速发展起来:对于金融业,可用性和性能都不是最重要的,而一致性是最重要的,用户可以容忍系统故障而停止服务,但绝不能容忍帐户上的钱无故减少。而强一致性的事务是这一切的根本保证
2,Data Replication
- 数据复制(data replication)属于分布式计算的范畴,它并不仅仅局限于数据库
- 多副本构成的分布式数据库系统中, 其事务特性与单个数据库系统的差别主要表现在原子性和一致性两个方面
-
- 在原子性方面, 要求同一分布式事务的所有操作在所有相关副本上要么提交, 要么回滚, 即除了保证原有的局部事务的原子性,还需要控制全局事务的原子性
- 在一致性方面,多副本之间需要保证单一副本一致性
- 主从( Priamry / Copy)方式
-
- 一般是系统中仅仅指定一个Primary节点接受更新请求 , 在事务操作执行完毕后, 在事务提交前或后将操作广播到其他Copy节点
- Primary / Copy方式并发控制较为简单, 由Primary本地的事务控制即可实现,
事务的原子性的实现也较为简单, 一般由Primary节点作为协调节点来实现
- 缺陷也显而易见: 仅仅单个节点提供Update请求处理能力, 对于Update密集类型的应用, 如OLTP, 容易形成单点性能瓶颈
- 更新所有( Update-Anywhere ) 方式
-
- 处理过程稍微复杂, 系统中的任何副本具有相同的地位,都可以接收Update请求 ,在检测事务冲突、事务提交前或后将各个节点的Update传播到其他副本节点
- 通过多点提高事务吞吐率, 但随之而来的是多个分布式事务之间复杂的并发控制和原子性问题
- 从事务提交的时间点看, 可以分为积极 (Eager)和消极(Lazy) 两类
-
-
积极 (Eager) :
-
- 在事务提交前传播更新
- 前者即通常无谓的同步复制(synchronous replication)
- 优点是可以保证一致性(一般通过两阶段提交协议),但是开销较大,可用性不好,带来了更多的冲突和死锁等问题
- Lazy+Primary/Copy的复制协议在实际生产环境中是非常实用的,MySQL的复制实际上就属于这种
-
消极(Lazy):
-
- 在提交之后才将事务操作传播到其他副本
- 无谓的异步复制(asynchronous replication)
- 优点是可以提高响应速度, 但牺牲了一致性 ,一般实现该类协议的算法需要增加额外的补偿机制
3,CAP
- Consistency(一致性)
-
- 一致性是说数据的原子性,这种原子性在经典的数据库中是通过事务来保证的,当事务完成时,无论其是成功还是回滚,数据都会处于一致的状态。在分布式环境中,一致性是说多个节点的数据是否一致
- Availability(可用性)
-
- 可用性是说服务能一直保证是可用的状态,当用户发出一个请求,服务能在有限时间内返回结果
- Partition Tolerance(分区容错性)
-
- Partition是指网络的分区。可以这样理解,一般来说,关键的数据和服务都会位于不同的IDC(Internet Data Center:互联网数据中心)
- CAP理论
-
- 一个分布式系统不可能同时满足一致性,可用性和分区容错性这三个需求,三个要素中最多只能同时满足两点
- 对于分布式数据系统而言,分区容错性是基本要求,否则就不称其为分布式系统
- 不要把精力浪费在设计如何能同时满足三者的完美分布式系统上,而是应该进行权衡取舍。这也意味着分布式系统的设计过程,也就是根据业务特点在C(一致性)和A(可用性)之间寻求平衡的过程,要求架构师真正理解系统需求,把握业务特点
4,BASE
- BASE来自于互联网的电子商务领域的实践,它是基于CAP理论逐步演化而来,核心思想是即便不能达到强一致性(Strong consistency),但可以根据应用特点采用适当的方式来达到最终一致性(Eventual
consistency)的效果。BASE的含义:
-
-
Basically Available:基本可用
-
Soft-state:软状态/柔性事务,即状态可以有一段时间的不同步
-
Eventual consistency:最终一致性
- BASE是反ACID的,它完全不同于ACID模型,牺牲强一致性,获得基本可用性和柔性可靠性并要求达到最终一致性
- CAP、BASE理论是当前在互联网领域非常流行的NoSQL的理论基础,BASE思想的主要实现有
-
- 现在NOSQL运动丰富了拓展了BASE思想,可按照具体情况定制特别方案,比如忽视一致性,获得高可用性等等,NOSQL应该有下面两个流派:
-
-
key-value存储,如Amaze Dynamo等,可根据CAP三原则灵活选择不同倾向的数据库产品
-
领域模型 + 分布式缓存+ 存储 (Qi4j和NoSql运动),可根据CAP三原则结合自己项目定制灵活的分布式方案,难度高
- 共同点
-
- 都是关系数据库SQL以外的可选方案,逻辑随着数据分布,任何模型都可以自己持久化,将数据处理和数据存储分离,将读和写分离,存储可以是异步或同步,取决于对一致性的要求程度
- 不同点
-
- NOSQL之类的key-value存储产品是和关系数据库头碰头的产品BOX,可以适合非Java如PHP
RUBY等领域,是一种可以拿来就用的产品,
-
领域模型 + 分布式缓存+ 存储是一种复杂的架构解决方案,不是产品,但这种方式更灵活
- 提供一种领域模型 +
分布式缓存+存储 +
JMS异步的BASE解决方案图
-
- 图中,领域模型带着逻辑和数据被分布式缓存如Ehcache +Terracotta分布到多台机器中运行,当领域模型需要驱动架构功能时,通过JMS驱动,而JMS也是一个集群无单点风险的架构,同时一个分布式事务架构,通过JMS分布式事务和关系数据库能够保证持久数据一致性,不过模型中数据和关系数据库中的数据一致性就不是高度实时的,这个方案属于一种低延迟low
latency
- 由于业务数据装在领域模型中,关系数据库只是用来做存储,这属于一种Not Only SQL
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
数据的一致性与事务处理:分布式数据库需要处理CAP定理(Consistency、Availability、Partition Tolerance),在不同的场景下选择合适的一致性模型,如强一致性、最终一致性等,并实现ACID(原子性、一致性、隔离性...
芋道 yudao ruoyi-vue-pro pay sql , 更新时间 2024-08 ,可对应yudao版本2.4.1
图像处理项目实战
中国民营科技促进会2023中国大数据企业排行榜V8.0大数据产业白皮书110页.pdf
系统选用B/S模式,后端应用springboot框架,前端应用vue框架, MySQL为后台数据库。 本系统基于java设计的各项功能,数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来。 在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
图像处理项目实战
一周入门 UE 开发教程背景知识
车牌识别项目
目录: 第 1 章:Ansible 自动化部署 K8S 集群【内含6个文件】 第 2 章:弹性伸缩【内含4个文件】 第 3 章:Helm 应用包管理器(v3)【内含3个文件】 第 4 章:K8S 集群网络【内含1个文件】 第 5 章:K8S 存储 之 Ceph 分布式存储系统【内含4个文件】 第 6 章:微服务容器化迁移【内含3个文件】 第 7 章:基于 K8S 构建企业 Jenkins CICD 平台(微服务)【内含4个文件】 第 8 章:服务治理 Istio 初探【内含1个文件】 网盘文件永久链接
第一章 绪 论 1 1.1背景及意义 1 1.2国内外研究概况 2 1.3 研究的内容 2 第二章 关键技术的研究 3 2.1 相关技术 3 2.2 Java技术 3 2.3 ECLIPSE 开发环境 4 2.4 Tomcat介绍 4 2.5 Spring Boot框架 5 第三章 系统分析 5 3.1 系统设计目标 6 3.2 系统可行性分析 6 3.3 系统功能分析和描述 7 3.4系统UML用例分析 8 3.4.1管理员用例 9 3.4.2用户用例 9 3.5系统流程分析 10 3.5.1添加信息流程 11 3.5.2操作流程 12 3.5.3删除信息流程 13 第四章 系统设计 14 4.1 系统体系结构 15 4.2 数据库设计原则 16 4.3 数据表 17 第五章 系统实现 18 5.1用户功能模块 18 5.2管理员功能模块 19 5.3美食店功能模块 19 5.4前台首页功能模块 19 第六章 系统测试 20 6.1测试定义及目的 21 6.2性能测试 22 6.3测试模块 23 6.4测试结果 24 总 结 26 致 谢 27 参考文献 28
33559399361500导师评价.zip
前端后端修改改进第一次
网络安全是通过技术手段、管理策略和法律规范,保护网络系统、数据及用户隐私免受未经授权的访问、攻击或泄露,确保网络服务的可用性、数据的完整性和机密性。其核心内容包括: 1. 技术防护:如防火墙、入侵检测系统(IDS)、加密通信、漏洞修复等。 2. 管理措施:包括安全策略制定、访问控制、安全审计、应急响应等。 3. 法律与合规:遵循《网络安全法》《数据安全法》等法规,保障用户隐私与国家安全。 4. 安全意识:提升用户对钓鱼攻击、密码安全等风险的防范能力。 # 适用人群 - 企业/组织:IT运维人员、安全管理员、开发工程师(需保障业务系统安全)。 - 普通用户:需防范个人信息泄露、网络诈骗等风险。 - 政府与公共部门:确保关键基础设施(如电力、金融、通信)的安全运行。 - 教育领域:学生及教师需了解基础安全知识以应对网络威胁。 # 适用场景及目标 1. 企业场景: - 目标:防御黑客攻击、数据泄露、勒索软件等,保障业务连续性。 - 措施:部署网络隔离、多因素认证、定期渗透测试。 2
需要将源码中的key换成正式的key方可使用
幼儿园教师儿童行为观察:困惑与思考
多模态大语言模型(MLLMs)具备视频理解能力,正在迅速发展。为了有效评估其视频理解能力,提出了针对长视频理解的基准测试,如Video-MME和MLVU。然而,这些基准直接使用均匀帧采样进行测试,导致信息大量丢失,影响了评估结果对MLLMs真实能力的准确性。为此,我们提出了一种称为RAG-Adapter的即插即用框架,通过采样与给定问题最相关的帧来减少测试期间的信息损失。此外,我们引入了一种分组监督对比学习(GCL)方法,以进一步通过在我们构建的MMAT数据集上的微调来提高RAG-Adapter的采样效果。最后,我们在各种视频理解基准上测试了多个基线MLLMs,发现RAG-Adapter采样始终优于均匀采样(例如,GPT-4o在Video-MME上的准确率提高了9.3%),为长视频基准提供了一种更准确的测试方法。
在当今数字化浪潮中,园区智慧化建设正成为推动区域经济发展和产业转型升级的关键力量。这份园区智慧化解决方案全面展示了如何通过集成大数据、云计算、物联网(IoT)、人工智能(AI)、地理信息系统(GIS)和建筑信息模型(BIM)等前沿技术,为传统产业园区插上数字的翅膀,打造“数字创新”产业园区。 数字技术赋能,重塑园区生态 传统产业园区往往面临运营效率低下、管理粗放、资源利用率不高等问题。而通过智慧化改造,园区可以实现从“清水房”到“精装房”的华丽蜕变。数字化技术不仅提升了园区的运营管理水平,降低了运营成本,还显著增强了园区的竞争力和吸引力。例如,通过构建园区数字模型(CIM),实现了多规数据融合,形成了园区规划“一张图”,为园区管理提供了直观、高效的可视化工具。此外,智能感知设施的应用,如环境监测、能耗监测等,让园区管理更加精细化、科学化。智慧能源管理系统通过实时监测和智能分析,帮助园区实现低碳绿色发展,而综合安防管控系统则通过AI+视频融合技术,为园区安全保驾护航。更有趣的是,这些技术的应用还让园区服务变得更加个性化和便捷,比如园区移动APP,让企业和员工可以随时随地享受园区服务,从会议室预定到智慧公寓管理,一切尽在“掌”握。 智慧运营中心,打造园区大脑 园区智慧化建设的核心在于构建智慧运营中心,这可以看作是园区的“数字大脑”。通过集成物联网服务平台、大数据分析平台、应用开发赋能平台等核心支撑平台,智慧运营中心实现了对园区内各类数据的实时采集、处理和分析。在这个“大脑”的指挥下,园区管理变得更加高效、协同。比如,建设工程项目智慧监管系统,通过基于二三维GIS底图的统一数字化监管,实现了对园区在建工程项目的进度控制、质量控制和安全控制的全方位监管。可视化招商系统则利用CIM模型,以多种方式为园区对外招商推介提供了数字化、在线化的展示窗口。而产业经济分析系统,则通过挖掘和分析产业数据,为园区产业发展提供了有力的决策支持。智慧运营中心的建设,不仅提升了园区的整体运营水平,还为园区的可持续发展奠定了坚实基础。 产业服务升级,激发创新活力 园区智慧化建设不仅关注基础设施和运营管理的升级,更重视产业服务的创新。通过整合平台资源、园区本地资源和外围资源,打造园区服务资源池,为园区内的企业和个人提供了全面的智慧管理、智慧工作和智慧生活服务。特别是工业互联网平台和工业云服务的建设,为园区内的企业提供了轻量化、智能化的生产服务。这些服务涵盖了车间信息化管理、云制造执行、云智能仓储、设备健康管理等多个方面,有效提升了企业的生产效率和竞争力。此外,通过产业经济分析系统,园区还能够对潜在客户进行挖掘、对经销商进行风控、对产品销量进行预测等,为企业的市场营销提供了有力支持。这些创新的产业服务,不仅激发了园区的创新活力,还为区域经济的转型升级注入了新的动力。总之,园区智慧化建设是一场深刻的变革,它正以前所未有的方式重塑着园区的生态、运营和服务模式,为园区的可持续发展开辟了广阔的前景。
python、yolo、pytorch
chromedriver-mac-x64-136.0.7064.0.zip