分布式数据库系统原理——读书笔记(一)
目录
一.了解分布式数据库系统技术
二.分布式数据处理
1.什么需要分布处理
2.为什么需要分布处理?
三.什么是分布式数据库系统
1.分布式数据库的定义:
2. 分布式数据系统(Distributed Database System,DDBS)
3.DDBS环境
四.数据发送的不同选择
五.DDBS的承诺
1.分布及复制数据的透明管理
2.分布式事物提供的可靠性
3.改进的性能
六.分布式所带来的复杂性
引言
一.了解分布式数据库系统技术
分布式数据库系统技术是数据库系统和计算机网络技术的结合。
分布式数据库系统将传统的每个应用只定义并且维护自己数据的形式改变成数据的集中管理,使数据拥有数据独立性。
体现如下:
数据从存储到个人设备中通过每个程序的数据描述从数据库从分别提取,改变为一个设备集合了所有程序的数据描述,根据所需从分布式数据库中提取相应的全部数据到个人设备,再分发给每个程序。
数据库系统动机之一是为了集中存取数据,而计算机网络技术则提倡的是一种对集中的工作模式。此种矛盾引出分布式数据库技术最重要的目标是集成而不是集中。
二.分布式数据处理
1.什么需要分布处理
1)处理逻辑
处理单元:通过计算机网络互连协同处理它们各自分配到的任务的单元。
一个问题需要处理,也就是需要相应的处理逻辑,将处理逻辑分布到一堆处理单元中,隔离又协同的高效处理问题。
2)功能
不同的功能根据不同的需要分配到不同的部分。
3)数据
把过多的数据分布到不同的处理站点上可加快处理速度。
4)控制
不同的任务的控制执行也可以分布。
2.为什么需要分布处理?
在当今社会的社会构成中,大部分都是分散的企业组织结构,客观的现实社会由多部份组成,相对应的逻辑结构应该也是分布的。即采用分而治之的方法处理当前社会所面临的大数据规模问题。
分布式系统是使分布式处理更容易、更有效的工具。
三.什么是分布式数据库系统
1.分布式数据库的定义:
一群分布在计算机网络上、逻辑上相互关联的数据库。
2. 分布式数据系统(Distributed Database System,DDBS)
- 仅仅代表DDBS
- 用于表示分布式数据库和分布式DBMS
DDBS需要文件之间形成逻辑相关的结构,并且能通过共同的界面存取。
3.DDBS环境
数据请求路由到不同的站点获取数据。
四.数据发送的不同选择
数据发送的不同选择从发送方式、频率、通信方法三个正交维度加以刻画。
发送方式 :
- 内拉:客户端向服务器发送请求,服务器响应并查找所需要的信息。
- 外推:服务器到客户端的数据传输是由服务器在没有收到客户端任何请求下发动的,取决于服务器对客户需要的预测。
- 混合:把内拉和外推结合起来。
五.DDBS的承诺
1.分布及复制数据的透明管理
透明的意义时隐藏了系统实现的细节,使使用更加简洁
分片:把不同的关系进行划分就叫做分片。
1)数据独立性
逻辑数据独立性:数据库结构不受逻辑结构变化影响
物理数据独立性:数据库结构不受物理结构变化影响
跟普通数据库的数据独立性相同
2)网络透明
从网络的角度:用统一的方式对数据进行访问
从DBMS的角度:不必指出数据在哪里存放,即分布数据库向上透明不需考虑从哪里存取问题
位置透明:执行命令和数据在哪里存放无关也与使用哪个系统无关
命名透明:给唯一的名字提供相对应的数据
3)复制透明
下面的笔记中会详细解释,在此简述
不知道副本的位置和分配而只仅仅知道它的存在。
4)分片透明
分片基于对性能、可用性以及可靠性的考虑。
水平分片:通俗来讲就是按行给每行数据分片,一个关系元组的所有属性。
垂直分片:按属性分片,为一个属性的所有关系元组。
5)谁应该提供透明
存取层:用用户语言把请求翻译成需要的操作。
操作系统层:利用驱动设备指挥操作。
DBMS:有责任完成从操作系统向高层的用户界面的翻译。
这些层次都有提供透明性但又有各种问题,以后可能会讨论。
2.分布式事物提供的可靠性
分布式的结构使其消除了单站点故障,但在有些站点挂掉之后会导致一些数据无法访问,但可以用一些方法来解决这个问题,方法来自于分布式事务和应用协议的支持。
3.改进的性能
本地化:让数据存储距离使用较近的地方
好处:
分布并行处理,减少激烈竞争处理,增加速度。
减少延时。
六.分布式所带来的复杂性
·复制带来的复杂性
数据库需要一个检索所需要的副本和副本更新的一致性。
·更新站点时出现故障所带来的复杂性
站点恢复后,在整个分布式数据库实现有效更新。
·多站点事物同步所带来的复杂性