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

6億數(shù)據(jù)秒級(jí)查詢,ClickHouse太快了!

運(yùn)維 數(shù)據(jù)庫(kù)運(yùn)維 開(kāi)發(fā)工具
ClickHouse 在數(shù)據(jù)分析技術(shù)領(lǐng)域早已聲名遠(yuǎn)揚(yáng),最近由于項(xiàng)目需求使用到了 ClickHouse 做分析數(shù)據(jù)庫(kù),于是用測(cè)試環(huán)境做了一個(gè)單表 6 億數(shù)據(jù)量的性能測(cè)試。

 [[389655]] 

圖片來(lái)自 Pexels

本文記錄一下測(cè)試結(jié)果,有做超大數(shù)據(jù)量分析技術(shù)選型需求的朋友可以參考下。

服務(wù)器信息

如下:

  • CPU:Intel Xeon Gold 6240 @ 8x 2.594GHz
  • 內(nèi)存:32G
  • 系統(tǒng):CentOS 7.6
  • Linux 內(nèi)核版本:3.10.0
  • 磁盤(pán)類型:機(jī)械硬盤(pán)
  • 文件系統(tǒng):ext4

Clickhouse 信息

如下:

  • 部署方式:?jiǎn)螜C(jī)部署
  • 版本:20.8.11.17

測(cè)試情況

測(cè)試數(shù)據(jù)和測(cè)試方法來(lái)自 Clickshouse 官方的 Star Schema Benchmark:

  1. https://clickhouse.tech/docs/en/getting-started/example-datasets/star-schema

按照官方指導(dǎo)造出了測(cè)試數(shù)據(jù)之后,先看一下數(shù)據(jù)量和空間占用情況。

①數(shù)據(jù)量和空間占用

如下圖:

可以看到 Clickhouse 的壓縮率很高,壓縮率都在 50 以上,基本可以達(dá)到 70 左右。

數(shù)據(jù)體積的減小可以非常有效的減少磁盤(pán)空間占用、提高 I/O 性能,這對(duì)整體查詢性能的提升非常有效。

supplier、customer、part、lineorder 為一個(gè)簡(jiǎn)單的「供應(yīng)商-客戶-訂單-地區(qū)」的星型模型。

lineorder_flat 為根據(jù)這個(gè)星型模型數(shù)據(jù)關(guān)系合并的大寬表,所有分析都直接在這張大寬表中執(zhí)行,減少不必要的表關(guān)聯(lián),符合我們實(shí)際工作中的分析建表邏輯。

以下性能測(cè)試的所有分析 SQL 都在這張大寬表中運(yùn)行,未進(jìn)行表關(guān)聯(lián)查詢。

查詢性能測(cè)試詳情

