11 1非关系型数据库 1.4 ACID ¤关系型数据库支持事务的ACD特性,保证在事务过程中数据的正确性 原子性( Atomicity):一个事务的所有操作步骤被看成一个动作,所有的步骤要么全部完成 要么一个也不会完成。如果在事务过程中发生错误,则会回滚到事务开始前的状态,将要被 改变的数据库记录不会被改变。 一致性( Consistency):一致性是指在事务开始之前和事务结束以后,数据库的完整性约束 没有被破坏,即数据库事务不能破坏关系数据的完整性及屮务逻辑上的一致性。 隔离性( (Isolation):主要用于实现并发控制,隔离能够确保并发执行的事务按顺序-个接一 个地执行。通过隔离,一个未完成事务不会影响另外一个未完成事务。 ■持久性( Durability):一旦一个事务被提交,它应该持久保存,不会因为与其他操作冲突而 取消这个事务。 ¤从事务的四个特性可以看出,关系型数据库要求强一致性,但是这一点在非关系型数 据库中是重点弱化的机制。这是因为数据库保持强一致性时,很难保证系统具有横冋 扩展和可用性的优势,因此针对分布式数据存储管理只提供了弱一致性的保障。 河南中医药大学/阮晓龙713938213680/http://inux.xg.hactcm.edu.cn/http://www.5lxueweb.cn
河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 1.非关系型数据库 关系型数据库支持事务的ACID特性,保证在事务过程中数据的正确性。 ◼ 原子性(Atomicity):一个事务的所有操作步骤被看成一个动作,所有的步骤要么全部完成, 要么一个也不会完成。如果在事务过程中发生错误,则会回滚到事务开始前的状态,将要被 改变的数据库记录不会被改变。 ◼ 一致性(Consistency):一致性是指在事务开始之前和事务结束以后,数据库的完整性约束 没有被破坏,即数据库事务不能破坏关系数据的完整性及业务逻辑上的一致性。 ◼ 隔离性(Isolation):主要用于实现并发控制,隔离能够确保并发执行的事务按顺序一个接一 个地执行。通过隔离,一个未完成事务不会影响另外一个未完成事务。 ◼ 持久性(Durability):一旦一个事务被提交,它应该持久保存,不会因为与其他操作冲突而 取消这个事务。 从事务的四个特性可以看出,关系型数据库要求强一致性,但是这一点在非关系型数 据库中是重点弱化的机制。这是因为数据库保持强一致性时,很难保证系统具有横向 扩展和可用性的优势,因此针对分布式数据存储管理只提供了弱一致性的保障。 11 1.4 ACID
12 1非关系型数据库 1.5BA 口BASE是对CAP理论中一致性(C)和可用性(A)进行权衡的结果,其核心思 想是无法做到强一致性,但每个应用都可以根据自身的特点,采用适当方式达 到最终一致性。 ¤一般来说,非关系型数据库都支持BASE原理。 ■基本可用( Basically Available):基本可用指分布式系统在岀现故障时,系统允许 损失部分可用性,即保证核心功能或者当前最重要功能可用。 软状态(Soft- state):软状态允许数据存在中间状态,但不会影响系统的整体可用 性,即允许不同节点的副本之间存在暂时的不一致情况。 最终一致性( Eventuall! Consistent):最终一致性要求系统中数据副本最终能够 一致,而不需要实时保证数据副本一致。最终一致性是BASE原理的核心,也是非关 系型数据库的主要特点,通过弱化一致性,提高系统的可伸缩性、可靠性和可用性。 河南中医药大学/阮晓龙713938213680/http://inux.xg.hactcm.edu.cn/http://www.5lxueweb.cn
河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 1.非关系型数据库 BASE是对CAP理论中一致性(C)和可用性(A)进行权衡的结果,其核心思 想是无法做到强一致性,但每个应用都可以根据自身的特点,采用适当方式达 到最终一致性。 一般来说,非关系型数据库都支持BASE原理。 ◼ 基本可用(Basically Available):基本可用指分布式系统在出现故障时,系统允许 损失部分可用性,即保证核心功能或者当前最重要功能可用。 ◼ 软状态(Soft-state):软状态允许数据存在中间状态,但不会影响系统的整体可用 性,即允许不同节点的副本之间存在暂时的不一致情况。 ◼ 最终一致性(Eventually Consistent):最终一致性要求系统中数据副本最终能够 一致,而不需要实时保证数据副本一致。最终一致性是BASE原理的核心,也是非关 系型数据库的主要特点,通过弱化一致性,提高系统的可伸缩性、可靠性和可用性。 12 1.5 BASE
13 关系型与非关系型数据库分类和特性对比 数据库类型 特征 优点 缺点 1、关系型数据库的最大特点就是事务易理解 1容易理解:二维表结构是非常容1、为了维护一致性所付出的巨 的一致性 2、使用方便支持QL,可用于复大代价就是其读与性能比较差 关系型数据库|2.简单来说,关系模型指的就是二维杂查询 2、固定的表结构 表格模型 .易于维护主常的完整性大减4海量数的高效率读写 1、使用键值对存储数据 1、无需经过sq层的解析,读写性能1、不提供s支持,学习和使用 3、非关系型数据库严格上不是一种数很高 成本较高 非关系型数据库|携库,应该是一种数据结构化存储2基于键值对,数据没有耦合性 2、无事务处理,附加功能bi和 法的集合 报表等支持也不好 关系型与非关系型数据库各有特点,对于数据库的选型应与自业务结合,充分考量
13 数据库类型 特征 优点 缺点 关系型数据库 1、关系型数据库的最大特点就是事务 的一致性 2、简单来说,关系模型指的就是二维 表格模型 1、容易理解:二维表结构是非常容 易理解 2、使用方便:支持SQL,可用于复 杂查询 3、易于维护:丰富的完整性大大减 低了数据冗余和数据不一致的概率 1、为了维护一致性所付出的巨 大代价就是其读写性能比较差 2、固定的表结构 3、高并发读写需求 4、海量数据的高效率读写 非关系型数据库 1、使用键值对存储数据 2、分布式 3、非关系型数据库严格上不是一种数 据库,应该是一种数据结构化存储方 法的集合 1、无需经过sql层的解析,读写性能 很高 2、基于键值对,数据没有耦合性, 易扩展 1、不提供sql支持,学习和使用 成本较高 2、无事务处理,附加功能bi和 报表等支持也不好 关系型与非关系型数据库分类和特性对比 关系型与非关系型数据库各有特点,对于数据库的选型应与自业务结合,充分考量
14 2 mongoDB简介 2.1 mongoDB mongoDB是全球应用最为广泛的非关系型数据库之一,具备开源、基于文档 功能强大、应用简单等特点 mongoDB是一个表结构自由、开源、可扩展、面向文档的数据库,旨在为 Web应用程序提供高性能、高可用且易扩展的数据存储解决方案 ¤moηgoDB支持多文档事务、连接查询,是较为接近关系型数据库的非关系型 数据库。 mongo DB 河南中医药大学/阮晓龙713938213680/http://inux.xg.hactcm.edu.cn/http://www.5lxueweb.cn
河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.mongoDB简介 14 2.1 mongoDB mongoDB是全球应用最为广泛的非关系型数据库之一,具备开源、基于文档、 功能强大、应用简单等特点。 mongoDB是一个表结构自由、开源、可扩展、面向文档的数据库,旨在为 Web应用程序提供高性能、高可用且易扩展的数据存储解决方案。 mongoDB支持多文档事务、连接查询,是较为接近关系型数据库的非关系型 数据库
15 Nominate a project fr the MongoDB Innovation Awards today! The database for modern applications MongoDB is a general purpose, document-based, distrbuted atabase built for modern appcation ce elopers and for the cloud No database makes you more producte. Used by millions of developers to power the world s most nnovative products and services ebay SEGA InTuIT eharmony verizon/ shutterfly (m GOV.UK CAD/ Vien customer ate
15