本书主要介绍分布式数据库系统的理论与实现机制方面的有关原理和方法。全书共分十章,第1章和第2章介绍分布式数据库系统的基础和背景,主要包括分布式数据库系统的基本概念、体系结构、发展历史和主要研究问题;第3~8章为全书的重点,介绍分布式数据库系统的核心技术,包括分布式数据库设计、分布式查询处理和优化、分布式事务管理、分布式恢复管理和分布并发控制;第9章和第10章介绍P2P数据管理系统和面向Web数据库集成系统这两个分布式的数据管理系统案例。
本书是在作者长期的教学和科研基础上,结合分布式数据库基本原理及其实际应用技术编写而成的。书中在介绍集中式关系数据库系统原理的基础上,不仅详细地阐述了分布式数据库系统的基本概念和基本理论,也全面地介绍了其实现的关键技术,还介绍了商用数据库的分布实现策略和实例。
本书注重理论与实际相结合,易于读者掌握。通过对本书的学习,读者可以全方位地了解分布式数据管理的基本理论、所涉及的关键技术和核心研究内容。
本书可作为计算机专业以及相关专业的研究生或高年级本科生的教材,也可作为从事有关分布式数据管理方面研究的学者的参考书。
东北大学始建于1923年,是一所具有爱国主义光荣传统的国家重点大学,著名爱国将领张学良将军曾兼任校长。封面图片为东北大学主楼,始建于建校初期,是东北大学发展的忠实见证者,是东北大学灵魂的标志性建筑。主楼前面的广场上有一块巨石,上面刻着东北大学的校训“自强不息,知行合一”。
数据库系统的发展起始于19世纪60年代,从IBM的层次模型IMS、网状模型、关系模型,发展到多数据模型共存。随着科学技术的发展,各个行业领域对数据库技术提出了更多的需求,推动了数据库技术同诸多新技术如分布式处理技术、并行计算技术、人工智能技术、多媒体技术、模糊计算技术等相结合,由此衍生出了多种新的数据库技术。分布式数据库系统是其中的一种新的数据库技术。分布式数据库系统兴起于19世纪70年代中期。推动分布式数据库系统发展的动力来自于两方面:一是应用需求,二是硬件环境的发展。在应用需求上,全国甚至全球范围内的航空及铁路订票系统、银行通存通兑系统、水陆空联运系统、跨国公司管理系统、连锁配送管理系统等,都涉及地理上分布的企业或机构的局部业务管理和与整个系统有关的全局管理,采用传统的集中式数据库管理系统已无法实现这种分布式应用需求。在硬件环境上,提供了功能强大的计算机和成熟的广域公用数据网及快速增长的局域网。在上述两方面的推动下,人们期望符合现实需要的、能处理分散地域的、具备数据库系统特点的新的数据库系统的出现。
从19世纪70年代中期开始,各发达国家纷纷投巨资支持分布式数据库系统的研究和开发。历时十年,呈现出了许多研究成果。典型的原型系统有美国国防部委托CCA公司设计和研制的SDD1分布式数据库系统、美国加利福尼亚大学伯克利分校研制的分布式INGRES系统、IBM圣何塞实验室研制的R*分布式数据库系统、德国斯图加特大学研制的Porel分布式数据库系统、法国Sirius资助计划产生的若干原型系统如Siriusdelta、Polypheme等。随后,商品化的数据库系统Oracle、Sybase、DB2、Informix、INGRES等都从分布式数据库系统研究中吸取了许多重要的概念、方法和技术,实现了相当程度上的分布式数据管理功能,并宣称它们都是分布式数据库系统产品。在分布式数据库系统的商品化进程中,随着研究的深入和应用的普及,更由于分布式数据库管理系统本身的高复杂性,研究者们提出了更简洁、更灵活的实现技术来满足分布式数据处理的要求。目前,商品化数据库产品如Oracle、Sybase、DB2、SQL Server、Informix都支持异构数据库系统的访问和集成功能。它们都采用基于组件和中间件的松散耦合型事务管理机制来实现分布数据的管理,具有高灵活性和可扩展性,并且具有替代传统分布式数据库管理系统中的紧耦合型事务管理机制的趋势。
随着Internet和Web的蓬勃发展,Web环境下的分布式系统已成为当前应用的主流,如电子商务系统、网格系统、P2P共享系统等。近来,云计算、物联网等新型分布式应用的提出,更凸显了分布式数据管理的重要地位。分布式数据处理是分布式系统中必不可少的重要组成部分,涉及数据的分布式存储管理、分布式数据的查询优化、分布式事务管理与故障恢复,以及并发控制处理机制等。分布式数据库系统的概念、基本理论、算法及其相应的技术都将对分布式数据处理以及分布式系统的研究起到重要的指导作用。并且,随着分布式计算技术和应用的发展,分布式数据管理系统的基本理论和技术将发挥越来越重要的作用。
作者多年来在国家自然科学基金、国家863等课题的支持下,以Web数据库集成、联盟企业数据集成为应用背景,针对分布式环境下的数据管理进行了深入研究。同时,作者一直承担东北大学计算机软件专业硕士研究生的分布式数据库系统课程和计算机专业本科生的数据库系统概论和数据库系统实现课程的教学工作。本书正是基于以上工作基础而撰写的。
本书重点介绍经典的分布式数据库系统的基本理论和关键技术,同时也介绍当前流行的商品化分布式数据管理机制,并进行特点分析和对比。
本书共分为十章,内容包括分布式数据库系统概述、分布式数据库系统的结构、分布式数据库设计、分布式查询处理与优化、分布式查询的存取优化、分布式事务管理、分布式恢复管理、分布式并发控制和典型的分布式数据库系统案例(P2P数据管理系统和Web数据库集成系统)。
第1章主要介绍数据库基本知识、分布式数据库概念及其特性,以及分布式数据库系统的作用和特点。
第2章主要介绍分布式数据库系统的结构,包括分布式数据库系统的物理结构、逻辑结构、模式结构和组件结构,阐述典型的分布式数据集成系统的异同点,给出分布式数据库系统的分类。
第3章主要介绍分布式数据库设计方法,包括全局关系模式的逻辑划分和实际物理分配,主要包括分片定义、分片设计和分配设计,具体包括水平分片、垂直分片和混合分片的设计。
第4章主要介绍分布式查询处理与优化技术,包括查询优化的基本概念、查询处理与优化过程、查询分解、数据局部化和片段查询优化方法。
第5章主要介绍分布式查询的存取优化技术,包括存取优化的基本概念、存取优化的代价模型、典型的半连接优化技术、枚举法优化技术,以及几种典型的集中式查询优化算法和分布式查询优化算法。
第6章主要介绍分布式事务管理技术,包括分布式事务的概念、分布式事务的实现模型、分布式事务执行的控制模型、分布式事务管理的实现模型以及分布式事务提交协议。
第7章主要介绍分布式恢复管理技术,包括分布式数据库系统中的故障类型、集中式数据库的故障恢复方法、分布式数据库的恢复方法以及分布式数据库的可靠性协议。
第8章主要介绍分布式并发控制技术,包括分布式并发控制的概念及其理论基础、基于锁的并发控制方法、基于时间戳的并发控制方法、乐观的并发控制方法以及分布式死锁管理。
第9章介绍一个典型的分布式数据库系统案例——P2P数据管理系统,包括几种典型的P2P系统的体系结构、数据管理机制以及查询处理与优化策略。
第10章介绍另一个典型的分布式数据库系统案例——Web数据库集成系统,包括典型的Web数据库集成系统的组成结构以及集成系统中的两个核心模块(搜索子系统和查询子系统)。
本书由东北大学信息科学与工程学院计算机软件研究所于戈、申德荣、聂铁铮、寇月、李芳芳、赵志滨、冯时撰写。其中,于戈、申德荣负责本书前言部分、第1章及第2章,申德荣、赵志滨负责第3章,李芳芳负责第4章和第8章,聂铁铮负责第5章,寇月负责第6章和第7章,赵志滨负责第9章,申德荣、聂铁铮负责第10章,各章Oracle案例均由冯时负责。研究生单菁、杨丹、朱命冬、王习特等也参与了本书的审校。全书由于戈和申德荣统稿。
我们在撰写本书的过程中,努力使本书覆盖已有分布式数据库系统的经典理论和技术,尽力跟踪该学科的新发展和新技术,力求使本书具有先进性和实用性,并突出本书自身的特色。但由于作者学识有限,本书不足之处在所难免,敬请专家和学者批评指正。
计算机\数据库
本书在介绍集中式关系数据库系统原理的基础上,不仅详细地阐述了分布式数据库系统的基本概念和基本理论,也全面地介绍了其实现的关键技术,还介绍了商用数据库的分布实现策略和实例。
本书注重理论与实际相结合,易于读者掌握。通过对本书的学习,读者可以全方位地了解分布式数据管理的基本理论、所涉及的关键技术和核心研究内容。
本书可作为计算机专业以及相关专业的研究生或高年级本科生的教材,也可作为从事有关分布式数据管理方面研究的学者的参考书。
东北大学始建于1923年,是一所具有爱国主义光荣传统的国家重点大学,著名爱国将领张学良将军曾兼任校长。封面图片为东北大学主楼,始建于建校初期,是东北大学发展的忠实见证者,是东北大学灵魂的标志性建筑。主楼前面的广场上有一块巨石,上面刻着东北大学的校训“自强不息,知行合一”。
前言
教学建议
第1章分布式数据库系统概述
11引言及准备知识
111相关基本概念
112相关基础知识
12分布式数据库系统的基本概念
121节点/场地
122分布式数据库
123分布式数据库管理系统
124分布式数据库系统应用举例
125分布式数据库的特性
13分布式数据库系统的作用和特点
131分布式数据库系统的作用
132分布式数据库系统的特点
14典型的分布式数据库原型系统简介
15分布式数据库系统中的关键技术
16本章小结
习题
第2章分布式数据库系统的结构
21DDBS的物理结构和逻辑结构
22DDBS的体系结构
221基于客户端/服务器结构的体系结构
222基于“中间件”的客户端/服务器结构
23DDBS的模式结构
24DDBS的组件结构
241应用处理器功能
242数据处理器功能
25多数据库集成系统
251数据库集成
252多数据库系统
26对等型数据库系统
261P2PDBS的数据集成体系结构
262P2PDBS的体系结构
263P2PDBS与DDBS的典型区别
27DDBS的分类
271非集中式数据库系统及P2PDBS的特性
272DDBS的分类图
28元数据的管理
281数据字典的主要内容
282数据字典的主要用途
283数据字典的组织
29Oracle系统体系结构
291Oracle系统体系结构简介
292Oracle中实现分布式功能的关键组件
293Oracle分布式数据库架构
210本章小结
习题
第3章分布式数据库设计
31设计策略
311TopDown设计过程
312BottomUp设计过程
32分片的定义及作用
321分片的定义
322分片的作用
323分片设计过程
324分片的原则
325分片的种类
326分布透明性
33水平分片
331水平分片的定义
332水平分片的操作
333水平分片的设计
334水平分片的正确性判断
34垂直分片
341垂直分片的定义
342垂直分片的操作
343垂直分片的设计
344垂直分片的正确性判断
35混合分片
36分片的表示方法
361图形表示法
362分片树表示法
37分配设计
371分配类型
372分配设计原则
373分配模型
38数据复制技术
381数据复制的优势
382数据复制的分类
383数据复制的常用方法
39Oracle数据分布式设计案例
391Oracle分布式数据库的水平分片
392Oracle分布式数据库的垂直分片
393Oracle集中式数据库的数据分区技术
310本章小结
习题
第4章分布式查询处理与优化
41查询处理基础
411查询处理目标
412查询优化的意义
413查询优化的基本概念
414查询优化的过程
42查询处理器
421查询处理器的特性
422查询处理层次
43查询分解
431查询规范化
432查询分析
433查询约简
434查询重写
44数据局部化
45片段查询的优化
46Oracle分布式查询处理与优化案例
47本章小结
习题
第5章分布式查询的存取优化
51分布式查询的基本概念
511分布式查询的执行与处理
512查询存取优化的内容
52存取优化的理论基础
521查询代价模型
522数据库的特征参数
523关系运算的特征参数
53基于半连接的优化方法
531半连接操作及相关规则
532半连接运算的作用
533使用半连接算法的通信代价估计
534半连接算法优化原理
54基于枚举法的优化技术
541嵌套循环连接算法
542基于排序的连接算法
543散列连接算法
544连接关系的传输方法
55集中式系统中的查询优化算法
551INGRES
552System R 方法
553考虑代价的动态规划方法
554PostgreSQL的遗传算法
56分布式系统中的查询优化算法
561Distributed INGRES方法
562System R*方法
563SDD1方法
57Oracle分布式查询优化案例
58本章小结
习题
第6章分布式事务管理
61事务的基本概念
611事务的定义
612事务的基本性质
613事务的种类
62分布式事务
621分布式事务的定义
622分布式事务的实现模型
623分布式事务管理的目标
63分布式事务的提交协议
631协调者和参与者
632两段提交协议的基本思想
633两段提交协议的基本流程
64分布式事务管理的实现
641LTM与DTM
642分布式事务执行的控制模型
643分布式事务管理的实现模型
65两段提交协议(2PC)的实现方法
651集中式方法
652分布式的2PC
653分层式方法
654线性方法
66非阻塞分布式事务提交协议
661三段提交协议的基本思想
662三段提交协议执行的基本流程
67Oracle分布式事务管理案例
68本章小结
习题
第7章分布式恢复管理
71分布式恢复概述
711故障类型
712恢复模型
72集中式数据库的故障恢复
721局部恢复系统的体系结构
722数据更新策略
723针对不同更新事务的恢复方法
73分布式事务的故障恢复
731两段提交协议对故障的恢复
732三段提交协议对故障的恢复
74分布式可靠性协议
741可靠性和可用性
742分布式可靠性协议的组成
743两段提交协议的终结协议
744两段提交协议的演变
745三段提交协议的终结协议
746三段提交协议的演变
75Oracle故障恢复案例
76本章小结
习题
第8章分布式并发控制
81分布式并发控制的基本概念
811并发控制问题
812并发控制定义
82并发控制理论基础
821事务执行过程的形式化描述
822集中式数据库的可串行化问题
823分布式事务的可串行化问题
83基于锁的并发控制方法
831锁的类型和相容性
832封锁规则
833锁的粒度
84两段封锁协议(2PL)
841基本的两段封锁协议
842严格的两段封锁协议(2PL)
843可串行化证明
85分布式数据库并发控制方法
851基于锁的并发控制方法的实现
852基于时间戳的并发控制算法
853乐观的并发控制算法
86分布式死锁管理
861死锁等待图
862死锁的检测
863死锁的预防和避免
87Oracle并发控制案例
871Oracle中的锁机制
872Oracle中的并发控制
88本章小结
习题
第9章P2P数据管理系统
91P2P系统概述
92P2P系统的体系结构
921集中式P2P网络
922全分布式P2P网络
923混合型的P2P网络
93P2P系统中的数据管理
94资源的定位和路由
941面向非结构化P2P网络的资源定位方法
942面向结构化P2P网络的资源定位方法
95处理语义异构性
96查询处理与优化
961查询处理
962查询优化
97本章小结
习题
第10章Web数据库集成系统
101Web数据库集成系统概述
102三种体系结构介绍
1021数据供应模式
1022数据收集模式
1023元搜索模式
103基于元搜索模式的Web数据库集成系统WDBIntegrator
1031系统总体结构
1032Web数据库资源搜索子系统
1033资源查询子系统
104本章小结
习题
参考文献