登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2024年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2024年12月出版新書

2024年11月出版新書

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

『簡體書』大数据SQL优化:原理与实践 陈鹤 杨国栋

書城自編碼: 4060352
分類: 簡體書→大陸圖書→計算機/網絡數據庫
作者: 陈鹤 杨国栋
國際書號(ISBN): 9787111767039
出版社: 机械工业出版社
出版日期: 2024-12-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 505

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
经典与经学
《 经典与经学 》

售價:NT$ 398.0
颧种植理论与临床
《 颧种植理论与临床 》

售價:NT$ 2030.0
《胡适留学日记》汇校本(全四册)
《 《胡适留学日记》汇校本(全四册) 》

售價:NT$ 3468.0
特大型电网企业网络安全从业指南 Java代码审计与分析
《 特大型电网企业网络安全从业指南 Java代码审计与分析 》

售價:NT$ 806.0
心灵哲学
《 心灵哲学 》

售價:NT$ 653.0
世界体系论与中国(修订本)(中华当代学术著作辑要)
《 世界体系论与中国(修订本)(中华当代学术著作辑要) 》

售價:NT$ 653.0
丰田精益生产方式 图解版
《 丰田精益生产方式 图解版 》

售價:NT$ 407.0
现代建筑:一部批判的历史(第五版)
《 现代建筑:一部批判的历史(第五版) 》

售價:NT$ 908.0

編輯推薦:
大数据优化经历了从SQL优化到各种优化理论、技术、产品的过程,目前发展到再次回归SQL优化的阶段。SQL是大数据优化的根本,也是必然归宿。但是很多大数据相关从业者已经迷失在了繁多的优化理论和技术中,他们在面的众多平台、插件等各类产品时,会通过各种不同的技术进行优化工作,但是最终得到的效果并不能尽如人意。本书两位作者作为长期活跃在大厂研发一线的工程师,不仅对大数据优化有深入理解,还一直抱有一颗工匠之心,长期研究大数据优化的底层逻辑,最终总结得到一条可以从底层实现优化的方法,这套方法论具有一定的普适性。本书就是对这套方法论的完整呈现和深度分享。
內容簡介:
这是一本站在一线开发人员的视角,从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调优案例,还给出了内容平台数仓、查询高可用、实时性数仓等业务场景的解决方案。
關於作者:
陈鹤
大数据专家和架构师,现任东南亚某电商公司大数据专家,曾就职于VIVO等大厂。长期从事大数据架构、实时数据仓库、流批一体与数据应用平台架构研发工作。在Hadoop、Spark、Flink等方面积累了丰富的经验。曾先后主导或参与了多个电商、金融领域的数据体系建设、疑难项目改造、数据平台架构设计与实现项目。数据之力技术丛书编委会委员,PowerData社区核心成员,拥有丰富的大数据相关写作和授课经验。
杨国栋
数据之力技术丛书编委会主任,杭州电子科技大学硕士,前腾讯软件工程师,《Apache Pulsar原理解析与应用实践》作者。一直就职于头部互联网公司,从事大数据平台与基础架构研发相关工作,在大数据引擎与消息队列引擎方面,一线工作经验特别丰富。热衷知识分享,长期活跃于各个社区。
目錄
目 录 Contents
前言
认知篇
第1章 概述2
1.1 大数据的发展历程2
1.2 大数据为什么选用SQL4
1.2.1 标准化语言5
1.2.2 声明式编程6
1.2.3 借鉴关系数据库成熟理论8
1.3 大数据SQL的弊端9
1.3.1 易学难精9
1.3.2 表达能力有限10
1.3.3 与关系型数据库求同存异12
1.4 为什么要调优13
1.4.1 降本提效13
1.4.2 知其然并知其所以然15
原理篇
第2章 SQL的本质18
2.1 执行过程提炼18
2.2 抽象语法树20
2.3 SQL抽象语法树22
2.4 Hive执行原理24
2.4.1 词法解析25
2.4.2 语义分析26
2.4.3 逻辑优化28
2.4.4 物理优化29
2.5 Spark执行原理30
2.5.1 词法解析32
2.5.2 语义分析34
2.5.3 逻辑优化36
2.5.4 物理优化37
2.6 Flink执行原理39
2.6.1 词法解析40
2.6.2 语义分析42
2.6.3 逻辑优化43
2.6.4 物理优化45
实践篇
第3章 任劳任怨的引擎50
3.1 基于规则优化概述51
3.1.1 谓词下推52
3.1.2 常量堆叠54
3.1.3 常量传递55
3.1.4 等式传递55
3.1.5 布尔表达式简化56
3.1.6 BETWEEN-AND重写57
3.1.7 NOT取反重写58
3.1.8 简化IF/CASE WHEN条件
   表达式59
