云原生数据仓库:原理与实践

云原生数据仓库:原理与实践
作 者: 李飞飞 周烜 杨程程 林亮 王远
出版社: 电子工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  李飞飞阿里云智能高级副总裁、阿里云数据库产品事业部负责人,ACM、CCF和IEEE会士(Fellow)。曾获ACM与IEEE多项大奖,世界互联网大会2019全球领先科技成果奖,浙江省科技进步一等奖,中国电子学会科技进步一等奖等。带领团队研发了阿里云企业级云原生数据库系统PolarDB,云原生数据仓库AnalyticDB,云原生多模数据库Lindorm,以及云数据库RDS,连续进入Gartner全球云数据库市场Cloud DBMS领导者象限。中国计算机学会(CCF)大数据专家委员会常委,数据库专业委员会常委。 周烜华东师范大学特聘教授,数据科学与工程学院副院长,国家级领军人才。2005年在新加坡国立大学取得博士学位,先后在德国 L3S 研究中心、澳大利亚联邦科工组织、中国人民大学任职,2017年加入华东师范大学。他的研究兴趣包括数据库系统和信息检索技术,曾负责多个国内外的科研项目和工业合作项目,开发各种数据管理系统。获2019年国家科技进步二等奖和2022年国家级教学成果二等奖。..胡卉芪华东师范大学数据科学与工程学院副教授。主要从事数据库系统与分布式系统方面的研究。曾获国家科学技术进步奖、教*育*部科技进步奖(主要参与人)等奖项。长期参与数据科学与工程学科建设,多年来专注于数据管理系统、数据库内核原理与数据等相关课程的教学与学生培养工作。 杨程程华东师范大学数据科学与工程学院研究员,分别于2012和2017年获得中国科学技术大学计算机科学与技术学院学士和博士学位。先后任职于上海华为、阿联酋起源人工智能研究院以及沙特阿卜杜拉国王科技大学。在SIGMOD、VLDB、ICDE、ISSTA、VLDB Journal、TKDE等领域内顶级学术会议和期刊发表论文20余篇,并获得NPC 2014最佳论文奖。先后承担了国家自然科学基金青年基金、上海市浦江人才计划、教*育*部产学研协同育人以及多项与企业的合作项目,参与了多项国家自然科学基金重点项目、面上项目。研究兴趣包括面向新型存储的数据管理、数据库和人工智能融合、数据清理等。 林亮阿里巴巴阿里云智能数据库产品事业部研究员,主要从事云原生数据系统与分布式系统方面的研发,负责阿里云自研云原生数据仓库AnalyticDB的研发工作,曾在SIGMOD、VLDB等国际顶级会议发表多篇学术论文,获得浙江省科技进步一等奖。 王远现任阿里云数据库产品管理与技术架构部负责人、开源Po...

内容简介

本书深入地探讨云原生数据仓库的理论知识与技术实践,涵盖数据仓库的发展历程、大数据处理技术、云原生数据仓库的概念与特点,以及云计算时代的数据仓库技术。书中详细介绍云原生数据仓库的架构设计,计算引擎、优化器、存储的关键技术,以及资源管理与调度等知识。同时,本书结合Redshift、Snowflake、BigQuery等典型的云原生数据仓库,以及AnalyticDB等具有代表性的国产数据仓库,介绍大量的实践案例。此外,书中针对云原生数据仓库的资源调度、查询优化、运维管理等方面进行深入的剖析,提供大量的最佳实践和应用场景。

图书目录

第1章 数据仓库与大数据处理技术概述/1

1.1 数据仓库发展概述 /2

1.1.1 萌芽:OLTP 数据库与数据仓库概念的提出 /2

1.1.2 发展:联机分析处理与信息仓库集成理论 /6

1.1.3 成熟:商用数据仓库与数据仓库建模理论 /13

1.2 大数据处理技术与数据仓库/20

1.2.1 大数据处理技术的起源 /21

1.2.2 分布式技术 /22

1.2.3 经典大数据处理架构 /28

1.2.4 湖仓一体 /29

1.3 数据仓库发展趋势 /31

1.3.1 云原生与分布式 /31

1.3.2 大数据与数据库一体化 /33

1.3.3 弹性与Serverless 扩容计费 /34

1.3.4 智能化 /36

1.3.5 数据共享与安全可信 /37

第2章 数据仓库与云计算/39

2.1 云计算时代数据仓库的发展 /40

2.1.1 基础设施服务化 /40

2.1.2 数据仓库服务化 /43

2.2 云计算时代数据仓库技术的机遇与挑战 /45

2.2.1 高弹性和平台成本之间的权衡 /45

2.2.2 稳定性挑战 /46

2.2.3 计算存储带宽瓶颈 /47

2.2.4 安全的挑战 /47

2.3 云原生数据仓库的技术特点 /48

2.3.1 存算分离与资源池化 /48

2.3.2 超融合基础架构 /49

2.3.3 高可用 /49

2.3.4 自服务 /49

2.3.5 分层架构与弹性扩展 /50

2.3.6 数据实时性与多级一致性 /50

2.3.7 数据开放性与共享 /51

2.3.8 计算多样性 /51

第3章 云原生数据仓库架构/53

3.1 设计理念/54

3.1.1 充分利用云资源 /54

