云南大学软件学院数据库系统设计期中复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库系统设计期中复习整理
第一章
1.数据独立性:
Physical data independence : Physical level can change without having to change the logical level. Logical data independence : Logical level can change without having to change the external(外部的)level.
2.数据库管理系统架构
3.ACID
(1)原子性(Atomicity):一个事务中的所有操作要么全部成功,要么全部失败。原子性
由恢复机制实现。
(2)一致性(Consistency):事务完成后,所有数据处于应有的状态,所有内部结构正确,
能够准确反映事务所作的工作。基于隔离性实现。
(3)隔离性(Isolation):一个事务不会干扰另一个事务的进程,事务交叉调度执行的结
果与串行调度执行的结果是一致的。隔离性由并发控制机制实现。
(4)持久性(Durability):事务提交后,对数据库的影响是持久的,即不会因为系统故障
影响事务的持久性。持久性由恢复机制实现。
4.CAP
(1)Consistency 一致性
强一致性
强一致性(即时一致性)假如A先写入了一个值到存储系统,存储系统保证后续A,B,C的读取操作都将返回最新值
弱一致性
假如A先写入了一个值到存储系统,存储系统不能保证后续A,B,C的读取操作能读
取到最新值。此种情况下有一个“不一致性窗口”的概念,它特指从A写入值,到后续操作A,B,C读取到最新值这一段时间。
最终一致性
最终一致性是弱一致性的一种特例。假如A首先write了一个值到存储系统,存储系统保证如果在A,B,C后续读取之前没有其它写操作更新同样的值的话,最终所有的读取操作都会读取到A写入的最新值。此种情况下,如果没有失败发生的话,“不一致性窗口”的大小依赖于以下的几个因素:交互延迟,系统的负载,以及复制技术中replica的个数(这个可以理解为master/salve模式中,salve的个数),最终一致性方面最出名的系统可以说是DNS系统,当更新一个域名的IP以后,根据配置策略以及缓存控制策略的不同,最终所有的客户都会看到最新的值。
(2)Availability 可用性(指的是快速获取数据)
(3)Tolerance to network Partitions 分区容忍性(分布式)
5.BASE
(1)Basically Available --基本可用
(2)Soft-state --软状态/柔性事务
(3)Eventual Consistency --最终一致性
BASE模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性:Basically Available基本可用。支持分区失败(e.g. sharding碎片划分数据库) Soft state 软状态状态可以有一段时间不同步,异步。Eventually consistent最终一致,最终数据是一致的就可以了,而不是时时一致。
6.练习
(1)What are the five components of a DBMS?
Hardware
Software
Data
Procedures
Instructions and rules that should be applied to the design and use of the database and DBMS.
People
Includes database designers, DBAs, application programmers, and end-users.
(2)DBMS的功能
Data Storage, Retrieval, and Update.
A User-Accessible Catalog.
Transaction Support.
Concurrency Control Services.
Recovery Services.
Authorization Services.
Support for Data Communication.
Integrity Services.
Services to Promote Data Independence.
Utility Services.
(3)Briefly describe the two-tire Client/Server architecture and three-tire Client/Server
architecture.
Client side presented two problems preventing true scalability:
●‘Fat’ client, requiring considerable resources on client’s computer to run effectively.
●Significant client side administration overhead.
Three-tire Client/Server
●‘Thin’ client, requiring less expensive hardware.
●Application maintenance centralized.
●Easier to modify or replace one tier without affecting others.
●Separating business logic from database functions makes it easier to implement load
balancing.
●Maps quite naturally to Web environment.