注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫(kù)ClickHouse性能之巔:從架構(gòu)設(shè)計(jì)解讀性能之謎

ClickHouse性能之巔:從架構(gòu)設(shè)計(jì)解讀性能之謎

ClickHouse性能之巔:從架構(gòu)設(shè)計(jì)解讀性能之謎

定 價(jià):¥89.00

作 者: 陳峰 著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787111716587 出版時(shí)間: 2022-11-01 包裝: 平裝-膠訂
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  這是一本通過(guò)分析ClickHouse底層引擎架構(gòu)來(lái)解讀ClickHouse極致性能的底層邏輯的著作,同時(shí)還總結(jié)了ClickHouse在各種適用場(chǎng)景中的使用技巧和性能調(diào)優(yōu)方法,讓讀者知其然,也能知其所以然。全書(shū)一共12章,分為兩個(gè)部分:第1部分 架構(gòu)篇(第1-7章)簡(jiǎn)要地介紹了數(shù)據(jù)倉(cāng)庫(kù)的核心技術(shù)和思路,系統(tǒng)講解了ClickHouse的查詢(xún)性能優(yōu)勢(shì)、適用場(chǎng)景、架構(gòu)設(shè)計(jì)和運(yùn)作過(guò)程,深入地剖析了ClickHouse的存儲(chǔ)引擎架構(gòu)、計(jì)算引擎架構(gòu)以及決定ClickHouse性能的關(guān)鍵因素,還將ClickHouse與其他數(shù)倉(cāng)架構(gòu)進(jìn)行了深度對(duì)比,不僅闡明了ClickHouse查詢(xún)速度快的底層邏輯,也推導(dǎo)出了ClickHouse的適用場(chǎng)景。第2部分 實(shí)戰(zhàn)篇(第8-12章)針對(duì)ClickHouse的適用場(chǎng)景,講解了它的各種使用技巧以及存算分離架構(gòu)、分布式架構(gòu)等云計(jì)算時(shí)代的全新架構(gòu),更重要的是,從數(shù)據(jù)結(jié)構(gòu)、內(nèi)存、磁盤(pán)、網(wǎng)絡(luò)、CPU、查詢(xún)等方面全面總結(jié)了ClickHouse的性能優(yōu)化方法和原則。

作者簡(jiǎn)介

  陳峰資深大數(shù)據(jù)專(zhuān)家和架構(gòu)師,ClickHouse技術(shù)專(zhuān)家,滴普科技(2B領(lǐng)域獨(dú)角獸)合伙人兼首席架構(gòu)師,從0到1地建設(shè)了首支滴普科技的數(shù)據(jù)中臺(tái)技術(shù)團(tuán)隊(duì),構(gòu)建了滴普科技的數(shù)據(jù)技術(shù)體系。有多年的大數(shù)據(jù)架構(gòu)經(jīng)驗(yàn),作者曾擔(dān)任百麗數(shù)據(jù)中臺(tái)麗影洞察項(xiàng)目的大數(shù)據(jù)架構(gòu)師,將ClickHouse成功引入百麗。曾在中國(guó)數(shù)據(jù)庫(kù)技術(shù)大會(huì)(Database Technology Conference China,DTCC)等多個(gè)會(huì)議上發(fā)表ClickHouse主題演講,對(duì)ClickHouse有非常深入的研究,實(shí)踐經(jīng)驗(yàn)豐富。積極參與ClickHouse社區(qū)活動(dòng),積極推廣ClickHouse。在多個(gè)項(xiàng)目中應(yīng)用ClickHouse技術(shù),將ClickHouse的強(qiáng)大能力推廣到企業(yè)中,同時(shí)積極地向ClickHouse社區(qū)貢獻(xiàn)代碼和開(kāi)源工具。

圖書(shū)目錄

