版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、技術(shù)創(chuàng)新,變革未來ClickHouse 在頭條技術(shù)架構(gòu)演化目錄ClickHouse 簡介Bytedance 如何使用ClickHouse問題與解決方案Q&ADeveloped by Yandex, and open source since 2016查詢性能優(yōu)越的分析型引擎主要特點(not new)Column oriented + vector executionLocal attached storage (not Hadoop ecosystem)Linear scalable & Reliable(shard + replication)SQL interfaceFastClickHo
2、use 簡介Data Skipping- 分區(qū)以及分區(qū)剪枝數(shù)據(jù)局部有序(LSM-like engine, zone map)資源的垂直整合并發(fā) MPP+ SMP(plan level)- Tuned執(zhí)行層實現(xiàn) (multi-variant agg implementation, SIMD)C+ Template CodeClickHouse 簡介 - 性能優(yōu)越的因素適用場景單表分析 或 colocate join casedistributed join 性能并不出色不足no transactionbatch data ingestweak update/delete supportweak
3、optimizer & query rewriteClickHouse 簡介 - 適用場景與不足選擇ClickHouse的原因產(chǎn)品需求交互式分析能力 (in seconds)查詢模式多變以大寬表為主數(shù)據(jù)量大Open sourced MPP OLAP engine - (performance, feature, quality)Bytedance 如何使用ClickHouse幾千個節(jié)點, 最大集群1200個節(jié)點數(shù)據(jù)總量 幾十PB日增數(shù)據(jù) 100TB查詢響應(yīng)時間(mostly) ms - 30s覆蓋下列用戶產(chǎn)品運營,分析師開發(fā)人員少量廣告類用戶openapiBytedance 如何使用Click
4、HouseBytedance 如何使用ClickHouse產(chǎn)品運營研發(fā)人員用戶行為分析平臺自研BI系統(tǒng)SQL 網(wǎng)關(guān)其他ClickHouse集群數(shù)據(jù)倉庫(HIVE)KafkaRDBMS(MYSQL)數(shù)據(jù)ETL 服務(wù)Mini batch Data多種數(shù)據(jù)源 (離線 + 實時 + )交互式分析數(shù)據(jù)處理鏈路對業(yè)務(wù)方透明滿足數(shù)據(jù)中臺對數(shù)據(jù)查詢需求。Bytedance 如何使用ClickHouse問題與解決方案數(shù)據(jù)源-ClickHouse 服務(wù)化數(shù)據(jù)就 緒?ETL CH NodeCH NodeCH NodeHDFS消息中間件其他服務(wù)化與自動化中的問題HDFS 數(shù)據(jù)訪問數(shù)據(jù)導(dǎo)入過程中Fail overCH數(shù)
5、據(jù)就緒速度(Part生成)增加 HDFS 數(shù)據(jù)訪問能力(HDFS client porting from HAWQ)ETL服務(wù)維護(hù)外部事務(wù)保障數(shù)據(jù)一致性(fail over)INSERT INTO LOCAL TABLE數(shù)據(jù)構(gòu)建與查詢分離 (experimental feature)數(shù)據(jù)源-ClickHouse 服務(wù)化客戶端上報字段多變 (自定義參數(shù))數(shù)據(jù)產(chǎn)品需要相對固定schemaEngine fix this Gap by Map type性能需求: 訪問MAP 鍵值需要與訪問POD 類型的列速度一致 實現(xiàn)方式:LOB ? Two-implicit column?OtherMap 數(shù)據(jù)類型
6、 - 動態(tài)Schema數(shù)據(jù)特征: # keys 總量可控, 局部有限局部(PART level)展平模型 (自描述)Map 數(shù)據(jù)類型 - 動態(tài)Schema1. MAP鍵訪問自動改寫e.g.“select c_mapa from table” will be rewrote to “select c_map_a from table”2. MAP列訪問 (代價較大)e.g. select c_map from tableMerge階段優(yōu)化(無需重構(gòu)MAP column)收益:自動化接入Table schema 簡化極大簡化數(shù)據(jù)構(gòu)建(ETL)邏輯Map 數(shù)據(jù)類型 - 動態(tài)Schema語法:Crea
7、te table t(c1 UInt64, c2 Map(String, UInt8) ENGINE=MergeTree.insert into t values(1, abc:1, bcd:2)Select c2abc from tMap 數(shù)據(jù)類型 - 動態(tài)Schema兩副本保障數(shù)據(jù)/服務(wù)ReplicatedMergeTree in ClickHouse (Issue)- Async Master-Master replication-High Volume Data & High Availability (zookeeper 使用問題)ReplicatedMergeTree的問題ZooK
8、eeper壓力大,znode太多400 Nodes 集群, 半年數(shù)據(jù), 800萬znodesReplicatedMergeTree use ZK to store:Table schema副本狀態(tài)(part info & log info)分片(shard) 狀態(tài)Catalog service + mini log service + coordinate serviceHigh Volume Data & High Availability (zookeeper 使用問題)數(shù)據(jù)繼續(xù)增長會導(dǎo)致ZK無法服務(wù)社區(qū)mini checksum in zk能緩解內(nèi)存使用,但不能解決問題基于MergeTr
9、ee開發(fā)HA 方案High Volume Data & High Availability (Zookeeper問題)ZooKeeper只用作coordinateLog Sequence Number(LSN) 分配數(shù)據(jù)Block ID 分配元數(shù)據(jù)管理節(jié)點維護(hù)local log service (action log)Log 在分片內(nèi)部節(jié)點間通過Gossip協(xié)議交互數(shù)據(jù)信息(parts) 按需交互外部接口與社區(qū)兼容(例如:multi-master寫 入)High Volume Data & High Availability - HaMergeTreeZK(LSN/ID alloc, meta
10、data)ReplicaReplicaPart/Log INFOHigh Volume Data & High Availability - HaMergeTreeZK(LSN/ID alloc, metadata)Replica AReplica BInsert1223A 獲取LSN和Block IDA Push log to active replica B2. B get its log lags from ZK and pull from AB redo the log and get Block from AHigh Volume Data & High Availability -
11、 HaMergeTreeZooKeeper壓力不會隨著數(shù)據(jù)量增長 3M znodes in ZK保障數(shù)據(jù)&服務(wù)高可用String 類型的濫用(from HIVE), 處理低效Why not LowCardinalityColumn?算子盡量在壓縮域上執(zhí)行(actionable compression)pure dictionary compressionpredication (equality family)group by (single/composite keys)String 類型處理效率 - Global DictionaryString 類型處理效率 - Global Dicti
12、onary1. Per replica字典(異步)構(gòu)建- why not cluster level/shard level?2. Support xxMergeTree onlyINSERTPART ROLLINMERGEAsync check & recodeWriteData & Dict (MergedBlockO utPutStream)1. 壓縮域執(zhí)行String 類型處理效率 - Global DictionarySelectDecompress(optional)Execute actions on codeAnalyzeand RewriteRead compressed s
13、tring as code分布式表字典 (per shard, per replica)分布式表壓縮域執(zhí)行3. 性能提升約 20% 30%String 類型處理效率 - Global DictionaryQuery:60天內(nèi)用戶轉(zhuǎn)化率/行為路徑,以及對應(yīng)每天轉(zhuǎn)化率內(nèi)存使用量大,OOM對服務(wù)穩(wěn)定性影響Aggregator無法感知底層數(shù)據(jù)特性特定場景內(nèi)存OOM - Step-ed AggregationAggregator 由執(zhí)行HINT控制HINT 感知數(shù)據(jù)分區(qū)/指標(biāo)語義Blocked Aggregator 按partition pipeline計算指標(biāo)。收益:內(nèi)存使用比默認(rèn)方式降低約五倍特定場
14、景內(nèi)存OOM - Step-ed AggregationArray類型處理 - BloomFilter & BitMap indexArray類型用來表示實驗IDQuery:命中某些實驗的用戶指標(biāo)單條記錄Array(實驗) 幾百 or 上千Array col.binArray col in BlockArray hasAny1. 需要輔助信息減少 Array column materialize- Two scale BloomFilter (Part level, MRK range level)2. 減少Long Array column in Runtime Block- Transform hasAnyinto BitMap index OR-ingArray Column value+BitMap 集合has(array, valu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公共場所消防安全
- 供應(yīng)鏈風(fēng)險管理與預(yù)警
- 五年級語文上冊第三單元第10課牛郎織女一習(xí)題課件2新人教版
- 2024秋九年級英語下冊 Module 4 Rules and suggestions Unit 1 You must be careful of falling stones說課稿(新版)外研版
- -教科版高中信息技術(shù)選修3說課稿-2.2.1 計算機(jī)的網(wǎng)絡(luò)身份- IP 地址
- 12 家鄉(xiāng)的喜與憂 說課稿-2023-2024學(xué)年道德與法治四年級下冊統(tǒng)編版
- 2023-2024學(xué)年滬科版(2019)高中信息技術(shù)必修一3.1《描述洗衣機(jī)的洗衣流程-了解算法及其基本控制結(jié)構(gòu)》說課稿
- 高空吊籃租賃二零二五年度安全風(fēng)險評估與監(jiān)控合同范本3篇
- 2025年非標(biāo)備件行業(yè)深度研究分析報告
- 2025年BCF膨體紗項目可行性研究報告
- GB/T 16895.3-2024低壓電氣裝置第5-54部分:電氣設(shè)備的選擇和安裝接地配置和保護(hù)導(dǎo)體
- 2025湖北襄陽市12345政府熱線話務(wù)員招聘5人高頻重點提升(共500題)附帶答案詳解
- 計劃合同部部長述職報告范文
- 2025年河北省職業(yè)院校技能大賽智能節(jié)水系統(tǒng)設(shè)計與安裝(高職組)考試題庫(含答案)
- 人教版高一地理必修一期末試卷
- 2024年下半年鄂州市城市發(fā)展投資控股集團(tuán)限公司社會招聘【27人】易考易錯模擬試題(共500題)試卷后附參考答案
- GB/T 29498-2024木門窗通用技術(shù)要求
- 《職業(yè)院校與本科高校對口貫通分段培養(yǎng)協(xié)議書》
- GJB9001C質(zhì)量管理體系要求-培訓(xùn)專題培訓(xùn)課件
- 人教版(2024)英語七年級上冊單詞表
- 二手車車主寄售協(xié)議書范文范本
評論
0/150
提交評論