成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ClickHouse的查詢性能優勢

開發
本文介紹ClickHouse的查詢性能優勢。

01 向量化引擎

在存儲引擎的設計上,ClickHouse采用了基于列存儲的存儲結構設計。列存儲在很多場景中極大地降低了數據分析過程中讀取的數據量,圖1展示了列存儲相比于行存儲減少數據量的原理。明顯地,在寬表場景下,由于行存儲在抽取某些列時必須讀取該行的所有列,因此讀取了大量無效的數據(圖1種行存方案中未加▲的深色方塊數據為無效的不參與計算的列),從而降低了讀取效率。

圖片

▲圖1 列存和行存的對比

在計算引擎的設計上,ClickHouse首次使用了向量化計算引擎。向量化計算引擎的計算原理如圖2所示,借助CPU提供的SIMD技術,可以充分發揮現代計算機體系架構的優勢,最大限度地壓榨單機性能。

圖片

▲圖2 SIMD加速原理示意圖

而ClickHouse對單機性能的壓榨,使得ClickHouse可以在單機部署的情況下處理非常大量的數據,在實際使用中,基本上百億以下的數據表,都可以使用單機解決。這種程度的單機處理能力已經可以滿足非常多企業的需要。這也很大程度上解決了傳統大數據數倉帶來的效率低和成本高的問題。

02 高效的數據壓縮

列存儲為ClickHouse帶來的另一個非常明顯的優勢就是大幅度提高了數據壓縮空間。列存儲的本質是將同一列的數據存儲在連續的空間,相比于行存儲,列存儲在連續的空間上更有規律。而規律的存儲,帶來了更大的壓縮率。從而大幅減少壓縮后的數據大小,極大地減少了磁盤的I/O時間。

作者在實際項目中,基本都能做到8:1的壓縮比,即8T的數據只需要1T的存儲空間即可。這個提高了計算效率的同時也降低了存儲成本的。相比于Hadoop的三副本策略,存儲成本大幅降低。

讀者可能會存在這個疑問:Hadoop的三副本能保證數據不丟失,而ClickHouse的存儲是無法保證數據不丟失的,那么二者是否不能放在一起比較?這個疑問是有一定道理的,二者應用場景不同,面臨的問題也不同。Hadoop如果需要發揮能力,必須有一個龐大的集群來攤銷低效率帶來的額外處理時間,這意味著集群中任何一臺機器出現故障,都有可能導致集群不可用,從概率學上看,假設一臺機器的故障率是1%,那么100臺機器中有一臺出現故障的概率已經接近100%了。由此可見,在一個龐大的Hadoop集群中是必須考慮機器故障的。

而ClickHouse則不同,ClickHouse在設計時傾向于榨干單機性能,在很多場景下用單機解決問題。這種設計使得單機ClickHouse出現故障的概率只有1%,可以在一定程度上忽略機器故障。當然,具體場景需要讀者依據業務需求進行分析,如果確實需要保證數據不丟失,可以使用RAID在物理層面提供保障,也可以使用ClickHouse提供的復制表從軟件上來解決該問題。總之,ClickHouse提供了比較靈活的機制。

03 高效的I/O優化

超高的壓縮率為ClickHouse帶來到了更低的數據存儲成本和更低的I/O時間,同時也帶來了計算時的額外開銷——解壓。數據壓縮后存儲到磁盤上,意味著壓縮的數據被讀取后無法直接獲取內容,也就無法參與分析的計算,必須經過解壓還原原始數據,才可以參與計算分析。那么如何最大限度地減少壓縮時間,甚至在數據被程序讀取前就過濾掉一部分不相關的數據,成為具備壓縮能力的存儲引擎的一大挑戰。

ClickHouse通過基于LSM技術的稀疏索引來應對這個挑戰。通過LSM技術,保證數據寫入磁盤前就已經按照要求做好了排序,這意味著數倉中非常常見的范圍查詢場景可以減少非常大量的I/O時間,從而提升查詢速度。

本文摘編自《ClickHouse性能之巔:從架構設計解讀性能之謎》,經出版方授權發布。(書號:9787111716587)轉載請保留文章出處。

關于作者:陳峰,資深大數據專家和架構師,ClickHouse技術專家,滴普科技(2B領域獨角獸)合伙人兼首席架構師。《ClickHouse性能之巔:從架構設計解讀性能之謎》作者。

責任編輯:張燕妮 來源: 數倉寶貝庫
相關推薦

2017-09-18 09:05:24

ConstraintL編輯器測量

2009-12-22 16:55:26

WCF性能優勢

2023-04-17 16:33:27

云計算工具云性能測試

2011-07-01 09:36:30

高性能Web

2017-10-24 06:52:27

性能監測可視化

2009-07-01 18:12:18

JSP的優勢性能比較

2010-09-06 15:00:40

DB2 9 XML

2009-12-30 16:01:32

Linux性能

2022-03-29 07:20:04

密封類.NET性能

2022-12-15 18:20:46

ClickHouse存儲引擎

2010-02-23 16:28:28

CentOS Fast

2019-05-17 09:05:54

MySQL查詢性能數據庫

2023-09-26 22:34:12

開發const char

2012-12-14 01:52:49

JVM淘寶JVMtaobao jvm

2023-12-25 09:51:13

性能測試

2022-06-24 15:18:48

字節跳動數據庫ClickHouse

2014-06-26 10:29:50

云智慧

2013-06-26 09:30:58

2011-04-18 09:03:36

數據庫查詢

2012-04-13 10:00:04

LINQ
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲人成人一区二区在线观看 | 91在线电影 | 欧洲精品码一区二区三区免费看 | 91在线看片 | 欧美视频在线一区 | 欧美美女爱爱视频 | 久久影院一区 | 麻豆国产一区二区三区四区 | 日韩成人免费视频 | 欧美aaa级| 日韩在线中文 | 国产精品免费一区二区三区四区 | 激情五月婷婷综合 | 91不卡| 天天射天天干 | 91免费版在线观看 | 黄色一级大片在线免费看产 | 婷婷久久网 | 国产日韩精品在线 | 亚洲精品国产偷自在线观看 | 欧美精品v | 蜜桃免费一区二区三区 | 365夜爽爽欧美性午夜免费视频 | 精品欧美一区二区三区久久久 | 中文字幕日韩欧美一区二区三区 | 亚洲一区中文字幕 | 亚洲一区二区免费 | 免费看欧美一级片 | 午夜精品在线 | 国产女人第一次做爰毛片 | 久久久久久av | 成年人黄色一级片 | 精品久久久久国产 | 在线中文视频 | 国产一区2区 | 亚洲第一天堂无码专区 | 国产免费一区二区 | 成人国内精品久久久久一区 | 精品国产欧美日韩不卡在线观看 | 国产1区2区在线观看 | 日韩电影一区二区三区 |