1. 程式人生 > 其它 >clickhouse單機安裝和效能測試(ssb資料集)

clickhouse單機安裝和效能測試(ssb資料集)

目錄

1、單機安裝
2、clickhouse修改資料目錄
3、clickhouse效能測試
4、檢視資料庫和表的容量大小

1、單機安裝

官網安裝教程:https://clickhouse.com/docs/zh/getting-started/install

這裡使用官方預編譯的tgz軟體包進行安裝。在 https://packages.clickhouse.com/tgz/stable/ 下載最新的安裝包。

 然後按照 common-static, common-static-dbg, server, client的順序解壓,執行對應解壓的doinst.sh即可。

tar -xzvf clickhouse-common-static-21.1
.9.41.tgz clickhouse-common-static-21.1.9.41/install/doinst.sh tar -xzvf clickhouse-common-static-dbg-21.1.9.41.tgz clickhouse-common-static-dbg-21.1.9.41/install/doinst.sh tar -xzvf clickhouse-server-21.1.9.41.tgz clickhouse-server-21.1.9.41/install/doinst.sh tar -xzvf clickhouse-client-21.1.9.41.tgz clickhouse
-client-21.1.9.41/install/doinst.sh

使用 clickhouse --help 檢視指令。clickhouse start/stop/restart 啟動或停止服務,clickhouse-client 使用客戶端連線。

預設,配置檔案位於 /etc/clickhouse-server、/etc/clickhouse-client, 表資料位於 /var/lib/clickhouse/data、/var/lib/clickhouse/store、/var/lib/clickhouse/metadata,執行日誌位於 /var/log/clickhouse-server

開啟允許遠端連線:修改/etc/clickhouse-server/config.xml,開啟 <listen_host>::</listen_host> 的註釋。開啟遠端連線後,可以通過 http://$clickhouse_server_ip:8123 進行HTTP訪問。

本地開啟cmd,通過mysql 客戶端連線

mysql -udefault -P9004 -h192.168.xxx.xxx -p

2、clickhouse修改資料目錄

  clickhouse預設資料目錄在 /var/lib/clickhouse, 一般分割槽空間有限,需要修改。只要停止資料庫之後移走該目錄再軟連接回原地址,即可不修改config.xml實現對資料目錄的修改。

#先停庫
sudo clickhouse stop
sudo mkdir -p /sdb1/clickhousedata01
#許可權一定要修改否則沒許可權就啟動不了
sudo chown -R clickhouse:clickhouse /sdb1/clickhousedata01
sudo mv /var/lib/clickhouse /sdb1/clickhousedata01
#建立軟連線
sudo ln -s /sdb1/clickhousedata01clickhouse   /var/lib/clickhouse
sudo  chown -R clickhouse:clickhouse /var/lib/clickhouse
sudo ls -l /var/lib/clickhouse
#啟動
sudo clickhouse start

3、clickhouse效能測試

  使用ssb資料集進行測試:https://clickhouse.com/docs/zh/getting-started/example-datasets/star-schema

  ClickHouse效能測試:https://developer.aliyun.com/article/940057

  匯入資料時,官網上預設是匯入default庫,如果是匯入自己建立的資料庫,比如

clickhouse-client --query "INSERT INTO oydb1.customer FORMAT CSV" < customer.tbl

4、檢視資料庫和表的容量大小

  clickhouse 四(檢視資料庫和表的容量大小)

  檢視資料庫容量、行數、壓縮率

SELECT 
    sum(rows) AS `總行數`,
    formatReadableSize(sum(data_uncompressed_bytes)) AS `原始大小`,
    formatReadableSize(sum(data_compressed_bytes)) AS `壓縮大小`,
    round((sum(data_compressed_bytes) / sum(data_uncompressed_bytes)) * 100, 0) AS `壓縮率`
FROM system.parts

