预购商品
书目分类
特别推荐
這是一本從基本操作、架構設計、進階使用、運維管理、拓展應用、項目實戰等多個維度全面講解Doris的著作,是資深資料倉庫專家兼Doris開源專案貢獻者實戰經驗的總結,得到了Apache Doris PMC主席、Select DB創始人兼CEO以及多位Apache Doris PMC的強烈推薦。通過本書,讀者不僅能零基礎快速掌握Doris的原理和使用,還能獲得搭建離線/線上即時數倉的項目實戰經驗。 全書內容從邏輯上分為四個部分: 基礎篇(第1-4章):首先介紹了Doris的功能特點、架構設計、應用場景,然後講解了Doris的編譯、安裝、部署、建表等基本操作,以及Doris的資料物件和資料模型。 進階篇(第5-7章):從執行原理、用法詳解、應用舉例3個維度詳細講解了Doris的資料導入、資料查詢和查詢優化,層層遞進。 拓展篇(第8-10章):結合目前流行的Flink框架和各種常用外部表講解了Doris的拓展應用,還講解了Doris的集群管理。 實戰篇(第11-14章):首先從具體應用的角度介紹了離線資料倉庫和即時資料倉庫搭建的痛點和難點,然後用2個綜合專案講解了如何結合Doris實現離線資料倉庫和即時資料倉庫。
推薦序一 推薦序二 前 言 第一部分 基礎 第1章 Doris概述 3 1.1 Doris的前世今生 3 1.1.1 Doris應需而生 3 1.1.2 Doris架構重組 5 1.1.3 Doris引擎升級 6 1.1.4 Doris擁抱開源 7 1.2 Doris的特點 7 1.2.1 極簡架構 7 1.2.2 使用簡單 9 1.2.3 功能豐富 11 1.2.4 開源開放 13 1.3 Doris核心設計 13 1.3.1 存儲引擎 13 1.3.2 查詢引擎 15 1.3.3 查詢最佳化工具 17 1.3.4 向量化執行引擎 19 1.4 Doris應用場景 20 1.5 Doris的競爭對手 23 1.5.1 Doris的“前浪” — Greenplum 24 1.5.2 Doris的“表哥” — Kylin 24 1.5.3 Doris的“知音” — ClickHouse 25 1.5.4 Doris的“傷痕” — StarRocks 25 第2章 Doris的安裝與部署 27 2.1 集群規劃和環境準備 27 2.1.1 環境要求 27 2.1.2 硬體要求 28 2.1.3 節點規劃 28 2.1.4 通訊連接埠 29 2.1.5 IP地址綁定 30 2.2 Doris源碼編譯 30 2.2.1 環境準備 30 2.2.2 通過Git下載Doris源碼 31 2.2.3 拉取Docker編譯環境 32 2.2.4 啟動編譯環境 32 2.2.5 進入Docker進行編譯 33 2.2.6 編譯Broker 33 2.3 安裝和部署 34 2.3.1 安裝前的準備 35 2.3.2 安裝FE 36 2.3.3 安裝BE 39 2.3.4 安裝Broker 41 2.4 資料庫訪問和常用命令 41 2.4.1 訪問Doris資料庫 41 2.4.2 Doris常用命令 44 2.4.3 Doris用戶管理 45 第3章 Doris資料物件 47 3.1 資料類型 47 3.1.1 數數值型別 48 3.1.2 日期時間類型 48 3.1.3 字串類型 48 3.1.4 其他擴展類型 48 3.2 OLAP表定義 51 3.2.1 列定義 51 3.2.2 鍵描述 51 3.2.3 分佈描述 52 3.2.4 鍵值對 53 3.3 分區表定義 55 3.3.1 Range分區 56 3.3.2 List分區 57 3.4 外部表定義 58 3.4.1 MySQL表引擎 58 3.4.2 Broker表引擎 59 3.4.3 Hive表引擎 61 3.4.4 Iceberg表引擎 61 3.5 表的基本操作 62 3.5.1 修改表 62 3.5.2 刪除表 65 3.5.3 清空表 65 3.6 視圖 66 3.6.1 創建視圖 66 3.6.2 修改視圖 67 3.6.3 刪除視圖 67 3.7 函數 67 3.7.1 日期函數 67 3.7.2 正則匹配函數 68 3.7.3 BITMAP函數 68 3.7.4 JSON函數 69 3.7.5 表函數 70 3.7.6 視窗函數 71 第4章 Doris資料模型詳解 73 4.1 資料模型及原理 73 4.1.1 Duplicate模型 73 4.1.2 Aggregate模型 74 4.1.3 Unique模型 75 4.2 資料模型實戰 76 4.3 資料模型應用場景 79 4.4 表資料存儲 80 4.5 分區與分桶 84 4.6 DDL語句執行過程 85 第二部分 進階 第5章 數據導入實戰 91 5.1 INSERT INTO 91 5.1.1 用法詳解 92 5.1.2 應用舉例 93 5.2 Stream Load 94 5.2.1 執行原理 94 5.2.2 用法詳解 96 5.2.3 應用舉例 100 5.3 Broker Load 102 5.3.1 執行原理 102 5.3.2 用法詳解 103 5.3.3 應用舉例 105 5.4 Routine Load 108 5.4.1 執行原理 109 5.4.2 用法詳解 110 5.4.3 應用舉例 112 5.5 Binlog Load 115 5.5.1 基本原理 115 5.5.2 用法詳解 116 5.5.3 應用舉例 118 5.6 DataX 122 5.6.1 DataX執行原理 122 5.6.2 DataX DorisWriter外掛程式 124 5.6.3 應用舉例 126 5.7 Spark Load 129 5.7.1 執行原理 129 5.7.2 用法詳解 130 5.7.3 應用舉例 131 第6章 Doris資料查詢 134 6.1 簡單查詢 136 6.1.1 簡單的SQL語法 136 6.1.2 WITH特性 140 6.1.3 IN語句和EXISTS語句 143 6.2 多表關聯 145 6.2.1 JOIN操作類型 145 6.2.2 JOIN演算法實現 152 6.2.3 分散式JOIN優化策略 152 6.3 開窗查詢 155 6.4 BITMAP精准去重 160 6.5 HLL近似去重 164 6.6 GROUPING SETS多維組合 165 第7章 Doris查詢優化 168 7.1 執行計畫 168 7.2 查詢最佳化工具 173 7.3 索引 176 7.4 物化視圖 179 7.5 ROLLUP 183 7.6 向量化查詢引擎 185 7.7 查詢優化總結 186 第三部分 拓展 第8章 Doris流數據 193 8.1 Flink簡介 193 8.2 Flink基本概念 196 8.3 Flink SQL和Table API 200 8.4 Flink CDC技術 202 8.5 Flink Doris Connector 206 8.5.1 外掛程式編譯與安裝 206 8.5.2 環境配置 206 8.5.3 單表增、刪、改 209 8.5.4 多表關聯 212 8.5.5 匯總資料 213 第9章 Doris外部表 215 9.1 ODBC外部表 215 9.2 Hive外部表 219 9.3 ES外部表 222 9.4 Iceberg外部表 225 第10章 Doris集群管理 227 10.1 集群管理 227 10.1.1 資料庫管理 227 10.1.2 用戶管理 228 10.1.3 許可權管理 228 10.2 集群資源管理 229 10.2.1 節點資源劃分 229 10.2.2 節點資源限制 231 10.3 集群備份和恢復 232 10.3.1 數據匯出 232 10.3.2 資料備份 234 10.3.3 資料恢復 236 10.3.4 模式備份 237 10.4 集群高可用 238 10.4.1 Doris一鍵啟動 238 10.4.2 Doris自啟動 239 10.4.3 Doris升級版本 242 10.5 集群擴縮容 243 10.5.1 FE擴容 243 10.5.2 FE縮容 244 10.5.3 BE擴容 244 10.5.4 BE縮容 244 10.5.5 Broker擴縮容 245 10.6 刪除恢復 245 第四部分 實戰 第11章 資料倉庫概述 249 11.1 資料倉庫的起源 249 11.2 資料倉庫的流行 250 11.3 資料倉庫的分散式之路 251 11.4 MPP架構的崛起 253 11.5 資料倉庫的未來 255 11.6 概念對比 256 11.6.1 資料倉庫與資料庫 256 11.6.2 資料倉庫與大數據 技術 257 11.6.3 資料倉庫與數據中台 257 11.6.4 資料倉庫與數據湖 258 第12章 資料倉庫設計 259 12.1 資料倉庫架構 259 12.1.1 Inmon的企業資訊 化工廠 260 12.1.2 Kimball的維度建模 資料倉庫 261 12.1.3 兩種建模方式對比 261 12.2 資料倉庫分層 262 12.2.1 運算元據存儲層 263 12.2.2 資料倉庫層 263 12.2.3 應用資料層 265 12.3 即時資料倉庫的兩條 線路 266 12.4 即時資料倉庫的新 選擇 269 第13章 基於Doris的OLAP查詢和即時 資料倉庫實戰 272 13.1 專案背景 272 13.2 專案需求 273 13.3 技術方案實現 273 13.3.1 基於DataX的介面 數據抽取 274 13.3.2 基於Hive構建資料 倉庫 275 13.3.3 基於Doris構建資料 集市 277 13.3.4 基於Flink SQL的即時 資料流程 278 13.3.5 代碼發佈和作業監控 280 13.4 業務方案實現 280 13.4.1 零售流水及本期、 同期計算 280 13.4.2 有效店、同店及 管道分析 281 13.4.3 庫存及齊碼率分析 283 13.4.4 庫銷比及售罄率分析 283 13.5 項目總結 285 第14章 基於Doris的流批一體資料倉庫 實戰 287 14.1 專案背景 287 14.2 專案需求 288 14.3 技術方案實現 289 14.3.1 批量資料同步 290 14.3.2 即時資料入庫 292 14.3.3 資料倉庫分層 294 14.3.4 全增量一體化數據 加工 295 14.3.5 流批融合的即時大屏 298 14.3.6 調度任務 299 14.4 開發規範 300 14.4.1 資料物件命名規範 300 14.4.2 建表規範 301 14.4.3 欄位命名規範 302 14.4.4 調度任務命名規範 303 14.5 專案交付成果 303 14.5.1 PC端報表 303 14.5.2 移動端報表 305 14.5.3 自助分析報表 305 14.6 項目總結 308
王春波 資深架構師和大資料技術專家,曾任上海啟高資訊科技有限公司大資料架構師,現就職於一家互聯網公司,任高級數倉工程師,負責電商數倉專案。 具有10餘年的資料倉庫開發經驗,對主流大資料技術、產品與解決方案都有深入研究,尤其擅長用優雅的SQL實現複雜的邏輯。 交付達人,常年奔波在各個專案交付現場,曾成功主導過中國郵政銀行、南海農商銀行、順德農商銀行、廣東省聯社、廣東南粵銀行等多家銀行和卡賓、安踏、特步等多家零售鞋服企業的資料倉庫項目。 公眾號“資料中台研習社”運營者,Apache Doris和Greenplum貢獻者,《高效使用Greenplum:入門、進階與數據中台》作者。
客服公告
热门活动
订阅电子报