①Q(mào)uery 1.1

  1. SELECT sum(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue 
  2. FROM lineorder_flat 
  3. WHERE (toYear(LO_ORDERDATE) = 1993) AND ((LO_DISCOUNT >= 1) AND (LO_DISCOUNT <= 3)) AND (LO_QUANTITY < 25) 
  4.  
  5. ┌────────revenue─┐ 
  6. │ 44652567249651 │ 
  7. └────────────────┘ 
  8.  
  9. rows in set. Elapsed: 0.242 sec. Processed 91.01 million rows, 728.06 MB (375.91 million rows/s., 3.01 GB/s.) 

掃描行數(shù):91,010,000,大約 9100 萬(wàn)

耗時(shí)(秒):0.242。

查詢列數(shù):2。

結(jié)果行數(shù):1。

②Query 1.2

  1. SELECT sum(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue 
  2. FROM lineorder_flat 
  3. WHERE (toYYYYMM(LO_ORDERDATE) = 199401) AND ((LO_DISCOUNT >= 4) AND (LO_DISCOUNT <= 6)) AND ((LO_QUANTITY >= 26) AND (LO_QUANTITY <= 35)) 
  4.  
  5. ┌───────revenue─┐ 
  6. │ 9624332170119 │ 
  7. └───────────────┘ 
  8.  
  9. rows in set. Elapsed: 0.040 sec. Processed 7.75 million rows, 61.96 MB (191.44 million rows/s., 1.53 GB/s.) 

掃描行數(shù):7,750,000,775 萬(wàn)。

耗時(shí)(秒):0.040。

查詢列數(shù):2。

返回行數(shù):1。

③Query 2.1

  1. SELECT  
  2.     sum(LO_REVENUE), 
  3.     toYear(LO_ORDERDATE) AS year
  4.     P_BRAND 
  5. FROM lineorder_flat 
  6. WHERE (P_CATEGORY = 'MFGR#12'AND (S_REGION = 'AMERICA'
  7. GROUP BY  
  8.     year
  9.     P_BRAND 
  10. ORDER BY  
  11.     year ASC
  12.     P_BRAND ASC 
  13.  
  14. ┌─sum(LO_REVENUE)─┬─year─┬─P_BRAND───┐ 
  15. │     64420005618 │ 1992 │ MFGR#121  │ 
  16. │     63389346096 │ 1992 │ MFGR#1210 │ 
  17. │     ........... │ .... │ ..........│ 
  18. │     39679892915 │ 1998 │ MFGR#128  │ 
  19. │     35300513083 │ 1998 │ MFGR#129  │ 
  20. └─────────────────┴──────┴───────────┘ 
  21.  
  22. 280 rows in set. Elapsed: 8.558 sec. Processed 600.04 million rows, 6.20 GB (70.11 million rows/s., 725.04 MB/s.) 

掃描行數(shù):600,040,000,大約 6 億。

耗時(shí)(秒):8.558。

查詢列數(shù):3。

結(jié)果行數(shù):280。

④Query 2.2

  1. SELECT  
  2.     sum(LO_REVENUE), 
  3.     toYear(LO_ORDERDATE) AS year
  4.     P_BRAND 
  5. FROM lineorder_flat 
  6. WHERE ((P_BRAND >= 'MFGR#2221'AND (P_BRAND <= 'MFGR#2228')) AND (S_REGION = 'ASIA'
  7. GROUP BY  
  8.     year
  9.     P_BRAND 
  10. ORDER BY  
  11.     year ASC
  12.     P_BRAND ASC 
  13.  
  14. ┌─sum(LO_REVENUE)─┬─year─┬─P_BRAND───┐ 
  15. │     66450349438 │ 1992 │ MFGR#2221 │ 
  16. │     65423264312 │ 1992 │ MFGR#2222 │ 
  17. │     ........... │ .... │ ......... │ 
  18. │     39907545239 │ 1998 │ MFGR#2227 │ 
  19. │     40654201840 │ 1998 │ MFGR#2228 │ 
  20. └─────────────────┴──────┴───────────┘ 
  21.  
  22. 56 rows in set. Elapsed: 1.242 sec. Processed 600.04 million rows, 5.60 GB (482.97 million rows/s., 4.51 GB/s.) 

掃描行數(shù):600,040,000,大約 6 億。

耗時(shí)(秒):1.242。

查詢列數(shù):3。

結(jié)果行數(shù):56。

⑤Query 3.1

  1. SELECT  
  2.     C_NATION, 
  3.     S_NATION, 
  4.     toYear(LO_ORDERDATE) AS year
  5.     sum(LO_REVENUE) AS revenue 
  6. FROM lineorder_flat 
  7. WHERE (C_REGION = 'ASIA'AND (S_REGION = 'ASIA'AND (year >= 1992) AND (year <= 1997) 
  8. GROUP BY  
  9.     C_NATION, 
  10.     S_NATION, 
  11.     year 
  12. ORDER BY  
  13.     year ASC
  14.     revenue DESC 
  15.  
  16. ┌─C_NATION──┬─S_NATION──┬─year─┬──────revenue─┐ 
  17. │ INDIA     │ INDIA     │ 1992 │ 537778456208 │ 
  18. │ INDONESIA │ INDIA     │ 1992 │ 536684093041 │ 
  19. │ .....     │ .......   │ .... │ ............ │ 
  20. │ CHINA     │ CHINA     │ 1997 │ 525562838002 │ 
  21. │ JAPAN     │ VIETNAM   │ 1997 │ 525495763677 │ 
  22. └───────────┴───────────┴──────┴──────────────┘ 
  23.  
  24. 150 rows in set. Elapsed: 3.533 sec. Processed 546.67 million rows, 5.48 GB (154.72 million rows/s., 1.55 GB/s.) 

掃描行數(shù):546,670,000,大約 5 億 4 千多萬(wàn)。

耗時(shí)(秒):3.533。

查詢列數(shù):4。

結(jié)果行數(shù):150。

⑥Query 3.2

  1. SELECT  
  2.     C_CITY, 
  3.     S_CITY, 
  4.     toYear(LO_ORDERDATE) AS year
  5.     sum(LO_REVENUE) AS revenue 
  6. FROM lineorder_flat 
  7. WHERE (C_NATION = 'UNITED STATES'AND (S_NATION = 'UNITED STATES'AND (year >= 1992) AND (year <= 1997) 
  8. GROUP BY  
  9.     C_CITY, 
  10.     S_CITY, 
  11.     year 
  12. ORDER BY  
  13.     year ASC
  14.     revenue DESC 
  15.  
  16. ┌─C_CITY─────┬─S_CITY─────┬─year─┬────revenue─┐ 
  17. │ UNITED ST6 │ UNITED ST6 │ 1992 │ 5694246807 │ 
  18. │ UNITED ST0 │ UNITED ST0 │ 1992 │ 5676049026 │ 
  19. │ .......... │ .......... │ .... │ .......... │ 
  20. │ UNITED ST9 │ UNITED ST9 │ 1997 │ 4836163349 │ 
  21. │ UNITED ST9 │ UNITED ST5 │ 1997 │ 4769919410 │ 
  22. └────────────┴────────────┴──────┴────────────┘ 
  23.  
  24. 600 rows in set. Elapsed: 1.000 sec. Processed 546.67 million rows, 5.56 GB (546.59 million rows/s., 5.56 GB/s.) 

掃描行數(shù):546,670,000,大約 5 億 4 千多萬(wàn)。

耗時(shí)(秒):1.00。

查詢列數(shù):4。

結(jié)果行數(shù):600。

⑦Query 4.1

  1. SELECT  
  2.     toYear(LO_ORDERDATE) AS year
  3.     C_NATION, 
  4.     sum(LO_REVENUE - LO_SUPPLYCOST) AS profit 
  5. FROM lineorder_flat 
  6. WHERE (C_REGION = 'AMERICA'AND (S_REGION = 'AMERICA'AND ((P_MFGR = 'MFGR#1'OR (P_MFGR = 'MFGR#2')) 
  7. GROUP BY  
  8.     year
  9.     C_NATION 
  10. ORDER BY  
  11.     year ASC
  12.     C_NATION ASC 
  13.  
  14. ┌─year─┬─C_NATION──────┬────────profit─┐ 
  15. │ 1992 │ ARGENTINA     │ 1041983042066 │ 
  16. │ 1992 │ BRAZIL        │ 1031193572794 │ 
  17. │ .... │ ......        │  ............ │ 
  18. │ 1998 │ PERU          │  603980044827 │ 
  19. │ 1998 │ UNITED STATES │  605069471323 │ 
  20. └──────┴───────────────┴───────────────┘ 
  21.  
  22. 35 rows in set. Elapsed: 5.066 sec. Processed 600.04 million rows, 8.41 GB (118.43 million rows/s., 1.66 GB/s.) 

掃描行數(shù):600,040,000,大約 6 億。

耗時(shí)(秒):5.066。

查詢列數(shù):4。

結(jié)果行數(shù):35。

⑧Query 4.2

  1. SELECT  
  2.     toYear(LO_ORDERDATE) AS year
  3.     S_NATION, 
  4.     P_CATEGORY, 
  5.     sum(LO_REVENUE - LO_SUPPLYCOST) AS profit 
  6. FROM lineorder_flat 
  7. WHERE (C_REGION = 'AMERICA'AND (S_REGION = 'AMERICA'AND ((year = 1997) OR (year = 1998)) AND ((P_MFGR = 'MFGR#1'OR (P_MFGR = 'MFGR#2')) 
  8. GROUP BY  
  9.     year
  10.     S_NATION, 
  11.     P_CATEGORY 
  12. ORDER BY  
  13.     year ASC
  14.     S_NATION ASC
  15.     P_CATEGORY ASC 
  16.  
  17. ┌─year─┬─S_NATION──────┬─P_CATEGORY─┬───────profit─┐ 
  18. │ 1997 │ ARGENTINA     │ MFGR#11    │ 102369950215 │ 
  19. │ 1997 │ ARGENTINA     │ MFGR#12    │ 103052774082 │ 
  20. │ .... │ .........     │ .......    │ ............ │ 
  21. │ 1998 │ UNITED STATES │ MFGR#24    │  60779388345 │ 
  22. │ 1998 │ UNITED STATES │ MFGR#25    │  60042710566 │ 
  23. └──────┴───────────────┴────────────┴──────────────┘ 
  24.  
  25. 100 rows in set. Elapsed: 0.826 sec. Processed 144.42 million rows, 2.17 GB (174.78 million rows/s., 2.63 GB/s.) 

掃描行數(shù):144,420,000,大約 1 億 4 千多萬(wàn)。

耗時(shí)(秒):0.826。

查詢列數(shù):4。

結(jié)果行數(shù):100。

性能測(cè)試結(jié)果匯總

如下圖:

在當(dāng)前軟硬件環(huán)境下,掃描 6 億多行數(shù)據(jù),常見(jiàn)的分析語(yǔ)句首次運(yùn)行最慢在 8 秒左右能返回結(jié)果。

相同的分析邏輯更換條件再次查詢的時(shí)候效率有明顯的提升,可以縮短到 1 秒左右。

如果只是簡(jiǎn)單的列查詢沒(méi)有加減乘除、聚合等邏輯,掃描全表 6 億多行數(shù)據(jù)首次查詢基本可以在 2 秒內(nèi)執(zhí)行完成。

作者:LifeLogs

編輯:陶家龍

出處:cnblogs.com/asimov/p/14546106.html

 

責(zé)任編輯:武曉燕 來(lái)源: 博客園
相關(guān)推薦

2020-08-19 12:29:35

留存分析數(shù)據(jù)工具

2019-02-19 08:46:57

物聯(lián)網(wǎng)IOT物聯(lián)網(wǎng)設(shè)備

2020-11-10 09:05:45

用戶畫(huà)像蘇寧

2020-08-17 08:21:31

數(shù)據(jù)查詢項(xiàng)目

2019-05-27 09:56:00

數(shù)據(jù)庫(kù)高可用架構(gòu)

2024-01-22 06:55:09

BiomeWeb 應(yīng)用Prettier

2024-02-26 10:30:27

Biome開(kāi)發(fā)前端

2024-11-12 08:03:27

JavaScript管理器安全

2020-09-10 17:41:14

ClickHouse數(shù)據(jù)引擎

2025-04-25 08:44:04

2021-08-31 09:39:06

Python數(shù)據(jù)工具

2022-05-12 14:34:14

京東數(shù)據(jù)

2019-05-28 09:31:05

Elasticsear億級(jí)數(shù)據(jù)ES

2015-04-09 14:26:07

2022-02-25 15:20:54

6G網(wǎng)絡(luò)通信

2024-10-15 16:31:30

2024-08-22 14:16:08

2019-11-12 09:32:35

高并發(fā)流量協(xié)議

2019-06-05 14:30:21

MySQL數(shù)據(jù)庫(kù)索引
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品视频免费 | 日韩高清国产一区在线 | 在线国产一区二区 | 亚洲精品久久区二区三区蜜桃臀 | 久久国产日韩欧美 | 国产一区二区三区在线 | 成人在线视频免费播放 | 一区二区精品 | 免费高潮视频95在线观看网站 | 国产精品毛片 | 久久久国产精品 | 久久久久久中文字幕 | 午夜国产 | 欧美成人精品激情在线观看 | 中文字幕亚洲精品 | 成人精品一区二区三区中文字幕 | 一级免费毛片 | 久热精品在线观看视频 | 狠狠色狠狠色综合日日92 | 全免费a级毛片免费看视频免费下 | 婷婷在线视频 | 亚洲日本中文 | 精品国产乱码久久久久久丨区2区 | 男女在线网站 | 欧美成人精品一区二区三区 | 国产激情视频在线免费观看 | 国产女人与拘做视频免费 | 天堂va在线观看 | 精品国产精品国产偷麻豆 | 一区二区三区免费看 | 亚洲欧美精品国产一级在线 | 男人天堂国产 | 自拍偷拍欧美 | 久久青青 | 国产一区二区三区四区在线观看 | 亚洲一区二区三 | 亚洲国产成人精品久久 | 欧美日韩福利视频 | 亚洲成人动漫在线观看 | 亚洲一区二区视频在线观看 | 国产欧美精品一区二区三区 |