這是一本從OLAP核心概念出發(fā),以Presto為例,從整體執(zhí)行流程到不同SQL的執(zhí)行原理,完整呈現(xiàn)OLAP查詢的核心流程和OLAP引擎設計思路,并指導讀者形成OLAP引擎設計解決方案的專業(yè)技術工具書。本書不僅面向初級讀者介紹了OLAP查詢的基本原理和Presto使用方法,還從源碼級剖析了OLAP引擎核心原理,包括SQL查詢解析器、優(yōu)化器、調度器、執(zhí)行器等核心組件,并將內容擴展到OLAP引擎的常見高性能優(yōu)化方案上。全書由淺入深,圖文并茂,把晦澀難懂的內容講解得透徹易懂。本書分為6篇,包括14章。第一篇(第1章和第2章)總體介紹業(yè)界常見的OLAP引擎并分析其優(yōu)劣,討論OLAP引擎的技術發(fā)展趨勢及選型方法,介紹Presto背景知識及其使用方法、技巧。第二篇(第3章和第4章)串講OLAP查詢執(zhí)行的整個過程,并概要性介紹查詢解析器、優(yōu)化器、調度器、執(zhí)行器等核心模塊的工作原理,目的是讓讀者形成整體認知。第三篇(第5~8章)以例講理,對多種經典SQL的執(zhí)行原理進行解析,復雜度從前到后逐章遞增,包含了投影變換、過濾、行數(shù)限定、排序以及多種聚合場景。第四篇(第9章和第10章)詳解分布式查詢執(zhí)行的數(shù)據(jù)交換機制,涵蓋了查詢規(guī)劃、調度、執(zhí)行的多個階段等重點內容。第五篇(第11章和第12章)以Presto為例整體介紹流行的OLAP引擎擴展機制——插件體系與連接器。第六篇(第13章和第14章)主要介紹函數(shù)的設計原理與開發(fā)實戰(zhàn),這部分首先介紹函數(shù)注冊、解析識別、調用等重要流程,最后從標量函數(shù)、聚合函數(shù)兩方面入手,用多個實際案例介紹高級API(注解框架)的開發(fā)方法以及低級API的底層開發(fā)方法。