• 大数据SQL优化:原理与实践
21年品牌 40万+商家 超1.5亿件商品

大数据SQL优化:原理与实践

全新正版 极速发货

63.28 6.4折 99 全新

仅1件

广东广州
认证卖家担保交易快速发货售后保障

作者陈鹤 杨国栋 著

出版社机械工业出版社

ISBN9787111767039

出版时间2025-01

装帧平装

开本16开

定价99元

货号1203474378

上书时间2024-12-25

谢岳书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录
目 录 Contents<br />前言<br />认知篇<br />第1章 概述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 />第10章 实战案例分享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

内容摘要
这是一本站在一线开发人员的视角,从SQL的本质出发,采用理论与实践相结合、案例与分析相结合、作者经验与一线需求相结合的方式,深度解读大数据SQL优化核心技术和解决方案的工具书。本书主要面向大数据初中级技术人员,期望帮大家深度理解大数据SQL优化原理,掌握SQL优化的落地实践方法,从而真正“玩转”大数据SQL优化技术,根据实际问题和需求设计出有针对性的提升SQL性能的解决方案。
本书共分为4篇,包括10章。
认知篇(第1章)主要面向初学者阐述为什么大数据计算或存储引擎发展至今最终选择SQL作为统一查询语言的原因及利弊,大数据SQL从业者目前面临的主要问题,以及调优的两个根本目标。
原理篇(第2章)以深入浅出的方式解读SQL的本质。为了降低读者理解的门槛,本篇还以Hive、Spark和Flink这三个主流的引擎为例,从源码的角度探索SQL执行背后的秘密。
实践篇(第3~9章)首先深入解读引擎查询优化器的两大优化策略——基于规则的优化和基于代价的优化的实现原理、示例和局限性,然后以Hive、Spark、Flink等主流引擎为蓝本,探索SQL优化(包括结构与参数调优、子查询优化、连接优化、聚合优化)的解决思路和方法论,并给出作者多年总结的一些“坑”。
案例篇(第10章)以实践篇的各种真实需求调优历程为基础,以点带面,以小明大,分享电商、金融、银行这三个典型行业的典型公司大数据SQL调优案例,还给出了内容平台数仓、查询高可用、实时性数仓等业务场景的解决方案。

主编推荐
大数据优化经历了从SQL优化到各种优化理论、技术、产品的过程,目前发展到再次回归SQL优化的阶段。SQL是大数据优化的根本,也是必然归宿。但是很多大数据相关从业者已经迷失在了繁多的优化理论和技术中,他们在面的众多平台、插件等各类产品时,会通过各种不同的技术进行优化工作,但是最终得到的效果并不能尽如人意。本书两位作者作为长期活跃在大厂研发一线的工程师,不仅对大数据优化有深入理解,还一直抱有一颗工匠之心,长期研究大数据优化的底层逻辑,最终总结得到一条可以从底层实现优化的方法,这套方法论具有一定的普适性。本书就是对这套方法论的完整呈现和深度分享。

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP