随着社交网络等新型应用的兴起和云计算等新技术的快速发展,人类获取数据的规模正以前所未有的速度增长,数据中包含了大量有价值的信息,能够有效助力社会、经济、科技的发展,因此数据管理与分析方面的研究工作倍受关注。本书针对该领域的研究热点和前沿技术进行了深入浅出的介绍,包括图数据、云数据库系统、时空数据、数据质量、数据库智能化等,帮助读者构建宏观视野,把握领域前沿。
本书适合数据管理与分析等相关领域的科研人员、年轻教师、研究生,以及从事相关工作的人员阅读。
中国工程院院士郑纬民作序
数据库领域专家学者携手打造,系统构建知识体系
综述当下领域前沿研究方向、理论与技术
以宏观视野把握领域前沿,获取领域底层逻辑
随着社交网络等新型应用的兴起和云计算等新技术的快速发展,人类所获取的数据规模正以前所未有的速度增长,与大数据相关的技术变革成为当今世界的热点话题。大数据在信息科学、物理学、生物学、环境生态学等领域以及军事、金融、通信等行业普遍存在,引起人们的极大关注。对数据进行管理与分析,可以有效提炼人们感兴趣的信息,帮助人们进行决策,为后续研究提供坚实的数据支撑。
随着新兴领域的发展,大数据具有种类繁多的特性。为了反映数据之间的关联关系,图数据的管理与分析应运而生。现实世界中的许多应用场景都需要用图结构表示,例如,传统应用中的最优运输路线确定、疾病暴发路径预测、科技文献引用关系分析、生物信息网络分析等,新兴应用中的社交网络分析、知识图谱、数据万维网、人脑网络等。随着数据规模的不断扩大,传统的数据库已经不能满足人们对数据存储和管理的需求,云数据库系统随之诞生,它融合了云基础服务的弹性和数据库系统的高可用、高性能的数据处理能力,可以适应业务规模波动的场景,同时具有高可用、强容灾、自动化运维、智能优化的特性,成为数据库市场的主导力量。随着大数据时代的发展,越来越多的数据应用场景所涉及的数据模态变得更加多样化,而传统的单模态数据不能满足人们的需求。为应对多模态数据应用场景,多模态数据管理领域飞速发展,为数据存储、建模以及查询带来了全新的挑战。随着GPS定位技术与移动互联网的快速发展,时空数据呈现爆发式增长。时空数据在形态上具有海量、多维、动态等特性,可以满足城市计算、交通运输、行为研究等领域中不断涌现的用户需求,因此受到了广泛的关注。在现实生活中,数据并不是一成不变的,而是不间断到达和被处理的连续数据流。这种连续的数据流是自然产生的。因此,如何对流数据进行管理与分析,根据实时的数据流做出决策和推断,对于许多任务有着不可替代的作用。随着比特币进入人们的视野,区块链作为比特币的底层技术,代表一种革新性的理念和技术范式,旨在利用数据和技术来建立信任机制与体系,进而建立新的信用体系,从而为数字经济和数字化转型奠定强大基础。
数据类型的多样性为数据的管理与分析带来了巨大的挑战,也为数据管理领域的相关研究带来了巨大的机遇。然而,当人们获取和利用的数据量飞速增长时,由于容错标准不完善、数据存储格式不一致、信息来源可靠性低、数据更新周期过长等,数据的错误率和混乱程度会大幅提升,使得数据工程中所用数据的质量不够优质,这很可能会给诸多领域带来严重的负面影响。因此,如何制定相关规则,对生命周期的每个阶段(计划、获取、存储、共享、维护、应用、消亡)里可能发生的各类数据质量问题进行识别、度量、监控、预警等一系列管理活动,并通过改善和提高组织的管理水平使数据质量获得进一步提高,成为数据质量管理的研究目标。而随着数据管理相关研究的不断深入,新的问题也随之产生。数据收集是数据驱动任务中重要的一步,随着隐私安全问题逐渐受到关注,各国的法律法规加强了对数据收集的限制,使得隐私计算成为焦点,如何实现数据隐私安全成为数据库领域关注的研究问题。数据库在基础硬件和上层软件之间起到了“承上启下”的作用,向下发挥硬件算力,向上支撑上层应用。底层硬件技术决定了数据存取、并发处理等的物理极限性能,以NVM、高性能处理器和硬件加速器、RDMA高性能网络为代表的新硬件技术驱动的数据管理,可以改变传统的数据管理系统的底层载体支撑,数据管理系统将向混合存储环境、异构计算架构和高性能互联网络逐步演进。而对于上层软件系统,在大数据和云计算快速发展的背景下,数据库服务的数量剧增,对数据库查询优化、索引推荐、故障诊断、参数调优等提出了更高的要求。传统的依赖于启发式算法或者人工干预的数据库系统已经难以满足其需求。因此,结合机器学习技术实现包括数据库的自优化、自管理、自监控、自诊断、自恢复等在内的多维度的高度自治功能的数据库系统智能化的研究受到了广泛关注。
综上所述,数据管理与分析技术的研究和开发不仅具有重要的理论研究意义,而且具有广泛的实际应用价值。因此,本书对上述数据管理领域的研究热点和前沿技术进行了深入浅出的介绍,希望本书能够为数据管理与分析专业的研究生开展研究工作提供良好的参考。
袁野
北京理工大学计算机学院教授,国家杰青和优青基金获得者。长期从事大数据管理与分析研究,发表CCF A类论文100余篇。主持国家自然科学基金重点项目、科技部重点研发项目。获中国电子学会自然科学一等奖,和辽宁省科技进步一等奖。担任中国计算机学会数据库专业委员会副主任。香港科技大学、香港中文大学、英国爱丁堡大学访问学者。
崔斌
北京大学计算机学院教授,数据科学与工程研究所所长。长期从事数据库系统、大数据管理与分析研究,在国际顶级期刊、会议发表论文200余篇。担任中国计算机学会数据库专业委员会副主任,DSE期刊主编,VLDB 2024大会主席。获得“微软青年教授奖”、“CCF 青年科学家奖”、自然科学二等奖,2023年当选IEEE Fellow。
李战怀
西北工业大学计算机学院教授,工业和信息化部大数据存储与管理重点实验室主任,中国计算机学会数据库专业委员会主任。主要从事大数据管理技术、海量信息存储系统等研究。主持国家973课题,科技部重点研发计划课题,国家自然科学基金重点项目、重大国际合作项目,国家863计划重大项目课题等。获省部级一等奖、二等奖各两项。
丛书序
“十讲”序
前言
第1讲 图数据管理本讲概览/ 2
1.1 图数据库的数据模型和查询语言/ 2
1.1.1 数据模型/ 2
1.1.2 查询语言/ 5
1.2 图数据库的系统架构/ 8
1.2.1 Neo4j/ 8
1.2.2 Jena/ 10
1.2.3 gStore/ 12
1.3 图数据库中的查询处理/ 15
1.3.1 基于探索的子图匹配算法/ 16
1.3.2 基于连接的子图匹配算法/ 19
1.3.3 分布式子图匹配算法/ 20
1.4 本讲小结/ 22
参考文献/ 22
第2讲 云数据管理本讲概览/ 28
2.1 云数据库概述/ 28
2.1.1 云数据库的定义/ 29
2.1.2 云数据库的优势/ 29
2.2 云服务简介/ 30
2.2.1 云服务的背景/ 30
2.2.2 云服务的特性/ 32
2.3 云托管数据库/ 33
2.3.1 传统数据库的制约/ 34
2.3.2 云托管数据库的起源/ 34
2.3.3 云托管数据库的利弊/ 35
2.4 云原生数据库/ 36
2.4.1 云原生数据库系统架构/ 37
2.4.2 OLTP云数据库架构/ 37
2.4.3 OLAP云数据库架构/ 42
2.4.4 云原生数据库系统关键技术/ 45
2.5 本讲小结/ 56
参考文献/ 56
第3讲 多模态数据管理本讲概览/ 60
3.1 问题背景/ 60
3.2 数据存储/ 61
3.2.1 分散存储/ 62
3.2.2 统一存储/ 64
3.3 数据建模/ 65
3.3.1 统一建模/ 67
3.3.2 混合建模/ 69
3.4 数据查询/ 70
3.4.1 查询执行/ 71
3.4.2 查询优化/ 72
3.5 多模态数据管理系统/ 74
3.6 本讲小结/ 76
参考文献/ 76
第4讲 时空数据管理本讲概览/ 78
4.1 时空数据管理概述/ 78
4.1.1 空间数据管理的基本概念/ 78
4.1.2 轨迹数据管理的基本概念/ 78
4.2 空间数据管理/ 79
4.2.1 空间数据索引/ 79
4.2.2 空间区域查询/ 86
4.2.3 空间数据k最近邻查询/ 86
4.2.4 空间数据Skyline查询/ 91
4.3 轨迹数据管理/ 96
4.3.1 地图匹配/ 96
4.3.2 轨迹数据索引/ 100
4.3.3 轨迹数据相似性查询/ 104
4.3.4 轨迹数据聚类/ 107
4.4 本讲小结/ 110
参考文献/ 111
第5讲 流数据管理本讲概览/ 124
5.1 流数据管理的基本概念/ 124
5.1.1 流数据管理/ 124
5.1.2 流数据管理的作用/ 126
5.2 基础流算法/ 126
5.2.1 常见数据流模型/ 126
5.2.2 元素个数估计/ 129
5.2.3 top k元素估计与直方图/ 131
5.2.4 数据流上不同元素个数估计/ 133
5.3 数据挖掘与流算法/ 137
5.3.1 数据流上的频繁项估计/ 138
5.3.2 数据流上的聚类/ 139
5.4 进阶流算法/ 142
5.4.1 Count Sketch/ 142
5.4.2 Count-Min Sketch/ 144
5.5 流数据管理系统/ 145
5.5.1 常见的流数据管理系统/ 146
5.5.2 流数据管理系统的比较/ 152
5.5.3 批、流数据管理系统对比/ 155
5.6 流数据的应用与未来/ 160
5.6.1 流数据的应用/ 160
5.6.2 流数据管理的未来展望/ 162
5.7 本讲小结/ 162
参考文献/ 163
第6讲 区块链数据管理本讲概览/ 168
6.1 区块链概述/ 168
6.1.1 区块链:信任构建的基础设施/ 168
6.1.2 区块链发展历史/ 169
6.1.3 区块链架构划分/ 170
6.2 区块链数据存储/ 170
6.2.1 链式数据结构/ 170
6.2.2 默克尔树/ 171
6.2.3 区块数据和状态数据/ 172
6.2.4 数据存储方式/ 174
6.3 共识算法/ 176
6.3.1 PoX系列/ 177
6.3.2 Raft共识协议/ 179
6.3.3 PBFT协议/ 180
6.4 交易处理方式/ 182
6.4.1 “共识-执行”模型/ 183
6.4.2 “执行-共识-验证”模式/ 185
6.4.3 分片执行/ 187
6.5 区块链查询方法/ 189
6.5.1 可验证查询/ 189
6.5.2 基于可信执行环境的查询处理/ 191
6.6 本讲小结/ 192
参考文献/ 192
第7讲 数据质量管理本讲概览/ 196
7.1 概述/ 196
7.1.1 数据质量管理的意义与价值/ 196
7.1.2 数据质量管理研究历程介绍/ 198
7.2 数据质量/ 200
7.2.1 数据质量维度/ 200
7.2.2 数据质量评估模型/ 201
7.2.3 数据可用性问题/ 203
7.3 数据可用性理论研究/ 204
7.3.1 数据可用性概念与表达机理/ 205
7.3.2 数据可用性的判定理论/ 207
7.3.3 大数据量质融合管理理论与技术/ 209
7.3.4 弱可用数据的近似计算理论与算法/ 210
7.4 数据清洗技术研究/ 212
7.4.1 数据质量问题分类/ 212
7.4.2 清洗流程概述/ 213
7.5 数据质量持续改进模型与技术/ 214
7.5.1 人工参与的数据清洗模型/ 214
7.5.2 面向大数据的清洗技术/ 219
7.5.3 数据质量问题溯源分析技术/ 223
7.5.4 人工智能赋能的数据清洗技术/ 226
7.6 数据清洗工具与系统介绍/ 229
7.6.1 基于规则约束的数据清洗工具/ 229
7.6.2 基于众包的数据清洗工具/ 235
7.6.3 基于