3.1.9 优化LIKE正则表达式59
3.1.10 简化CAST表达式60
3.1.11 简化UPPER/LOWER表
    达式60
3.1.12 优化二元表达式61
3.1.13 简化复杂类型数据结构的
    操作符61
3.1.14 合并投影62
3.1.15 列裁剪62
3.1.16 优化冗余别名62
3.1.17 替换NULL表达式63
3.1.18 CONCAT合并63
3.1.19 等式变换64
3.1.20 不等式变换64
3.2 基于代价优化的简析64
3.3 两种优化的局限性70
第4章 调优解决方案73
4.1 理解业务,选择需求73
4.2 利用执行计划76
4.3 利用统计信息79
4.4 利用日志82
4.5 利用分析工具87
4.5.1 Dr.Elephant87
4.5.2 火焰图93
4.5.3 Prometheus94
4.6 等价重写思想98
4.6.1 关系代数99
4.6.2 等价变换规则100
第5章 结构与参数调优103
5.1 参数调优103
5.1.1 并行执行103
5.1.2 预聚合105
5.1.3 扩大并行度108
5.1.4 内存分配113
5.1.5 数据重用117
5.1.6 Kafka限流119
5.2 利用Hint125
5.3 合理的表设计126
5.3.1 小文件合并126
5.3.2 分区表130
5.3.3 分桶表132
5.3.4 物化视图133
5.4.存储调整140
5.4.1 存储格式142
5.4.2 压缩类型147
第6章 子查询优化案例解析150
6.1 案例分享151
6.1.1 子查询改写为JOIN151
6.1.2 避免全表扫描154
6.1.3 避免无效过滤条件157
6.1.4 子查询改写为窗口函数158
6.1.5 复杂UDF缓存160
6.1.6 子查询改写为半连接164
6.2 深度剖析167
6.2.1 让人又爱又恨的子查询167
6.2.2 子查询消除算法168
6.2.3 子查询合并算法177
第7章 连接优化案例解析181
7.1 案例分享181
7.1.1 改写为UNION181
7.1.2 强制广播185
7.1.3 使用Bucket Join190
7.1.4 数据打散192
7.1.5 谨慎对待关联键的数据类型196
7.1.6 倾斜数据分离199
7.1.7 慎用外连接202
7.1.8 流Join的实现205
7.1.9 手动过滤下推209
7.1.10 先聚合,再关联215
7.1.11 一对一再膨胀策略216
7.2 深度剖析218
7.2.1 连接实现218
7.2.2 外连接消除算法220
7.2.3 连接排序算法222
第8章 聚合优化案例解析235
8.1 分而治之235
8.2 两阶段聚合237
8.3 多维聚合转UNION241
8.4 异常值过滤244
8.5 去重转为求和/计数246
8.6 使用其他结构去重 249
8.7 善用标签252
8.8 避免使用FINAL255
8.9 转为二进制处理258
8.10 行列互置的处理办法263
8.11 炸裂函数中的谓词下推269
8.12 数据膨胀导致的任务异常273
8.13 用MAX替换排序278
第9章 SQL优化的“最后一公里”281
9.1 谨慎操作NULL值281
9.2 决定性能的关键—Shuffle284
9.3 数据倾斜的危害294
9.4 切莫盲目升级版本297
9.5 引擎自优化的利弊308
案例篇
第10章 实战案例分享314
10.1 某电商业务营销活动实时指标
   优化方案314
10.2 某金融业务风控行为实时指标
   优化方案327
10.3 某银行监管项目实时指标优化
   方案331
