![]()
内容推荐 本书深入地探讨云原生数据仓库的理论知识与技术实践,主要内容涵盖数据仓库的发展历程、大数据处理技术、云原生数据仓库的概念与特点,以及云计算时代的数据仓库技术。书中详细介绍云原生数据仓库的架构设计,计算引擎、优化器、存储的关键技术,以及资源管理与调度等知识。同时,本书结合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 |