贊譽(yù)
序1
序2
自序
前言
第一部分 架構(gòu)篇
第1章 數(shù)據(jù)倉(cāng)庫(kù)的核心技術(shù) 3
1.1 OLAP和OLTP的本質(zhì)區(qū)別 4
1.1.1 數(shù)據(jù)三范式 4
1.1.2 規(guī)范化的意義 6
1.1.3 規(guī)范化的局限 7
1.1.4 數(shù)倉(cāng)建模的本質(zhì) 7
1.1.5 OLAP和OLTP的底層數(shù)據(jù)模型 8
1.1.6 維度建模 8
1.2 典型大數(shù)據(jù)數(shù)倉(cāng)技術(shù)及其核心思路 10
1.2.1 Hive 10
1.2.2 HBase 11
1.2.3 Kylin 12
1.2.4 其他數(shù)倉(cāng) 13
1.3 傳統(tǒng)數(shù)倉(cāng)的缺陷 13
1.3.1 效率低 13
1.3.2 延遲高 14
1.3.3 成本高 14
1.4 ClickHouse查詢(xún)性能的優(yōu)勢(shì) 15
1.4.1 向量化引擎 15
1.4.2 高效的數(shù)據(jù)壓縮 16
1.4.3 高效的I/O優(yōu)化 17
1.5 本章小結(jié) 18
第2章 ClickHouse簡(jiǎn)介 19
2.1 ClickHouse的4個(gè)標(biāo)簽 19
2.1.1 性能強(qiáng)大 19
2.1.2 單機(jī)處理能力強(qiáng) 20
2.1.3 成本低 21
2.1.4 不支持事務(wù) 21
2.2 ClickHouse的3個(gè)適用場(chǎng)景 22
2.2.1 BI報(bào)表的交互式分析 22
2.2.2 互聯(lián)網(wǎng)日志分析 22
2.2.3 廣告營(yíng)銷(xiāo) 23
2.3 本章小結(jié) 24
第3章 ClickHouse架構(gòu)概覽 25
3.1 ClickHouse架構(gòu)簡(jiǎn)介 26
3.2 ClickHouse的核心抽象 27
3.2.1 列和字段 27
3.2.2 數(shù)據(jù)類(lèi)型 28
3.2.3 塊 32
3.2.4 表 33
3.3 ClickHouse的運(yùn)作過(guò)程 35
3.3.1 數(shù)據(jù)插入過(guò)程 35
3.3.2 數(shù)據(jù)查詢(xún)過(guò)程 35
3.3.3 數(shù)據(jù)更新和數(shù)據(jù)刪除過(guò)程 36
3.4 本章小結(jié) 37
第4章 MergeTree存儲(chǔ)引擎架構(gòu) 39
4.1 MergeTree存儲(chǔ)引擎的三大特點(diǎn) 40
4.2 MergeTree的數(shù)據(jù)組織 41
4.2.1 塊 41
4.2.2 數(shù)據(jù)堆放方式 41
4.3 MergeTree的文件組織 43
4.3.1 數(shù)據(jù)文件、元數(shù)據(jù)文件、索引文件和其他文件 45
4.3.2 分區(qū) 47
4.3.3 數(shù)據(jù)庫(kù)和表 48
4.4 索引 49
4.4.1 主鍵索引 49
4.4.2 標(biāo)記 49
4.5 與事務(wù)數(shù)據(jù)庫(kù)存儲(chǔ)引擎的對(duì)比 50
4.6 存儲(chǔ)引擎如何影響查詢(xún)速度 52
4.6.1 預(yù)排序 52
4.6.2 列存 52
4.6.3 壓縮 53
4.7 MergeTree存儲(chǔ)引擎的工作過(guò)程 53
4.7.1 數(shù)據(jù)庫(kù)、數(shù)據(jù)表的創(chuàng)建過(guò)程 54
4.7.2 數(shù)據(jù)插入過(guò)程 54
4.7.3 分區(qū)合并和刪除過(guò)程 54
4.7.4 數(shù)據(jù)讀取過(guò)程 56
4.8 本章小結(jié) 59
第5章 ClickHouse計(jì)算引擎架構(gòu) 61
5.1 ClickHouse計(jì)算引擎的架構(gòu)簡(jiǎn)介與設(shè)計(jì)思想 61
5.1.1 整體架構(gòu) 62
5.1.2 SQL解析器 62
5.1.3 解釋器 63
5.1.4 執(zhí)行器 63
5.1.5 設(shè)計(jì)思想 64
5.2 火山模型 65
5.2.1 火山模型概述 65
5.2.2 火山模型的原理 66
5.2.3 火山模型的優(yōu)點(diǎn)與缺點(diǎn) 67
5.3 向量化引擎 67
5.3.1 向量化引擎的實(shí)現(xiàn)方式 68
5.3.2 ClickHouse中的向量化算子 69
5.3.3 向量化引擎的前提 70
5.4 計(jì)算引擎如何影響查詢(xún)速度 72
5.4.1 ClickHouse查詢(xún)速度快的前提 72
5.4.2 ClickHouse查詢(xún)速度快的本質(zhì) 74
5.5 本章小結(jié) 74
第6章 ClickHouse與其他數(shù)倉(cāng)架構(gòu)的對(duì)比 75
6.1 ClickHouse與Hive的對(duì)比 75
6.1.1 Hive的數(shù)據(jù)文件 76
6.1.2 Hive的存儲(chǔ)系統(tǒng) 82
6.1.3 Hive計(jì)算引擎與ClickHouse計(jì)算引擎的差異 84
6.1.4 ClickHouse比Hive查詢(xún)速度快的原因 85
6.2 ClickHouse與HBase的對(duì)比 86
6.2.1 HBase的數(shù)據(jù)模型 86
6.2.2 HBase的存儲(chǔ)系統(tǒng)與ClickHouse的異同 87
6.2.3 HBase的適用場(chǎng)景及ClickHouse不適合的原因 87
6.3 ClickHouse與Kylin的對(duì)比 88
6.3.1 Kylin的架構(gòu) 88
6.3.2 Kylin解決性能問(wèn)題的思路 88
6.3.3 Kylin方案的缺陷 89
6.3.4 ClickHouse的方案 89
6.4 本章小結(jié) 91
第7章 深度思考:決定外在能力的因素 93
7.1 從架構(gòu)層面分析ClickHouse 93
7.1.1 ClickHouse速度快的前提 93
7.1.2 對(duì)ClickHouse的一些誤解 94
7.2 結(jié)構(gòu)決定功能 95
7.2.1 方法論 96
7.2.2 意義 97
7.2.3 不要過(guò)度設(shè)計(jì) 98
7.3 從ClickHouse的設(shè)計(jì)來(lái)理解 99
7.3.1 結(jié)構(gòu)決定能力的上限 99
7.3.2 結(jié)構(gòu)決定應(yīng)用層算法 99
7.4 本章小結(jié) 100
第二部分 實(shí)戰(zhàn)篇
第8章 ClickHouse使用技巧 105
8.1 數(shù)據(jù)導(dǎo)入、導(dǎo)出技巧 105
8.1.1 外部文件導(dǎo)入、導(dǎo)出技巧 105
8.1.2 靈活使用集成表引擎導(dǎo)入、導(dǎo)出數(shù)據(jù) 109
8.2 建表技巧 117
8.2.1 表引擎選擇技巧 118
8.2.2 分區(qū)鍵選擇技巧 120
8.2.3 數(shù)據(jù)結(jié)構(gòu)選擇技巧 120
8.2.4 分區(qū)技巧 121
8.3 高級(jí)技巧 121
8.3.1 物化視圖 121
8.3.2 投影 122
8.3.3 位圖 122
8.3.4 變更數(shù)據(jù)捕獲 123
8.4 常見(jiàn)報(bào)錯(cuò)及處理方法 123
8.5 本章小結(jié) 124
第9章 ClickHouse實(shí)現(xiàn)用戶畫(huà)像系統(tǒng) 125
9.1 用戶畫(huà)像概述 125
9.1.1 用戶畫(huà)像系統(tǒng)介紹 125
9.1.2 用戶畫(huà)像系統(tǒng)的需求描述 127
9.1.3 用戶畫(huà)像系統(tǒng)的需求分析 127
9.1.4 用戶畫(huà)像系統(tǒng)的架構(gòu) 128
9.2 用戶畫(huà)像系統(tǒng)的關(guān)鍵技術(shù)實(shí)現(xiàn) 129
9.2.1 技術(shù)選型 129
9.2.2 分析階段 130
9.2.3 運(yùn)營(yíng)階段 136
9.3 基于ClickHouse的用戶畫(huà)像系統(tǒng)的優(yōu)點(diǎn) 137
9.4 本章小結(jié) 139
第10章 ClickHouse的存算分離架構(gòu) 141
10.1 存算分離架構(gòu)背景 141
10.1.1 相關(guān)概述 141
10.1.2 存算分離的典型架構(gòu) 142
10.1.3 存算分離的意義 143
10.1.4 存算分離的局限 145
10.2 ClickHouse中的存算分離 147
10.2.1 實(shí)現(xiàn)方式 147
10.2.2 注意事項(xiàng) 150
10.3 存算分離架構(gòu)給ClickHouse帶來(lái)的優(yōu)勢(shì) 151
10.4 本章小結(jié) 152
第11章 ClickHouse的分布式架構(gòu) 153
11.1 架構(gòu)特點(diǎn)及對(duì)比 153
11.1.1 ClickHouse分布式架構(gòu)的優(yōu)點(diǎn) 154
11.1.2 ClickHouse分布式架構(gòu)的缺點(diǎn) 155
11.1.3 ClickHouse與Hadoop的分布式架構(gòu)對(duì)比 156
11.2 基本概念 156
11.2.1 集群 157
11.2.2 副本 158
11.2.3 分片 159
11.3 ClickHouse的復(fù)制表引擎 160
11.3.1 創(chuàng)建復(fù)制表 160
11.3.2 復(fù)制表復(fù)制 161
11.3.3 復(fù)制表查詢(xún) 161
11.4 ClickHouse分布式表引擎 162
11.4.1 創(chuàng)建分布式表 162
11.4.2 分布式表查詢(xún)?cè)怼?63
11.4.3 分布式表的數(shù)據(jù)寫(xiě)入方案 165
11.4.4 分布式表中副本的處理方式 165
11.5 本章小結(jié) 166
第12章 ClickHouse性能優(yōu)化 167
12.1 性能優(yōu)化的原則 167
12.2 數(shù)據(jù)結(jié)構(gòu)優(yōu)化 168
12.3 內(nèi)存優(yōu)化 171
12.4 磁盤(pán)優(yōu)化 171
12.5 網(wǎng)絡(luò)優(yōu)化 173
12.6 CPU優(yōu)化 173
12.7 查詢(xún)優(yōu)化 174
12.8 數(shù)據(jù)遷移優(yōu)化 176
12.9 本章小結(jié) 177

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)