.Net輕鬆處理億級數據--clickhouse及可視化界面安裝介紹

該篇內容由我的博客點擊跳轉同步更新!轉載請註明出處!html

前言
我是在17年就據說過Clickhouse,那時還未接觸過億數據的運算,那時我在的小公司對於千萬數據的解決方案還停留在分庫分表,最好的也是使用mycat作的集羣。這些解決方案都比較複雜,畢竟一般來講那些須要大量存儲的數據基本都是像日誌,流水等不須要修改的數據,像客戶人員等須要常常維護的信息通常項目也就幾萬左右,在這些不是很是重要的數據上耗太多時間我我的是以爲有點浪費(但畢竟仍是要的嘛),直到我到了新公司才從新拾起了對Clickhouse的學習,下面主要介紹下安裝以及下篇會介紹一些簡單的用法。
1、ClickHouse簡介 文檔地址mysql

CH是由俄羅斯「熊哥」開源的一套用於聯機分析(OLAP)的列式數據庫管理系統(DBMS),它經過針對性的設計,力圖解決海量多維度數據的查詢性能問題。小白程序員輕鬆上手,安裝和操做就像mysql同樣簡單。linux

適用於:
  1. 大多數是讀請求
  2. 每次寫入大於1000行的數據(不適用於單條插入)
  3. 不修改已添加的數據
  4. 每次查詢都從數據庫中讀取大量的行,可是同時又僅須要少許的列
  5. 寬表,即每一個表包含着大量的列
  6. 較少的查詢(一般每臺服務器每秒數百個查詢或更少)
  7. 對於簡單查詢,容許延遲大約50毫秒
  8. 列中的數據相對較小: 數字和短字符串(例如,每一個URL 60個字節)
  9. 處理單個查詢時須要高吞吐量(每一個服務器每秒高達數十億行)
  10. 事務不是必須的
  11. 對數據一致性要求低
  12. 每個查詢除了一個大表外都很小
  13. 查詢結果明顯小於源數據,換句話說,數據被過濾或聚合後可以被盛放在單臺服務器的內存中nginx

    應用場景

    公交軌跡(我本身的應用場景
    消費轉帳流水
    日誌記錄
    天氣數據
    ......git

2、ClickHouse安裝程序員

安裝方式有多種(暫未支持windows上安裝),官方文檔上介紹的安裝方式感受有點複雜,下面介紹一種較爲簡單的安裝方式,經過rpm安裝包進行安裝,git地址:點擊跳轉
系統環境:CentOS 7.5
一、下載包須要curl支持,當前系統沒有的話須要先經過yum安裝一下github

sudo yum install -y curl

二、下載安裝腳本web

curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | sudo bash

三、檢查clickhouse安裝包全不全sql

sudo yum list 'clickhouse*'

Available Packages
clickhouse-client.x86_64                18.1.0-1.el7             Altinity_clickhouse
clickhouse-common-static.x86_64         18.1.0-1.el7             Altinity_clickhouse
clickhouse-compressor.x86_64            1.1.54336-3.el7          Altinity_clickhouse
clickhouse-debuginfo.x86_64             18.1.0-1.el7             Altinity_clickhouse
clickhouse-mysql.noarch                 0.0.20180319-1           Altinity_clickhouse
clickhouse-server.x86_64                18.1.0-1.el7             Altinity_clickhouse
clickhouse-server-common.x86_64         18.1.0-1.el7             Altinity_clickhouse
clickhouse-test.x86_64                  18.1.0-1.el7             Altinity_clickhouse

四、檢查沒問題的話開始安裝服務端和客戶端數據庫

sudo yum install -y clickhouse-server clickhouse-client

五、檢查安裝後的包全不全

sudo yum list installed 'clickhouse*'

Installed Packages
clickhouse-client.x86_64                 18.1.0-1.el7           @Altinity_clickhouse
clickhouse-common-static.x86_64          18.1.0-1.el7           @Altinity_clickhouse
clickhouse-server.x86_64                 18.1.0-1.el7           @Altinity_clickhouse
clickhouse-server-common.x86_64          18.1.0-1.el7           @Altinity_clickhouse

六、安裝成功後首先運行服務端,默認會使用config.xml做爲配置文件,也能夠經過--config=xxx來指定配置文件

sudo service clickhouse-server start

七、客戶端運行,這裏的命令啥的和mysql很像,一些命令語法都是差很少的,下面簡單試下

clickhouse-client

localhost :) show databases
SHOW DATABASES
┌─name────┐
│ default │
│ system  │
└─────────┘

2 rows in set. Elapsed: 0.030 sec.

這時服務端會有響應信息

ClickHouse client version 18.1.0.
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 18.1.54396.

:)

3、可視化界面安裝,官方文檔有介紹不少種工具,這裏介紹Tabix

上面介紹的操做方式都是在linux上進行操做的,結果什麼都須要經過終端進行查看,很不方便,好在有第三方可視化Web界面工具Tabix
操做界面
Tabix使用安裝很是方便,有本地安裝和無安裝兩種方式
一、無安裝方式最簡單,直接打開官方提供的地址:點擊跳轉
登陸
在上面輸入你Clickhouse運行的地址、端口、登陸名、密碼等信息就行了。
二、本地安裝方式
本地須要web服務器,因此先安裝一個nginx,具體安裝再也不細說,網上資料有不少,nginx配置

server {
    listen 80;
    server_name ui.tabix.io;
    charset        utf-8;
    root /var/www/tabix.ui/build;
    location / {
        if (!-f $request_filename) {
            rewrite ^(.*)$ /index.html last;
        }
        index  index.html index.htm;
    }
}

而後下載最新的安裝文件:點擊跳轉,而且解壓將build文件夾拷貝到nginx對應的目錄下,而後瀏覽運行看下效果,具體登陸操做和上面同樣。

4、擴充

集羣的安裝可參考這篇文章:點擊跳轉
使用Prometheus進行系統的監控
使用Grafana監控數據庫的性能

下一篇將介紹數據操做的一些類庫

微信關注我哦!(轉載註明出處)關注我哦

相關文章
相關標籤/搜索