幫助中心 | 我的帳號 | 關於我們

大數據SQL優化(原理與實踐)/數據之力技術叢書

  • 作者:陳鶴//楊國棟|責編:孫海亮
  • 出版社:機械工業
  • ISBN:9787111767039
  • 出版日期:2025/01/01
  • 裝幀:平裝
  • 頁數:374
人民幣:RMB 99 元      售價:
放入購物車
加入收藏夾

內容大鋼
    這是一本站在一線開發人員的視角,從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調優案例,還給出了內容平台數倉、查詢高可用、實時性數倉等業務場景的解決方案。

作者介紹
陳鶴//楊國棟|責編:孫海亮

目錄
前言
認知篇
  第1章  概述
    1.1  大數據的發展歷程
    1.2  大數據為什麼選用SQL
      1.2.1  標準化語言
      1.2.2  聲明式編程
      1.2.3  借鑒關係資料庫成熟理論
    1.3  大數據SQL的弊端
      1.3.1  易學難精
      1.3.2  表達能力有限
      1.3.3  與關係型資料庫求同存異
    1.4  為什麼要調優
      1.4.1  降本提效
      1.4.2  知其然並知其所以然
原理篇
  第2章  SQL的本質
    2.1  執行過程提煉
    2.2  抽象語法樹
    2.3  SQL抽象語法樹
    2.4  Hive執行原理
      2.4.1  詞法解析
      2.4.2  語義分析
      2.4.3  邏輯優化
      2.4.4  物理優化
    2.5  Spark執行原理
      2.5.1  詞法解析
      2.5.2  語義分析
      2.5.3  邏輯優化
      2.5.4  物理優化
    2.6  Flink執行原理
      2.6.1  詞法解析
      2.6.2  語義分析
      2.6.3  邏輯優化
      2.6.4  物理優化
實踐篇
  第3章  任勞任怨的引擎
    3.1  基於規則優化概述
      3.1.1  謂詞下推
      3.1.2  常量堆疊
      3.1.3  常量傳遞
      3.1.4  等式傳遞
      3.1.5  布爾表達式簡化
      3.1.6  BETWEEN-AND重寫
      3.1.7  NOT取反重寫
      3.1.8  簡化IF/CASE WHEN條件表達式
      3.1.9  優化LIKE正則表達式
      3.1.10  簡化CAST表達式
      3.1.11  簡化UPPER/LOWER表達式
      3.1.12  優化二元表達式

      3.1.13  簡化複雜類型數據結構的操作符
      3.1.14  合併投影
      3.1.15  列裁剪
      3.1.16  優化冗余別名
      3.1.17  替換NULL表達式
      3.1.18  CONCAT合併
      3.1.19  等式變換
      3.1.20  不等式變換
    3.2  基於代價優化的簡析
    3.3  兩種優化的局限性
  第4章  調優解決方案
    4.1  理解業務,選擇需求
    4.2  利用執行計劃
    4.3  利用統計信息
    4.4  利用日誌
    4.5  利用分析工具
      4.5.1  Dr.Elephant
      4.5.2  火焰圖
      4.5.3  Prometheus
    4.6  等價重寫思想
      4.6.1  關係代數
      4.6.2  等價變換規則
  第5章  結構與參數調優
    5.1  參數調優
      5.1.1  並行執行
      5.1.2  預聚合
      5.1.3  擴大並行度
      5.1.4  內存分配
      5.1.5  數據重用
      5.1.6  Kafka限流
    5.2  利用Hint
    5.3  合理的表設計
      5.3.1  小文件合併
      5.3.2  分區表
      5.3.3  分桶表
      5.3.4  物化視圖
    5.4  存儲調整
      5.4.1  存儲格式
      5.4.2  壓縮類型
  第6章  子查詢優化案例解析
    6.1  案例分享
      6.1.1  子查詢改寫為JOIN
      6.1.2  避免全表掃描
      6.1.3  避免無效過濾條件
      6.1.4  子查詢改寫為窗口函數
      6.1.5  複雜UDF緩存
      6.1.6  子查詢改寫為半連接
    6.2  深度剖析
      6.2.1  讓人又愛又恨的子查詢
      6.2.2  子查詢消除演算法

      6.2.3  子查詢合併演算法
  第7章  連接優化案例解析
    7.1  案例分享
      7.1.1  改寫為UNION
      7.1.2  強制廣播
      7.1.3  使用Bucket Join
      7.1.4  數據打散
      7.1.5  謹慎對待關聯鍵的數據類型
      7.1.6  傾斜數據分離
      7.1.7  慎用外連接
      7.1.8  流Join的實現
      7.1.9  手動過濾下推
      7.1.10  先聚合,再關聯
      7.1.11  一對一再膨脹策略
    7.2  深度剖析
      7.2.1  連接實現
      7.2.2  外連接消除演算法
      7.2.3  連接排序演算法
  第8章  聚合優化案例解析
    8.1  分而治之
    8.2  兩階段聚合
    8.3  多維聚合轉UNION
    8.4  異常值過濾
    8.5  去重轉為求和/計數
    8.6  使用其他結構去重
    8.7  善用標籤
    8.8  避免使用FINAL
    8.9  轉為二進位處理
    8.10  行列互置的處理辦法
    8.11  炸裂函數中的謂詞下推
    8.12  數據膨脹導致的任務異常
    8.13  用MAX替換排序
  第9章  SQL優化的「最後一公里」
    9.1  謹慎操作NULL值
    9.2  決定性能的關鍵—Shuffle
    9.3  數據傾斜的危害
    9.4  切莫盲目升級版本
    9.5  引擎自優化的利弊
案例篇
  第10章  實戰案例分享
    10.1  某電商業務營銷活動實時指標優化方案
    10.2  某金融業務風控行為實時指標優化方案
    10.3  某銀行監管項目實時指標優化方案
    10.4  某內容平台數倉建設歷程
      10.4.1  建模指導思想
      10.4.2  數倉架構設計
      10.4.3  數倉建設理論
      10.4.4  通用設計方法
      10.4.5  數倉規範
      10.4.6  各層級具體實施過程

    10.5  訂單冷備數據查詢高可用方案
    10.6  淺談實時數倉建設
      10.6.1  各類架構的利弊
      10.6.2  分層有沒有意義
      10.6.3  確定性計算不等於正確結果
      10.6.4  模糊的正好一次
      10.6.5  流表相對性

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032