大数据sql优化 与实践 数据库 陈鹤,杨国栋 新华正版
¥
70.3
7.1折
¥
99
全新
库存10件
作者陈鹤,杨国栋
出版社机械工业出版社
ISBN9787111767039
出版时间2025-01
版次1
装帧平装
开本16
页数384页
字数474千字
定价99元
货号xhwx_1203474378
上书时间2024-12-25
商品详情
- 品相描述:全新
-
正版特价新书
- 商品描述
-
目录:
目 录 contents<br />前言<br />认知篇<br />章 概述2<br />1.1 大数据的发展历程2<br />1.2 大数据为什么选用sql4<br />1.2.1 标准化语言5<br />1.2.2 声明式编程6<br />1.2.3 借鉴关系数据库成熟理论8<br />1.3 大数据sql的弊端9<br />1.3.1 易学难精9<br />1.3.2 表达能力有限10<br />1.3.3 与关系型数据库求同存异12<br />1.4 为什么要调优13<br />1.4.1 降本提效13<br />1.4.2 知其然并知其所以然15<br />篇<br />第2章 sql的本质18<br />2.1 执行过程提炼18<br />2.2 抽象语法树20<br />2.3 sql抽象语法树22<br />2.4 hive执行24<br />2.4.1 词法解析25<br />2.4.2 语义分析26<br />2.4.3 逻辑优化28<br />2.4.4 物理优化29<br />2.5 spark执行30<br />2.5.1 词法解析32<br />2.5.2 语义分析34<br />2.5.3 逻辑优化36<br />2.5.4 物理优化37<br />2.6 flink执行39<br />2.6.1 词法解析40<br />2.6.2 语义分析42<br />2.6.3 逻辑优化43<br />2.6.4 物理优化45<br />实践篇<br />第3章 任劳任怨的引擎50<br />3.1 基于规则优化概述51<br />3.1.1 谓词下推52<br />3.1.2 常量堆叠54<br />3.1.3 常量传递55<br />3.1.4 等式传递55<br />3.1.5 布尔表达式简化56<br />3.1.6 between-and重写57<br />3.1.7 not取反重写58<br />3.1.8 简化if/case when条件<br /> 表达式59<br />3.1.9 优化like正则表达式59<br />3.1.10 简化cast表达式60<br />3.1.11 简化upper/lower表<br /> 达式60<br />3.1.12 优化二元表达式61<br />3.1.13 简化复杂类型数据结构的<br /> 作符61<br />3.1.14 合并投影62<br />3.1.15 列裁剪62<br />3.1.16 优化冗余别名62<br />3.1.17 替换null表达式63<br />3.1.18 concat合并63<br />3.1.19 等式变换64<br />3.1.20 不等式变换64<br />3.2 基于代价优化的简析64<br />3.3 两种优化的局限70<br />第4章 调优解决方案73<br />4.1 理解业务,选择需求73<br />4.2 利用执行计划76<br />4.3 利用统计信息79<br />4.4 利用志82<br />4.5 利用分析工具87<br />4.5.1 dr.elephant87<br />4.5.2 火焰图93<br />4.5.3 prometheus94<br />4.6 等价重写思想98<br />4.6.1 关系代数99<br />4.6.2 等价变换规则100<br />第5章 结构与参数调优103<br />5.1 参数调优103<br />5.1.1 并行执行103<br />5.1.2 预聚合105<br />5.1.3 扩大并行度108<br />5.1.4 内存分配113<br />5.1.5 数据重用117<br />5.1.6 kafka限流119<br />5.2 利用hint125<br />5.3 合理的表设计126<br />5.3.1 小文件合并126<br />5.3.2 分区表130<br />5.3.3 分桶表132<br />5.3.4 物化视图133<br />5.4.存储调整140<br />5.4.1 存储格式142<br />5.4.2 压缩类型147<br />第6章 子查询优化案例解析150<br />6.1 案例分享151<br />6.1.1 子查询改写为join151<br />6.1.2 避全表扫描154<br />6.1.3 避无效过滤条件157<br />6.1.4 子查询改写为窗函数158<br />6.1.5 复杂udf缓存160<br />6.1.6 子查询改写为半连接164<br />6.2 深度剖析167<br />6.2.1 让人又爱又恨的子查询167<br />6.2.2 子查询消除算法168<br />6.2.3 子查询合并算法177<br />第7章 连接优化案例解析181<br />7.1 案例分享181<br />7.1.1 改写为union181<br />7.1.2 强制广播185<br />7.1.3 使用bucket join190<br />7.1.4 数据打散192<br />7.1.5 谨慎对待关联键的数据类型196<br />7.1.6 倾斜数据分离199<br />7.1.7 慎用外连接202<br />7.1.8 流join的实现205<br />7.1.9 手动过滤下推209<br />7.1.10 先聚合,再关联215<br />7.1.11 一对一再膨胀策略216<br />7.2 深度剖析218<br />7.2.1 连接实现218<br />7.2.2 外连接消除算法220<br />7.2.3 连接排序算法222<br />第8章 聚合优化案例解析235<br />8.1 分而治之235<br />8.2 两阶段聚合237<br />8.3 多维聚合转union241<br />8.4 异常值过滤244<br />8.5 去重转为求和/246<br />8.6 使用其他结构去重 249<br />8.7 善用标签252<br />8.8 避使用final255<br />8.9 转为二进制处理258<br />8.10 行列互置的处理办法263<br />8.11 炸裂函数中的谓词下推269<br />8.12 数据膨胀导致的任务异常273<br />8.13 用max替换排序278<br />第9章 sql优化的“后一公里”281<br />9.1 谨慎作null值281<br />9.2 决定能的关键—shuffle284<br />9.3 数据倾斜的危害294<br />9.4 切莫盲目升级版本297<br />9.5 引擎自优化的利弊308<br />案例篇<br />0章 实战案例分享314<br />10.1 某电商业务营销活动实时指标<br /> 优化方案314<br />10.2 某金融业务风控行为实时指标<br /> 优化方案327<br />10.3 某银行监管项目实时指标优化<br /> 方案331<br />10.4 某内容台数仓建设历程338<br />10.4.1 建模指导思想339<br />10.4.2 数仓架构设计340<br />10.4.3 数仓建设理论343<br />10.4.4 通用设计方法347<br />10.4.5 数仓规范349<br />10.4.6 各层级具体实施过程351<br />10.5 订单冷备数据查询高可用方案355<br />10.6 浅谈实时数仓建设366<br />10.6.1 各类架构的利弊367<br />10.6.2 分层有没有意义369<br />10.6.3 确定计算不等于正确结果369<br />10.6.4 模糊的正好一次372<br />10.6.5 流表相对373
内容简介:
这是一本站在一线开发人员的视角,从ql的本质出发,采用理论与实践相结合、案例与分析相结合、作者经验与一线需求相结合的方式,深度解读大数据ql优化核心技术和解决方案的工具书。本书主要面向大数据初中级技术人员,期望帮大家深度理解大数据ql优化,掌握ql优化的落地实践方法,从而真正“玩转”大数据ql优化技术,根据实际问题和需求设计出有针对的提升ql能的解决方案。
本书共分为4篇,包括10章。
认知篇(章)主要面向初学者阐述为什么大数据计算或存储引擎发展至今终选择ql作为统一查询语言的原因及利弊,大数据ql从业者目前面临的主要问题,以及调优的两个根本目标。
篇(第2章)以深入浅出的方式解读ql的本质。为了降低读者理解的门槛,本篇还以hive、park和flink这三个主流的引擎为例,从源码的角度探索ql执行背后的秘密。
实践篇(第3~9章)首先深入解读引擎查询优化器的两大优化策略——基于规则的优化和基于代价的优化的实现、示例和局限,然后以hive、park、flink等主流引擎为蓝本,探索ql优化(包括结构与参数调优、子查询优化、连接优化、聚合优化)的解决思路和方,并给出作者多年结的一些“坑”。
案例篇(0章)以实践篇的各种真实需求调优历程为基础,以点带面,以小明大,分享电商、金融、银行这三个典型行业的典型公司大数据ql调优案例,还给出了内容台数仓、查询高可用、实时数仓等业务场景的解决方案。
作者简介:
陈鹤amp;lt;br /gt;大数据专家和架构师,现任东南亚某电商公司大数据专家,曾职于vivo等大厂。长期从事大数据架构、实时数据仓库、流批一体与数据应用台架构研发工作。在hadoop、park、flink等方面积累了丰富的经验。曾先后主导或参与了多个电商、金融领域的数据体系建设、疑难项目改造、数据台架构设计与实现项目。数据之力技术丛书编委会委员,powerdata社区核心成员,拥有丰富的大数据相关写作和授课经验。amp;lt;br /gt;amp;lt;br /gt;杨国栋amp;lt;br /gt;数据之力技术丛书编委会主任,杭州电子科技大学硕士,前腾讯软件工程师,apache pular解析与应用实践作者。一直职于头部互联网公司,从事大数据台与基础架构研发相关工作,在大数据引擎与消息队列引擎方面,一线工作经验特别丰富。热衷知识分享,长期活跃于各个社区。
— 没有更多了 —
以下为对购买帮助不大的评价