10.4 某内容平台数仓建设历程338
10.4.1 建模指导思想339
10.4.2 数仓架构设计340
10.4.3 数仓建设理论343
1
內容試閱
前 言 Preface
为什么写这本书
结构化查询语言(Structured Query Language,SQL)是一种目的特殊的数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系型数据库系统。
自从Edgar Frank Codd于1970年发表了文章“Relational Model of Data Large Shared Data Banks” (大型共享数据库的关系数据模型)后,关系代数模型成为数据库领域的主流模型,他使用“关系”的数学概念来弥补当前数据库模型的诸多不足。1974年,Boyce和Chamberlin提出了一种介于关系代数与关系演算之间的结构化查询语言(SQL),至此关系型数据库理论与查询方式都有了完整的定义。1981年Codd因在关系型数据库方面的突出贡献获得了图灵奖。
数据已经成为各行各业的核心资产。为了更好地存储和管理数据,关系模型和关系型数据库应运而生。随着数字化程度不断提高,数据量发生指数级增长,传统的数据库系统不再能够支撑海量数据的存储与计算。传统的关系型数据库更加适合进行联机事务处理(On-Line Transaction Processing,OLTP),对数据的处理方式是以增、删、改为主,并支持较为简单的数据查询。在联机分析处理(On-Line Analytical Processing,OLAP )的业务场景下,传统的关系型数据库对数据的处理以查询操作为主。除了数据的海量增长,传统数据库对于OLAP场景的支持不足,也是大数据技术出现的背景之一。
大数据系统有强大的存储能力,同时也可以保证数据的完整性和安全性。大数据计算技术可以快速检索、分析和可视化数据,将海量的数据变成高价值的财富。大数据系统能够高效、快速、准确地对数据进行管理,使数据得到有效的存储。大数据系统没有彻底抛弃关系模型,关键查询语言——SQL依然有广泛应用,SQL领域中的理论与优化方法仍在大数据系统中发挥作用。
数据是数字文明中的要素,大数据系统可以通过对这些数据进行管理以将其转化为知识资产,而SQL语言则是开启这份宝库的钥匙。无论是关系型数据库还是大数据系统,SQL都是一把万能钥匙。
大数据发展至今已有近20年的历史,各类思想和框架日新月异、层出不穷。然而,在大数据SQL查询优化领域,缺少能够帮助数据开发人员或大数据技术爱好者掌握大数据SQL查询优化的全貌和精髓的书籍。因此,笔者决心将自己从业多年的经验及心得汇集于此。
本书的主要内容
本书主要由以下四篇构成。
认知篇。阐述大数据计算或存储引擎发展至今,最终都会选择SQL作为统一查询语言的原因及这种选择的利弊。
原理篇。透过现象看本质,以几个主流的引擎框架为例,通过深入源码的方式探索SQL执行背后的秘密。
实践篇。详细描述引擎查询优化器的两大优化策略,以及各自的实现原理、示例和局限性。以Hive、Spark、Flink等主流引擎为蓝本,探索SQL优化的解决思路和方法论。在实践中,通过配置参数、调整存储和改写查询语句等方法,从不同的视角对SQL语句进行优化。
案例篇。以实践篇的各种真实需求调优历程为基础,以点带面,以小明大,带领读者一同体验各类公司和行业在不同业务场景中所面临的问题、重难点以及最终输出的解决方案。
勘误及支持
由于笔者的水平和认知有限,书中难免会有笔误、差错、格式错误或其他问题,希望广大读者能够把发现的错误告诉笔者(ccchenhe@gmail.com),笔者将不胜感激。本书有各位读者的帮助和爱护,相信定能再上一层楼。
致谢
奋笔疾书,废寝忘食,心中一直牵挂的是父母及妻女,感谢父母给予了笔者生命并养育笔者成人,感谢妻子李雪朝夕相伴给予笔者鼓励,他们是笔者写作的动力源泉,也是笔者得以完稿的坚实后盾。
感谢PowerData社区的大力支持,包括张博、李奇峰、赖志明、朱胜涛、徐振超,以及名单之外的更多朋友,没有他们就没有本书。本书的内容源于社区成员在日常工作中遇到的问题或困惑,笔者认为本书也应该回归社区为众人服务。开源精神中最重要的就是参与和分享,能够坚持写下自己的所见所闻,与他人共享,是一件快事。
感谢每一位读者,让我们一起进步,你们将是本书继续完善的新动力。
陈鹤
于深圳

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2025 (香港)大書城有限公司 All Rights Reserved.