3.1.2 纵向解耦与横向弹性 /54

3.1.3 一体化数据处理 /55

3.2 参考架构/56

3.3 典型云原生数据仓库/ 58

3.3.1 Redshift / 58

3.3.2 Snowflake / 63

3.3.3 BigQuery / 69

3.3.4 Databricks / 72

3.3.5 AnalyticDB / 74

3.4 云原生数据仓库比较/77

3.4.1 存算分离 /77

3.4.2 弹性能力与可扩展性 /77

3.4.3 Serverless 支持 / 78

3.4.4 计算模型 /78

3.4.5 ACID 语义 /78

3.4.6 生态兼容 /79

第4章 计算引擎关键技术/80

4.1 执行模型/ 81

4.1.1 迭代模型 /81

4.1.2 物化模型 /82

4.1.3 批处理模型 /83

4.2 单机执行模型/ 84

4.2.1 执行模型 /84

4.2.2 典型执行算子 /85

4.2.3 执行算子优化 /87

4.3 分布式执行框架/ 91

4.3.1 MPP 架构 / 91

4.3.2 BSP /94

4.4 典型交互模式/ 98

4.4.1 批处理 / 99

4.4.2 交互式 /101

4.4.3 实时检索 /102

4.4.4 机器学习 /103

4.5 AnalyticDB计算引擎实践/104

4.5.1 AnalyticDB 的执行模型 /105

4.5.2 AnalyticDB 的计算资源调度 /111

4.5.3 AnalyticDB 混合负载管理 /117

第5章 优化器关键技术/123

5.1 优化技术分类/124

5.2 成熟优化器模型/125

5.2.1 分层搜索 /125

5.2.2 统一搜索 /126

5.3 深入CBO/133

5.3.1 代价模型与参数估计 /133

5.3.2 动态抽样 /140

5.3.3 查询重优化 /143

5.4 AnalyticDB优化器实践/150

5.4.1 主体框架 /150

5.4.2 统计信息管理 /152

5.4.3 湖仓一体优化器 /157

第6章 数据仓库存储关键技术/158

6.1 湖仓架构/159

6.1.1 Azure、AWS 和Open Data Lakehouse / 160

6.1.2 Hudi、IceBerg 和Delta Lake /165

6.2 数据仓库存储架构/172

6.2.1 单机存储架构 /172

6.2.2 分布式共享存储 /173

6.3 典型存储格式/175

6.3.1 行存储 /176

6.3.2 列存储 /177

6.3.3 行列混合存储 /178

6.4 关键数据结构、索引与压缩技术/ 180

6.4.1 数据结构 /180

6.4.2 索引实现 /186

6.4.3 典型压缩算法 /197

6.5 数据分区技术/204

6.5.1 哈希分区 /205

6.5.2 Range 分区 / 206

6.5.3 其他数据分布模式 /207

6.5.4 数据冷热分层及生命周期管理 /208

6.6 数据一致性和可用性/209

6.6.1 数据一致性概念与分级 /210

6.6.2 二阶段提交 /212

6.6.3 多版本并发控制 /213

6.6.4 分布式一致性协议 /215

6.6.5 数据可用性 /219

6.6.6 数据实时性 /220

6.6.7 备份恢复 /221

第7章 资源管理与调度/223

7.1 云上资源调度的挑战与机遇/224

7.1.1 Serverless 的服务级别协议 / 224

7.1.2 多租户系统 /224

7.1.3 预测模型 /225

7.2 典型资源调度框架/225

7.2.1 Yarn/Yarn2 /225

7.2.2 Mesos /229

7.2.3 Kubernetes /232

7.3 AnalyticDB资源调度实践/238

7.3.1 云库存调度 / 238

7.3.2 资源利用率 /240

7.3.3 按需弹性 /245

第8章 AnalyticDB云上应用实践/247

8.1 实例创建/248

8.2 数据接入/250

8.2.1 Serverless 的服务级别协议 / 250

8.2.2 数据导入方式介绍 /250

8.2.3 数据导入性能优化 /254

8.3 数据类型和基本操作/257

8.3.1 数据类型 / 257

8.3.2 系统函数 /257

8.3.3 物化视图 /258

8.3.4 全文检索 / 259

8.3.5 DDL /262

8.3.6 DML /263

8.3.7 DQL /263

8.3.8 DCL / 264

8.3.9 元数据库数据字典 /264

8.4 查询优化/264

8.4.1 智能诊断与调优 / 264

8.4.2 调优查询 /270

8.5 运维管理/276

8.5.1 工作负载管理 /276

8.5.2 监控与报警 /277

8.5.3 安全管理 /277

8.5.4 备份与恢复 /279

8.5.5 变配与扩容 / 279

8.5.6 维护时间与运维事件 /281

8.5.7 数据资产管理 /282

8.5.8 标签管理 / 283

8.6 最佳实践/283

8.6.1 数据资产管理 /283

8.6.2 数据变更最佳实践 /286

8.6.3 数据查询最佳实践 /287

8.6.4 负载管理最佳实践 /287

8.7 典型应用场景/290

8.7.1 实时数据仓库 / 290

8.7.2 精准营销 /290

8.7.3 商业智能报表 /290

8.7.4 多源联合分析 /291

8.7.5 交互式查询 /291

参考文献/292