┌────總行數─┬─原始大小──┬─壓縮大小─┬─壓縮率─┐
│ 32681902677.15 GiB │ 5.75 GiB │      7 │
└───────────┴───────────┴──────────┴────────┘

1 rows in set. Elapsed: 0.047 sec. Processed 1.04 thousand rows, 520.93 KB (21.95 thousand rows/s., 
11.02 MB/s.) 

  檢視資料表容量、行數、壓縮率

--在此查詢一張臨時表的資訊
SELECT 
    table AS `表名`,
    sum(rows) AS `總行數`,
    formatReadableSize(sum(data_uncompressed_bytes)) AS `原始大小`,
    formatReadableSize(sum(data_compressed_bytes)) AS `壓縮大小`,
    round((sum(data_compressed_bytes) / sum(data_uncompressed_bytes)) * 100, 0) AS `壓縮率`
FROM system.parts
WHERE table IN ('temp_1')
GROUP BY table

┌─表名───┬──總行數─┬─原始大小───┬─壓縮大小──┬─壓縮率─┐
│ temp_1 │ 3127523838.21 MiB │ 60.04 MiB │      7 │
└────────┴─────────┴────────────┴───────────┴────────┘

1 rows in set. Elapsed: 0.008 sec.

  檢視資料表分割槽資訊

--檢視測試表在19年12月的分割槽資訊
SELECT 
    partition AS `分割槽`,
    sum(rows) AS `總行數`,
    formatReadableSize(sum(data_uncompressed_bytes)) AS `原始大小`,
    formatReadableSize(sum(data_compressed_bytes)) AS `壓縮大小`,
    round((sum(data_compressed_bytes) / sum(data_uncompressed_bytes)) * 100, 0) AS `壓縮率`
FROM system.parts
WHERE (database IN ('default')) AND (table IN ('temp_1')) AND (partition LIKE '2019-12-%')
GROUP BY partition
ORDER BY partition ASC

┌─分割槽───────┬─總行數─┬─原始大小──┬─壓縮大小───┬─壓縮率─┐
│ 2019-12-01246.17 KiB  │ 2.51 KiB   │     41 │
│ 2019-12-0292152.45 MiB  │ 209.74 KiB │      8 │
│ 2019-12-03172654.46 MiB  │ 453.78 KiB │     10 │
│ 2019-12-04277417.34 MiB  │ 677.25 KiB │      9 │
│ 2019-12-05315008.98 MiB  │ 469.30 KiB │      5 │
│ 2019-12-0615737.50 KiB │ 4.95 KiB   │     13 │
│ 2019-12-0711032.75 KiB │ 3.86 KiB   │     12 │
└────────────┴────────┴───────────┴────────────┴────────┘

7 rows in set. Elapsed: 0.005 sec. 

  檢視資料表字段的資訊

SELECT 
    column AS `欄位名`,
    any(type) AS `型別`,
    formatReadableSize(sum(column_data_uncompressed_bytes)) AS `原始大小`,
    formatReadableSize(sum(column_data_compressed_bytes)) AS `壓縮大小`,
    sum(rows) AS `行數`
FROM system.parts_columns
WHERE (database = 'default') AND (table = 'temp_1')
GROUP BY column
ORDER BY column ASC

┌─欄位名───────────┬─型別─────┬─原始大小───┬─壓縮大小───┬────行數─┐
│ a                │ String   │ 23.83 MiB  │ 134.13 KiB │ 3127523 │
│ b                │ String   │ 19.02 MiB  │ 127.72 KiB │ 3127523 │
│ c                │ String   │ 5.97 MiB   │ 49.09 KiB  │ 3127523 │
│ d                │ String   │ 3.95 MiB   │ 532.86 KiB │ 3127523 │
│ e                │ String   │ 5.17 MiB   │ 49.47 KiB  │ 3127523 │
│ totalDate        │ DateTime11.93 MiB  │ 1.26 MiB   │ 3127523 │
└──────────────────┴──────────┴────────────┴────────────┴─────────┘