第一讲 分布式数据库系统
概论
1 什么是分布式数据库系统?
2 课程教学思路
3 课程考核方法
第2页,共73页
内容提要
分布式数据库系统的产生
分布式数据库系统的定义
分布式数据库系统的发展及研究热点
分布式数据库系统发展趋势
第3页,共73页
1 什么是分布式数据库系统?
分布式数据库系统的产生
分布式数据库系统的产生是随着各大网站的信息访问量激增而
产生及不断发展的。
传统的集中式数据库存储与管理模式已经不能应对新的数
据存储与访问需求。1PB=1024TB 1TB=1024GB
分布式数据库系统基本构型:C/S与B/S
分布式数据库不是单独存在的,它对需求非满足是成体系
存在的。
第5页,共73页
p 集中式数据库系统的优点
pp 易于管理易于管理
pp 低冗余度低冗余度
pp 应用程序和数据库相对独立应用程序和数据库相对独立
pp 数据恢复能力强等数据恢复能力强等
主机
数据库终端
用户
处理结果
存取请求
集中式系统模型
第6页,共73页
p 集中式数据库系统的不足
pp 系统规模有限;系统规模有限;
pp 可扩充性和安全性相对较差;可扩充性和安全性相对较差;
pp 主机瓶颈,可靠性不高;主机瓶颈,可靠性不高;
pp 通信开销加大,影响性能;通信开销加大,影响性能;
pp 很难适应地理分散的大型公司管理数据需要;很难适应地理分散的大型公司管理数据需要;
更新硬件,如升级到性能更高的服务器更新硬件,如升级到性能更高的服务器
更新软件,如移植到更新软件,如移植到OracleOracle上上
利用复制订阅、镜像等功能做扩展利用复制订阅、镜像等功能做扩展
使用使用分布式数据库架构分布式数据库架构,用若干台中小型的服务器去替代,用若干台中小型的服务器去替代
大型的服务器大型的服务器
第7页,共73页
问题解决方案
分布式系统的定义:
分布式系统(distributed system)是建立在网络之上的
软件系统。
分布式系统由多个高度内聚性和透明性的站点组成。这些
站点分别承担数据访问管理、数据存储以及数据服务器监
控管理等功能。
内聚性是指每一个数据库分布节点高度自治,有本地
的数据库管理系统。
透明性是指每一个数据库分布节点对用户的应用来说
都是透明的,看不出是由哪台数据存储服务器来完成。
第8页,共73页
分布式系统的特点:
在一个分布式系统中,一组互相独立的计算机展现给用户的是
一个整体。
系统拥有多种通用的物理和逻辑资源,可动态分配任务。
分散的物理和逻辑资源通过计算机网络实现信息交换。
系统中存在一个以全局的方式管理计算机资源的分布式操作系
统。分布式操作系统往往又以现有的计算机操作系统为基础。
对用户来说,分散的数据分布与数据处理对应了同一个模型或
范型。分布式操作系统之上有一层中间件负责实现这个模型。
一个著名的分布式系统的例子是万维网。在万维网中,所有的
一切看起来就好像是一个文档(Web页面)一样。
第9页,共73页
分布式系统与网络系统的区别:
在计算机网络中,这种统一性、模型以及其中的软件都不
存在。
用户看到的是实际的机器,如果这些机器有不同的硬件或
不同的操作系统,计算机网络并没有使这些机器看起来是
统一的。
由于多数分布式系统是建立在计算机网络之上的,所以分布
式系统与计算机网络在物理结构上是基本相同的。
第10页,共73页
目前存在很多动态网站,如学校教务系统、
选课系统,它们属于分布式系统吗?
分布式系统一般由以下几个部分等组成:
分布式操作系统
负责管理分布式处理系统资源和控制分布式程序运行。
不需要直接管理系统硬件资源,因此它往往建立在现有
操作系统基础之上。
分布式程序设计语言
用于编写运行于分布式计算机系统上的分布式程序。
现实是大部分现行分布式系统都采用普通的程序设计语
言进行开发。
第11页,共73页
分布式数据库系统
由分布于多个计算机结点上的若干个数据库系统组
成,它提供有效的存取手段来操纵这些结点上的子数
据库。
分布式文件系统
具有执行远程文件存取的能力,并以透明方式对分布
在网络上的文件进行管理和存取。
第12页,共73页
分布式数据库系统(Distributed DataBase System,简称
DDBS)由一组被管理的数据及管理软件(也就是熟称的管理系
统)组成,这些数据以及管理软件分布在计算机网络的不同计
算机上。
分布式数据库系统强调场地自治性(局部应用)以及自治
场地之间的协作性(全局应用)。
分布式数据库系统是数据库技术和网络技术两者相互渗透
和有机结合的结果。主要的目的是用廉价的机器提供高性
能的服务。
第13页,共73页
分布式数据库系统的定义
第14页,共73页
网络
场地3
图1 DDBMS结构图
场地1 LDB
LDBMS
GDBMS
CM
用户/DBA GDD
场地2
DDBMS由以下部分组成:
LDBMS(Local Database Management System,局部数据库
管理系统),主要用于管理局部数据库,提供场地自治能力,
执行局部应用以及全局查询的子查询。
LDB(Local Database,局部数据库),主要用于存储部分
数据。
GDBMS(Global Database Management System,全局数据库
管理系统),主要用于向终端用户提供分布透明性、协调全
局事务的执行、协调各局部DBMS以完成全局应用、保证各数
据库的全局一致性、执行并发控制、实现更新同步、提供全
局恢复等。
第15页,共73页
GDD(Global Data Dictionlary,全局数据字典),存放
全局概念模式、分片模式、分布模式等的定义,以及各模
式之间的映像定义,存放有关用户存取权限的定义、完整
性约束的定义等。
CM(Communication Management,通信管理),主要用于
在GDBMS与LDBMS或各LDBMS之间的通信调度与路由。
按全局控制类型分类
全局控制集中型DDBMS
全局数据库和全局数据字典集中于某一结点,其优
点是控制简单,容易实现更新一致性,但该结点容
易成为系统的瓶颈,系统也较脆弱。
第17页,共73页
分布式数据库系统的分类
全局控制分散的DDBMS
全局数据库控制器和全局数据字典分散在网络上的每
一个结点上,每个结点都能完成全局事务的协调和局
部数据库事务的控制功能。每个结点既是全局事务的
参与者,也是全局事务的协调者。
其优点是结点独立,自治性强,但全局控制的协调机
制和一致性维护都比较困难。
全局控制部分分散的DDBMS
介于上述两者之间,根据应用的需要将全局数据库管
理器和全局数据字典分散在某些结点上。
第18页,共73页
按局部DBMS的数据模型类型分类
同构型DDBMS
每个结点的局部数据库具有相同的DBMS;
异构型DDBMS
各结点的局部数据库具有不同的DBMS;
第19页,共73页
数据独立性
数据的逻辑独立性
数据的物理独立性
数据的分布透明性
集中与自治相结合的控制机构
数据的共享有两个层次:一是局部共享;二是全局共享。
第20页,共73页
分布式数据库系统的特点
全局一致性
分布式数据库系统中各局部数据库应满足集中式数据库
的一致性、并发事务的可串行性和可恢复性。
应保证数据库的全局一致性、全局并发事务的可串行性
和系统全局的可恢复性。分布式数据库系统中全局应用
要涉及两个以上结点的数据,全局事务可能由不同结点
上的多个操作组成。
第21页,共73页
数据存在一定冗余
在不同的结点存储同一数据的多个副本
目的一:提高系统的可靠性、可用性,当某一结
点出现故障时,系统可以对另一结点的相同副本进
行操作,不会因为一处故障而造成整个系统的瘫痪;
目的二提高系统性能,系统可以选择用户最近的
数据副本来进行操作,减少通信代价,改善整个系
统的性能。
第22页,共73页
第23页,共73页
pp分布式数据库系统的优点:分布式数据库系统的优点:
pp成本低廉成本低廉
pp数据访问速度快数据访问速度快
pp数据存储量大数据存储量大
pp易于拓展易于拓展
pp分布式数据库系统的缺点:分布式数据库系统的缺点:
pp存取结构复杂存取结构复杂
pp系统开销大系统开销大
pp数据安全性和保密性较难处理数据安全性和保密性较难处理
现在的分布式数据库模式大致有两种:
在原有关系型数据库的基础上进行拓展,如Oracle、IBM
DB2、MySQL、Amobea等。
重新构造适合应用需求的分布式数据结构,如以XML或其它
文件形式进行数据存储,包括BigTable、HyperTable、
HBase、Cassandra等。
很多开源分布式数据库系统都是基于Google公开发表的
《BigTable--a distributed storage system for structured
data》进行设计与实现的。
第24页,共73页
分布式数据库系统的发展现状
分布式数据库系统的发展阶段分布式数据库系统的发展阶段
2020世纪世纪7070年代末期年代末期————产生产生
2020世纪世纪8080年代年代————成长阶段成长阶段
2020世纪世纪9090年代年代————商品化应用阶段商品化应用阶段
2121世纪世纪————大规模应用阶段大规模应用阶段
第25页,共73页
目前开源分布式数据库系统类型主要包括:
以Google的BigTable为原型和基础建立起来的面向数据半结
构化的开源分布式数据库系统,其中包括Hypertable、Hbase
、Cassandra。它们支持的是稀疏矩阵化的结构化数据。
面向文档的分布式数据库系统,包括MongoDB、CouchDB等。
实现分布式缓存,如Memcached等。
实现Key/Value数据库引擎,包括Riak、Redis、Keyspace、
Tokyo Cabinet等。
基于嵌入式的分布式数据库,包括Neo4j、Oracle Berkeley
DB等。
目前分布式数据库系统的研究热点目前分布式数据库系统的研究热点
分布式数据存储模式:分布式数据存储模式:NosqlNosql和和SQLSQL模式模式
分布式数据查询与优化分布式数据查询与优化
分布式数据库管理模式分布式数据库管理模式
分配与监管问题分配与监管问题
分布式事务处理分布式事务处理
分布式数据并发控制分布式数据并发控制
分布式数据一致性问题分布式数据一致性问题
安全与可靠性问题安全与可靠性问题
异构互联:?异构互联:?
第27页,共73页
分布式数据库的发展趋势
与计算机网络、移动、网格数据库整合
成为物流网、云计算基础
云计算将网络上分布的计算、存储、服务构件、网
络软件等资源集中起来,基于资源虚拟化的方式,
为用户提供方便快捷的服务,它可以实现计算与存
储的分布式与并行处理。
第28页,共73页
分布式数据库系统发展趋势
物联网(Internet of Things,IoT)最早于1999年由
麻省理工学院提出。最开始的物联网是指依托射频识
别(Radio Frequency Identification,RFID)技术
和设备,按约定的通信协议与互联网相结合,使物品
实现智能化识别和管理,实现物品信息互联。现代意
义的物联网可以实现对物的感知识别控制、网络化互
联和智能处理有机统一,从而形成高智能决策。
第29页,共73页
第30页,共73页
第31页,共73页
第32页,共73页
架构演变第一步:物理分离webserver和数据库
架构演变第二步:增加页面缓存
补充材料1:大型网站构架变迁
第33页,共73页
架构演变第三步:增加页面片段缓存
架构演变第四步:数据缓存
第34页,共73页
架构演变第五步:增加webserver
架构演变第六步:分库
第35页,共73页
架构演变第七步:分表、DAL和分布式缓存
第36页,共73页
架构演变第八步:增加更多的webserver
第37页,共73页
架构演变第九步:数据读写分离和廉价存储方案
第38页,共73页
架构演变第十步:进入大型分布式应用时代和廉价服务器群时
代
第39页,共73页
第40页,共73页
补充材料2:—淘宝网数据库技术架构变迁
第41页,共73页
第42页,共73页
第43页,共73页
第44页,共73页
第45页,共73页
第46页,共73页
第47页,共73页
第48页,共73页
第49页,共73页
第50页,共73页
第51页,共73页
第52页,共73页
2022/7/15 53
Any
Quest
ions
谢谢!!
2022/7/15 54