本书主要介绍分布式数据库系统和大数据库系统的基本理论与实现技术。全书共分12章,第1章和第2章介绍分布式数据库系统和大数据库系统的基础和背景,主要包括系统的基本概念、体系结构、发展历史、系统分类和主要研究问题;第3~9章为全书的重点,介绍分布式数据库系统和大数据库系统的核心技术,包括分布式数据库设计、分布式查询处理与优化、分布式查询的存取优化、分布式事务管理、分布式恢复管理、分布式并发控制、数据复制与一致性,并给出了Oracle应用示例;第10章和第11章介绍两个分布式的数据管理系统案例,分别为P2P数据管理系统和Web数据库集成系统;第12章介绍大数据系统研究进展及发展趋势。
本书是作者在长期的数据库教学和科研基础上,面向大数据应用的新需求,结合分布式数据库和大数据管理的基本原理及其实际应用技术编写而成的。书中详细介绍了经典的分布式数据库管理和新兴的大数据库管理的理论和技术,以流行的商用数据库Oracle为例介绍了分布式数据库的相关实现技术,以P2P数据管理和Web数据库集成系统为例介绍了面向互联网和Web应用的分布式数据库技术,以HBase、Cassandra、Spanner、OceanBase等为例介绍了面向大数据应用的新型数据库技术,还给出了大数据库系统的最新研究进展及发展趋势。
本书特色
内容全面,涵盖广泛。不仅覆盖传统分布式数据库系统的经典理论和技术,还用大篇幅介绍了大数据库技术,包括基于HDFS的大数据存储模型和数据分区策略、基于MapReduce的分布查询及优化处理方法、典型的索引查询优化及缓存技术、多类型的事务管理和故障恢复技术、扩展的并发控制技术、数据复制与一致性技术等。
与时俱进,突出先进性。面向互联网+、云计算等大数据应用的新需求,跟踪分布式数据库系统的新发展,反映最新的大数据管理技术。
理论与实际相结合,实用性强。以流行的商用数据库Oracle和典型的大数据管理系统如HBase、Cassandra、Spanner、OceanBase等为例介绍相关理论的应用,易于读者掌握。
内容全面,涵盖广泛。不仅覆盖传统分布式数据库系统的经典理论和技术,还用大篇幅介绍了大数据库技术,包括基于HDFS的大数据存储模型和数据分区策略、基于MapReduce的分布查询及优化处理方法、典型的索引查询优化及缓存技术、多类型的事务管理和故障恢复技术、扩展的并发控制技术、数据复制与一致性技术等。
与时俱进,突出先进性。面向互联网+、云计算等大数据应用的新需求,跟踪分布式数据库系统的新发展,反映最新的大数据管理技术。
理论与实际相结合,实用性强。以流行的商用数据库Oracle和典型的大数据管理系统如HBase、Cassandra、Spanner、OceanBase等为例介绍相关理论的应用,易于读者掌握。
于戈,博士,教授,博士生导师,CCF会士。现任东北大学计算机科学与工程学院执行院长,东北大学计算中心主任。曾任第五、六届国务院学科评议组成员,第十二、十三届国家自然科学基金委专家评审组成员。获得“中国高校青年教师奖”和省部级科学技术奖5项。
申德荣,博士,东北大学计算机科学与工程学院教授、博士生导师。现任中国计算机学会办公自动化专业委员会秘书长,中国计算机学会数据库专业委员会委员。获得国家发明专利5项,计算机软件登记4项。获省部级科学技术奖3项。
数据库系统的发展起始于20世纪60年代,从IBM的层次模型IMS、网状模型、关系模型,发展到多数据模型共存。随着科学技术的发展,各个行业、领域对数据库技术提出了更多的需求,推动了数据库技术同诸多新技术如分布式处理技术、并行计算技术、人工智能技术、多媒体技术、模糊计算技术等相结合,由此衍生出了多种新的数据库技术。分布式数据库系统是其中的一种新数据库技术。分布式数据库系统兴起于20世纪70年代中期。推动分布式数据库系统发展的动力来自于两方面:一是应用需求,二是硬件环境的发展。在应用需求上,全国甚至全球范围内的航空及铁路订票系统、银行通存通兑系统、水陆空联运系统、跨国公司管理系统、连锁配送管理系统等,都涉及地理上分布的企业或机构的局部业务管理和与整个系统有关的全局管理,采用传统的集中式数据库管理系统已无法满足这种分布式应用需求。在硬件环境上,提供了功能强大的计算机和成熟的广域公用数据网及快速增长的局域网。在上述两方面的推动下,人们期望符合现实需要的、能处理分散地域的、具备数据库系统特点的新数据库系统的出现。
从20世纪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共享系统等。近来,云计算、物联网等新型分布式应用的提出,更凸显了分布式数据管理的重要地位。分布式数据处理是分布式系统中必不可少的重要组成部分,涉及数据的分布式存储管理、分布式数据的查询优化、分布式事务管理与故障恢复,以及并发控制处理机制等。分布式数据库系统的概念、基本理论、算法及其相应的技术都将对分布式数据处理以及分布式系统的研究起到重要的指导作用。并且,随着分布式计算技术和应用的发展,分布式数据管理系统的基本理论和技术将发挥越来越重要的作用。
随着技术的发展,大数据广泛存在,如Web数据、移动数据、社交网络数据、电子商务数据、企业数据、科学数据等,并且各行各业都期望得益于大数据中蕴含的有价值的知识。为此,呈现出了支持大数据管理和分析的技术,如大数据存储模型、键值模型、MapReduce分布式处理架构、改进的支持分布式的事务协议、副本管理等,并推出了许多关系云系统和多存储结构的大数据库系统等。支持大数据库管理的基础理论和技术,典型代表是以经典的分布式数据库理论和技术为基础的扩展研究,满足大数据处理的实时性、高性能和可扩展性需求等。
多年来,作者在国家自然科学基金、国家973计划、国家863计划等课题的支持下,以大数据管理、Web数据库集成、联盟企业数据集成为应用背景,针对分布式环境下的数据管理进行了深入研究。同时,作者一直承担东北大学计算机专业硕士研究生的分布式数据库系统课程以及计算机专业本科生的数据库系统概论和数据库系统实现课程的教学工作。本书正是基于以上工作而撰写的。
本书首先重点介绍经典的分布式数据库系统的基本理论和关键技术,介绍当前流行的商品化分布式数据管理机制,并进行特点分析和对比。同时,以经典的分布式数据库基本理论和技术为基础,介绍大数据库管理的关键技术和流行的大数据库系统。
本书共分为12章,内容包括分布式数据库系统概述、分布式数据库系统的结构、分布式数据库设计、分布式查询处理与优化、分布式查询的存取优化、分布式事务管理、分布式恢复管理、分布式并发控制、数据复制与一致性、典型的分布式数据库系统案例(P2P数据管理系统、Web数据库集成系统)和大数据库系统研究进展。
第1章主要介绍数据库基本知识、分布式数据库概念及其特性,以及分布式数据库系统的作用和特点。之后,概述大数据管理并介绍大数据库概念,主要包括大数据类型、特点、处理过程和大数据库关键技术。
第2章主要介绍分布式数据库系统的结构,包括分布式数据库系统的物理结构、逻辑结构、模式结构和组件结构,阐述典型的分布式数据集成系统的异同点,给出分布式数据库系统的分类。之后,介绍大数据库系统的分类、典型的体系结构和大数据库系统案例。
第3章主要介绍分布式数据库设计方法,包括全局关系模式的逻辑划分和实际物理分配,主要包括分片定义、分片设计和分配设计,具体包括水平分片、垂直分片和混合分片的设计。之后,介绍支持大数据库管理的存储模型、数据分布式存储策略以及大数据库存储案例。
第4章主要介绍分布式查询处理技术,包括查询优化的基本概念、查询处理与优化过程、查询分解、数据局部化和片段查询优化方法。之后,介绍大数据库的查询API、查询处理和优化策略。
第5章主要介绍分布式查询的存取优化技术,包括存取优化的基本概念、存取优化的代价模型、典型的半连接优化技术、枚举法优化技术,以及几种典型的集中式查询优化算法和分布式查询优化算法。之后,介绍大数据库管理的索引技术、缓存技术、并行处理技术。
第6章主要介绍分布式事务管理技术,包括分布式事务概念、分布式事务的实现模型、分布式事务执行的控制模型、分布式事务管理的实现模型以及分布式事务提交协议。之后,介绍大数据库的事务管理,包括大数据库管理理论、扩展的事务模型和实现方法。
第7章主要介绍分布式恢复管理技术,包括分布式数据库系统中的故障类型、集中式数据库的故障恢复方法、分布式数据库的恢复方法以及分布式数据库的可靠性协议。之后,介绍大数据库系统中的恢复管理问题、故障类型、故障检测技术和容错技术。
第8章主要介绍分布式并发控制技术,包括分布式并发控制概念及其理论基础、基于锁的并发控制方法、基于时间戳的并发控制方法、乐观的并发控制方法以及分布式死锁管理。之后,介绍支持大数据库并发控制的扩展技术。
第9章主要介绍分布式数据库的数据复制和一致性技术,包括复制策略、复制协议和一致性协议。之后,结合大数据库一致性协议介绍大数据库系统所采用的副本一致性实现策略。
第10章介绍一个典型的分布式数据库系统案例——P2P数据管理系统,包括几种典型的P2P系统的体系结构、数据管理机制以及查询处理与优化策略。
第11章介绍另一个典型的分布式数据库系统案例——Web数据库集成系统,包括典型的Web数据库集成系统的组成结构以及集成系统中的三个核心模块(搜索子系统、查询子系统和集成子系统)。
第12章介绍大数据库系统研究进展及展望,包括数据模型、基于MapReduce框架的查询处理与优化策略、事务管理技术、动态负载均衡策略、副本管理技术以及多存储模式的数据库系统。
本书由东北大学计算机科学与工程学院于戈、申德荣、赵志滨、李芳芳、聂铁铮、寇月、冯时、鲍玉斌撰写。其中,于戈负责本书前言部分,申德荣负责教学建议部分,于戈、申德荣负责第1章,赵志滨、申德荣负责第2章,申德荣、聂铁铮负责第3章,李芳芳、于戈负责第4章、第8章、第9章,聂铁铮负责第5章,寇月负责第6章和第7章,赵志滨负责第10章,申德荣、聂铁铮负责第11章,申德荣、于戈、鲍玉斌负责第12章,冯时负责各章中有关Oracle数据库的案例部分。参加本书撰写的还有博士研究生朱命冬、王习特等。全书由于戈和申德荣统稿。
我们在撰写本书的过程中,努力使本书覆盖已有分布式数据库系统的经典理论和技术,尽力跟踪该学科的新发展和新技术,尤其是用大篇幅介绍了大数据库技术,力求使本书具有先进性和实用性,并突出本书自身的特色。但由于作者学识有限,一定存在许多不足之处,敬请专家和学者批评指正。
计算机\数据库
本书是作者在长期的数据库教学和科研基础上,面向大数据应用的新需求,结合分布式数据库和大数据管理的基本原理及其实际应用技术编写而成的。书中详细介绍了经典的分布式数据库管理和新兴的大数据库管理的理论和技术,以流行的商用数据库Oracle为例介绍了分布式数据库的相关实现技术,以P2P数据管理和Web数据库集成系统为例介绍了面向互联网和Web应用的分布式数据库技术,以HBase、Cassandra、Spanner、OceanBase等为例介绍了面向大数据应用的新型数据库技术,还给出了大数据库系统的最新研究进展及发展趋势。
本书特点
内容全面,涵盖广泛。不仅覆盖传统分布式数据库系统的经典理论和技术,还用大篇幅介绍了大数据库技术,包括基于HDFS的大数据存储模型和数据分区策略、基于MapReduce的分布查询及优化处理方法、典型的索引查询优化及缓存技术、多类型的事务管理和故障恢复技术、扩展的并发控制技术、数据复制与一致性技术等。
与时俱进,突出先进性。面向互联网+、云计算等大数据应用的新需求,跟踪分布式数据库系统的新发展,反映最新的大数据管理技术。
理论与实际相结合,实用性强。以流行的商用数据库Oracle和典型的大数据管理系统如HBase、Cassandra、Spanner、OceanBase等为例介绍相关理论的应用,易于读者掌握。
于戈 申德荣 等编著:于戈,博士,教授,博士生导师,CCF会士。现任东北大学计算机科学与工程学院执行院长,东北大学计算中心主任。曾任第五、六届国务院学科评议组成员,第十二、十三届国家自然科学基金委专家评审组成员。获得“中国高校青年教师奖”和省部级科学技术奖5项。
申德荣,博士,东北大学计算机科学与工程学院教授、博士生导师。现任中国计算机学会办公自动化专业委员会秘书长,中国计算机学会数据库专业委员会委员。获得国家发明专利5项,计算机软件登记4项。获省部级科学技术奖3项。
前言
教学建议
第1章分布式数据库系统概述
11引言及准备知识
111相关基本概念
112相关基础知识
12分布式数据库系统的基本概念
121节点/场地
122分布式数据库
123分布式数据库管理系统
124分布式数据库系统应用举例
125分布式数据库的特性
13分布式数据库系统的作用和特点
131分布式数据库系统的作用
132分布式数据库系统的特点
14分布式数据库系统中的关键技术
141关键技术
142典型的分布式数据库原型系统简介
15大数据应用与分布式数据库技术
151大数据类型和应用
152大数据特点
153大数据处理过程
154大数据管理新模式
155分布式大数据库系统及关键技术
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分布式大数据库系统
2101分布式大数据库系统的分类
2102分布式大数据库系统的体系结构
2103基于HDFS的分布式数据库
2104其他分布式数据库系统
211本章小结
习题
主要参考文献
第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大数据库的分布存储策略
3101分布式文件系统HDFS
3102基于SSTable的数据存储结构
3103大数据存储模型
3104数据分区策略
311大数据库分布式存储案例
3111Bigtable
3112Cassandra
3113Spanner
312本章小结
习题
主要参考文献
第4章分布式查询处理与优化
41查询处理基础
411查询处理目标
412查询优化的意义
413查询优化的基本概念
414查询优化的过程
42查询处理器
421查询处理器的特性
422查询处理层次
43查询分解
431查询规范化
432查询分析
433查询约简
434查询重写
44数据局部化
45片段查询的优化
46Oracle分布式查询处理与优化案例
47大数据库系统的查询API
471基于类SQL的查询语言
472基于编程接口的查询语言
48大数据库的查询处理及优化
481大数据库查询处理方法
482基于MapReduce的查询处理
483大数据库查询优化
49本章小结
习题
主要参考文献
第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大数据库的索引查询优化方法
581布隆过滤器
582键值二级索引
583跳跃表
59大数据库的查询处理与优化
591并行查询处理
592基于分析引擎的大数据库查询优化
510分布式缓存
5101分布式缓存概述
5102分布式缓存的体系结构
5103典型分布式缓存系统
5104分布式缓存与存储引擎的结合使用
511本章小结
习题
主要参考文献
第6章分布式事务管理
61事务的基本概念
611事务的定义
612事务的基本性质
613事务的种类
62分布式事务
621分布式事务的定义
622分布式事务的实现模型
623分布式事务管理的目标
63分布式事务的提交协议
631协调者和参与者
632两段提交协议的基本思想
633两段提交协议的基本流程
64分布式事务管理的实现
641LTM与DTM
642分布式事务执行的控制模型
643分布式事务管理的实现模型
65两段提交协议的实现方法
651集中式方法
652分布式的2PC
653分层式方法
654线性方法
66非阻塞分布式事务提交协议
661三段提交协议的基本思想
662三段提交协议的基本流程
67Oracle分布式事务管理案例
68大数据库的事务管理
681大数据库的事务管理问题
682大数据库系统设计的理论基础
683弱事务型与强事务型大数据库
684大数据库中的事务特性
685大数据库的事务实现方法
69本章小结
习题
主要参考文献
第7章分布式恢复管理
71分布式恢复概述
711故障类型
712恢复模型
72集中式数据库的故障恢复
721局部恢复系统的体系结构
722数据更新策略
723针对不同更新事务的恢复方法
73分布式事务的故障恢复
731两段提交协议对故障的恢复
732三段提交协议对故障的恢复
74分布式可靠性协议
741可靠性和可用性
742分布式可靠性协议的组成
743两段提交协议的终结协议
744两段提交协议的演变
745三段提交协议的终结协议
746三段提交协议的演变
75Oracle分布式数据库系统故障恢复案例
76大数据库的恢复管理
761大数据库的恢复管理问题
762大数据库系统中的故障类型
763大数据库系统的故障检测技术
764基于事务的大数据库容错技术
765基于冗余的大数据库容错技术
77本章小结
习题
主要参考文献
第8章分布式并发控制
81分布式并发控制的基本概念
811并发控制问题
812并发控制定义
82并发控制理论基础
821事务执行过程的形式化描述
822集中式数据库的可串行化问题
823分布式事务的可串行化问题
83基于锁的并发控制方法
831锁的类型和相容性
832封锁规则
833锁的粒度
84两段封锁协议
841基本的两段封锁协议
842严格的两段封锁协议
843可串行化证明
85分布式数据库并发控制方法
851基于锁的并发控制方法的实现
852基于时间戳的并发控制算法
853乐观的并发控制算法
86分布式死锁管理
861死锁等待图
862死锁的检测
863死锁的预防和避免
87Oracle分布式数据库系统并发控制案例
871Oracle中的锁机制
872Oracle中的并发控制
88大数据库并发控制技术
881事务读写模式扩展
882封锁机制扩展
883基于多版本并发控制扩展
884基于时间戳并发控制扩展
89本章小结
习题
主要参考文献
第9章数据复制与一致性
91数据复制的作用
92数据复制一致性模型
93分布式数据库复制策略
931数据复制的执行方式
932数据复制的实现方法
933数据复制的体系结构
94数据复制协议
941主从复制协议
942对等复制协议
95大数据库一致性协议
951Paxos协议
952反熵协议
953NWR协议
954向量时钟技术
96大数据库复制一致性管理
961基于Paxos的复制管理技术
962基于反熵的复制管理技术
963基于NWR的复制管理技术
964基于向量时钟的复制管理技术
97本章小结
习题
主要参考文献
第10章P2P数据管理系统
101P2P系统概述
102P2P系统的体系结构
1021集中式P2P网络
1022全分布式P2P网络
1023混合型P2P网络
103P2P系统中的数据管理
104资源的定位和路由
1041面向非结构化P2P网络的资源定位方法
1042面向结构化P2P网络的资源定位方法
105处理语义异构性
106查询处理与优化
1061查询处理
1062查询优化
107本章小结
习题
主要参考文献
第11章Web数据库集成系统
111Web数据库集成系统概述
112三种体系结构介绍
1121数据供应模式
1122数据收集模式
1123元搜索模式
113基于元搜索模式的Web数据库集成系统WDBIntegrator
1131系统总体结构
1132Web数据库资源搜索子系统
1133资源查询子系统
114本章小结
习题
主要参考文献
第12章大数据库系统研究进展
121数据模型的研究
1211支持大数据库管理的数据模型研究
1212读写方式
1213支持大数据库管理的分布式索引技术
1214支持的查询
122基于MapReduce框架的查询处理与优化技术研究
1221基于MapReduce的支持大数据处理的优化框架研究
1222基于MapReduce的支持大数据计算的优化策略研究
1223基于MapReduce的支持多数据集的连接查询研究
1224MapReduce与NoSQL数据库相结合的研究
123支持事务的研究
1231应用层保证事务一致性
1232本地事务支持
1233有限范围内的事务支持
1234弹性的事务支持
1235面向分区数据支持分布式事务的研究
1236异构多存储的可扩展的事务
124动态负载均衡技术的研究
1241面向多租户的动态迁移技术
1242面向查询处理的负载均衡技术
1243基于中间件的面向负载的动态均衡技术
125副本管理研究
1251自适应副本策略研究
1252数据一致性维护策略研究
1253多数据中心的副本一致性维护策略研究
126支持多存储模式的数据库系统
1261支持访问多数据模式的大数据库系统
1262自适应的多数据模式的大数据库系统
1263支持分析型数据的分布式数据库系统
127其他研究
128总结及研究展望
1281关键技术问题
1282研究挑战
习题
主要参考文献