<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ClickHouse到底牛逼在哪里?為什么比MySQL快831倍!

          共 1720字,需瀏覽 4分鐘

           ·

          2021-06-01 16:38

          ClickHouse到底牛逼在哪里?為什么比MySQL快831倍!

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

          剛好這兩天也有群友在群里說起 ClickHouse,這款來自俄羅斯 Yandex 的開源數(shù)據(jù)庫產(chǎn)品性能屌爆了,宣稱比 MySQL 快 831 倍。今天我們就扯一扯 ClickHouse 到底好在哪里?

          Yandex

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

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

          ClickHouse

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

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

          如上述表格所示,傳統(tǒng)的 MySQL 數(shù)據(jù)庫的每一行數(shù)據(jù)都是物理的存儲在一起的。如果我要取 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ù)庫的一些特點,ClickHouse 另辟蹊徑,推出了列式存儲。

          行號01N
          主鍵id1000010001...
          name業(yè)余草濤哥...
          title測試hello...
          status10...
          create_time2021-05-292021-05-29...

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

          SELECT name FROM xttblog where id > 10000;

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


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


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

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

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

          基于以上特點,ClickHouse 在包含 count、sum、group by、order by 等情況的查詢對比,同等條件下,ClickHouse 的查詢性能異常強(qiáng)悍,官網(wǎng)上的數(shù)據(jù)顯示,是同等條件下 MySQL 的 831 倍。

          更多的對比數(shù)據(jù),建議大家去官網(wǎng)上查看。

          哎,又要內(nèi)卷起來了。

          瀏覽 102
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  XX性XXX | 免费日本A∨ | 日韩午夜福利在线观看 | 肏女人网 | 色老板最新地址一二三 |