ClickHouse之簡單性能測試
前面的文章ClickHouse之初步認識已經簡單的介紹了ClickHouse,接下來進行簡單的性能測試。測試數據來源於美國民用航班的數據,從1987年到2017年,有1.7億條。
環境:
centos 6.3,32G內存,24核
下載腳本:
#!/bin/bash for s in `seq 1987 2017` do for m in `seq 1 12` do mwget -n 128 http://transtats.bts.gov/PREZIP/On_Time_On_Time_Performance_${s}_${m}.zip done done
這里采用的是mwget,128個線程,mwget是wget的多線程版本。wget太慢了。關於mwget的安裝,請參考:https://my.oschina.net/766/blog/156807
下載以后的數據是zip壓縮包,如下:
下載完數據以后建表:
客戶端登錄: clickhouse-client -m,如果不加-m啟用多行,那么將會報錯:

導入數據:
for i in *.zip; do echo $i; unzip -cq $i '*.csv' | sed 's/\.00//g' | clickhouse-client --query="INSERT INTO ontime FORMAT CSVWithNames"; done
開始查詢測試:
可以看見1.7億數據,count用了0.034秒,當然列存儲數據庫count都不快還搞毛。
繼續測試其他的語句
從2000年到2016年每天的航班統計
SELECT DayOfWeek, count(*) AS c FROM ontime WHERE Year >= 2000 AND Year <= 2016 GROUP BY DayOfWeek ORDER BY c DESC;
2000 - 2008年度機場延誤數
SELECT Origin, count(*) AS c FROM ontime WHERE DepDelay>10 AND Year >= 2000 AND Year <= 2008 GROUP BY Origin ORDER BY c DESC LIMIT 10
這些查詢都有一個范圍限制,那么全部查完呢?
比如:
SELECT OriginCityName, DestCityName, count() AS c FROM ontime GROUP BY OriginCityName, DestCityName ORDER BY c DESC LIMIT 10;
可以看見依然快的不像話,哈哈。心動了沒?心動了就動手安裝,導入數據測試一下吧。
轉載自:http://www.cnblogs.com/gomysql/p/6655553.html
小編附加使用手冊:https://clickhouse.yandex/reference_en.html#MergeTree
這個數據庫適合 查詢和存儲兩種方式的數據,不適合修改類型的數據,可以應用於數據的采集,和信息的記錄;