當前位置:
首頁 > 最新 > Clickhouse基本使用

Clickhouse基本使用

今天,我們來簡單測試一下clickhouse性能,通過測試學習clickhouse基本使用。

官方教程中有直接提供相關測試案例數據,跑一些場景,我選擇了數據來做測試。

性能測試case由創建,安裝官方文檔操作。

下載測試數據

運行如Shell腳本,下載所有On_Time數據。

地址:download.sh

命令行客戶端

通過命令,連接clickhouse-server進行相關的資料庫操作。

如上,代表資料庫IP地址,代表模式連接資料庫,代表用戶名,代碼用戶密碼,允許運行多行查詢。


clickhouse建表語言並非標準的SQL,看上去比較奇怪,因為它支持多種引擎,不同的Engine有不同的業務場景使用,其中某些是為了靈活或者臨時的解決方案。官方文檔計劃支持語法,建表未來很長時間一直應該都這樣吧,這就是Clickhouse最大的側點。

學習Clickhouse,最主要的先學各種Engine的區別和聯繫,用來解決實際問題,在場景中探索。

由於它的各種設計,導致如果要使用分散式,那麼需要使用local表和分散式表結合才能達到一個SQL過來分散式執行Query,請參考早期內容。

創建一個test庫,在進入庫,創建一張表,此表擁有個欄位,屬於典型的大寬表,適合列式存儲。

創建分散式表結合本地表,使得Query能分散式執行。

導入數據

進入到download數據目錄,執行如下shell命令。

測試SQL

我使用VMware虛擬3台伺服器,配置如下:

一共個SQL,來自官方的數據。

鏈接: https://pan.baidu.com/s/1F1vRFtf7rsxH3twhimb7DA 密碼:x63k

如圖,測試分三種情況,根據clickhouse自身的特點。

[1] local表,數據集中在一台機器,所有Query均發生在一體機器。

[2] cluster表,數據集中在一台機器,Query分散式執行,多台機器參與執行。

[3] all cluster表,數據集中在多台機器,Query分散式執行,多台機器參與執行。

注意:

通過測試我們能直觀的看到,分散式表多機並行執行性能遠高於執行。Cluster和All Cluster區別不是很大,因為我的環境是在,是一台伺服器虛擬出3台搭建Clickhouse集群。

雖然在邏輯上為三台伺服器,其實物理上都是跑在一台伺服器和一塊磁碟。

測試目的,熟悉clickhouse一些基本使用和原理,動手研究,深入理解clickhouse系統,不具備參考性;待有物理性能測試結果,在大肆總結一番。

我們可以看到,結果是clickhouse性能真的是沒話說,SQL支持度和特殊語法使得它普及變得困難。如果希望變成一個大眾化的,那還需要在SQL語法和兼容性中完成大量工作。

ClickHouse is an open source column-oriented database management system capable of real time generation of analytical data reports using SQL queries.

官方2018年計劃,我們也能看到他們正在往這個方向靠近,成為一個標準的 比如:,,,。

我今天跑了一個100多個欄位的大寬表,列式存儲,單表各種複雜查詢,性能都在秒級,在一些即席查詢、聚合分析場景你可以使用clickhouse幫助你解決實際業務問題。

ClickHouse是OLAP領域,當之無愧的黑馬,一騎絕塵.


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 全球大搜羅 的精彩文章:

土豆絲為什麼炒不好,大廚教了我一個小訣竅,比之前好吃百倍
如何通過」人工智慧「解釋「靈魂」?

TAG:全球大搜羅 |