ClickHouse mysql 對(duì)比

這兩年 ClickHouse 非常的火,尤其是在大數(shù)據(jù)領(lǐng)域。

Yandex

在開始之前,我們先說一下 Yandex 這家公司,它是俄羅斯的一家互聯(lián)網(wǎng)巨頭公司,雖然在國(guó)際上沒什么名氣,但在俄羅斯,它就是老大,是俄羅斯排名第一的搜索引擎公司。是和谷歌、百度一樣的存在。ClickHouse 誕生于 2016 年,來自于 Yandex 公司。

老毛子在國(guó)際互聯(lián)網(wǎng)上,雖然沒有像中美這樣具有統(tǒng)治地位的互聯(lián)網(wǎng)公司,但是老毛子的一些開源軟件的性能還是杠杠的。比如,大名鼎鼎的 Nginx,再比如我們今天要討論的 ClickHouse,所以,ClickHouse 還是非常值得一學(xué)的。

ClickHouse

ClickHouse 主要用于在線分析處理查詢(OLAP),能夠使用 SQL 查詢實(shí)時(shí)生成分析數(shù)據(jù)報(bào)告。

和我們常見的關(guān)系型數(shù)據(jù)庫非常不同。比如,MySQL,Postgresql,SQL Server 等數(shù)據(jù)庫采用的都是行式存儲(chǔ),而 ClickHouse 采用的卻是列式存儲(chǔ)。下面我們通過一個(gè)簡(jiǎn)單的例子,來比較它們的不同。


如上述表格所示,傳統(tǒng)的 MySQL 數(shù)據(jù)庫的每一行數(shù)據(jù)都是物理的存儲(chǔ)在一起的。如果我要去 id 等于 10000 這一條數(shù)據(jù)的 name 列,那我就必須要把這一行數(shù)據(jù)讀取出來,然后取 name 列。

再比如,下面的 SQL:

SELECT name FROM xttblog where id > 10000;

在眾多的數(shù)據(jù)中,我只取一列,但我需要把每條數(shù)據(jù)都讀取出來。

基于上面?zhèn)鹘y(tǒng)數(shù)據(jù)庫的一些特點(diǎn),ClickHouse 另辟蹊徑,推出了列式存儲(chǔ)。


看上圖的列式存儲(chǔ)示例,完全和 MySQL 等數(shù)據(jù)庫不同。當(dāng)我執(zhí)行下面的 SQL 時(shí),查詢效率非常的高!

SELECT name FROM xttblog where id > 10000;

由于 name 列的數(shù)據(jù)都存儲(chǔ)在一起,因此效率大大地超過了傳統(tǒng)的數(shù)據(jù)庫。


除了邏輯上的不同,磁盤上的組織結(jié)構(gòu)也大不一樣。


除了列式存儲(chǔ)上的不同,ClickHouse 還有高效的數(shù)據(jù)壓縮,默認(rèn)使用LZ4算法,總體壓縮比可達(dá) 8:1。ClickHouse 還采用了分布式多主架構(gòu)提高并發(fā)性能,ClickHouse使讀請(qǐng)求可以隨機(jī)打到任意節(jié)點(diǎn),均衡讀壓力,寫請(qǐng)求也無需轉(zhuǎn)發(fā)到master節(jié)點(diǎn),不會(huì)產(chǎn)生單點(diǎn)壓力。

ClickHouse 還有向量引擎,利用 SIMD 指令實(shí)現(xiàn)并行計(jì)算。對(duì)多個(gè)數(shù)據(jù)塊來說,一次 SIMD 指令會(huì)同時(shí)操作多個(gè)塊,大大減少了命令執(zhí)行次數(shù),縮短了計(jì)算時(shí)間。向量引擎在結(jié)合多核后會(huì)將 ClickHouse 的性能淋漓盡致地發(fā)揮出來。

ClickHouse 在索引上也有不同,采用了稀數(shù)索引及跳數(shù)索引。同時(shí)還有很多 MergeTree,提供海量業(yè)務(wù)場(chǎng)景支持。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 隨著業(yè)務(wù)的迅猛增長(zhǎng),Yandex.Metrica目前已經(jīng)成為世界第三大Web流量分析平臺(tái),每天處理超過200億個(gè)跟...
    響指_郭彥超閱讀 6,441評(píng)論 1 6
  • 一、ClickHouse簡(jiǎn)介 ClickHouse是俄羅斯的Yandex于2016年開源的一個(gè)用于聯(lián)機(jī)分析(OLA...
    AC編程閱讀 11,404評(píng)論 0 12
  • 引言 ClickHouse是近年來備受關(guān)注的開源列式數(shù)據(jù)庫,主要用于數(shù)據(jù)分析(OLAP)領(lǐng)域。目前國(guó)內(nèi)社區(qū)火熱,各...
    達(dá)微閱讀 1,988評(píng)論 0 7
  • 轉(zhuǎn)載鏈接:http://www.itdecent.cn/p/8e94ebc7d725 引言 ClickHouse...
    嚴(yán)國(guó)華閱讀 1,396評(píng)論 0 1
  • 背景 在數(shù)據(jù)量日益增長(zhǎng)的當(dāng)下,傳統(tǒng)數(shù)據(jù)庫的查詢性能已滿足不了我們的業(yè)務(wù)需求。而Clickhouse在OLAP領(lǐng)域的...
    陌上聞笛閱讀 12,571評(píng)論 5 42

友情鏈接更多精彩內(nèi)容