ClickHouse學習系列之一【安裝說明】

背景

      最近花了些時間看了下ClickHouse文檔,發現它在OLAP方面表現很優異,並且相對也比較輕量和簡單,因此準備入門瞭解下該數據庫系統。按照習慣第一步先安裝,本文對其用戶權限管理方面進行梳理說明。git

說明

      ClickHouse是一個快速的開源數據庫管理系統,它是面向列的。工做速度比傳統方法快100-1000倍,ClickHouse的性能超過了目前市場上可比的面向列的DBMS。 每秒鐘每臺服務器每秒處理數億至十億多行和數十千兆字節的數據。github

  先看ClickHouse官網怎麼介紹它的一些特性:數據庫

  1. 快速:ClickHouse會充分利用全部可用的硬件,以儘量快地處理每一個查詢。單個查詢的峯值處理性能超過每秒2 TB(解壓縮後,僅使用的列)。在分佈式設置中,讀取是在健康副本之間自動平衡的,以免增長延遲。
  2. 容錯:ClickHouse支持多主機異步複製,而且能夠跨多個數據中心進行部署。全部節點都相等,這能夠避免出現單點故障。單個節點或整個數據中心的停機時間不會影響系統的讀寫可用性。
  3. 可伸縮:ClickHouse能夠在垂直和水平方向上很好地縮放。 ClickHouse易於調整以在具備數百或數千個節點的羣集上或在單個服務器上,甚至在小型虛擬機上執行。當前,每一個單節點安裝的數據量超過數萬億行或數百兆兆字節。
  4. 易用:ClickHouse簡單易用,開箱即用。它簡化了全部數據處理:將全部結構化數據吸取到系統中,而且當即可用於構建報告。 SQL容許表達指望的結果,而無需涉及某些DBMS中能夠找到的任何自定義非標準API。

充分利用硬件:ClickHouse與具備相同的可用I/O吞吐量和CPU容量的傳統的面向行的系統相比,ClickHouse處理典型的分析查詢要快兩到三個數量級。 列式存儲格式容許在RAM中容納更多熱數據,從而縮短了響應時間。ubuntu

  1. 提升CPU效率:向量化查詢執行涉及相關的SIMD處理器指令和運行時代碼生成。 處理列中的數據會提升CPU行緩存的命中率。
  2. 優化磁盤訪問:ClickHouse能夠最大程度地減小範圍查詢的次數,從而提升了使用旋轉磁盤驅動器的效率,由於它能夠保持連續存儲數據。
  3. 最小化數據傳輸:ClickHouse使公司無需使用專門針對高性能計算的專用網絡便可管理其數據。

功能豐富

  1. 友好的SQL:ClickHouse具備用戶友好的SQL查詢,並具備許多內置分析功能。除了大多數DBMS中能夠找到的經常使用功能外,ClickHouse還提供了許多特定的功能。
  2. 高效管理非規範化數據:ClickHouse的面向列性質容許每一個表具備數百或數千列,而不會減慢SELECT查詢的速度。經過利用普遍的數據組織選項,例如數組,元組和嵌套數據結構,能夠打包更多數據。
  3. 鏈接分佈式或共置數據:ClickHouse提供了用於聯接表的各類選項。聯接既能夠是本地羣集,也能夠訪問存儲在外部系統中的數據。還有一個外部字典支持,它提供了另外一種更簡單的語法,用於從外部源訪問數據。
  4. 近似查詢處理:用戶能夠控制結果準確性和查詢執行時間之間的權衡,這在處理多個TB或PB的數據時很是方便。 ClickHouse還提供了機率數據結構,可快速有效地計算基數和分位數

可靠

  1. ClickHouse一直在管理PB級數據,這些數據爲俄羅斯領先的搜索提供商,歐洲最大的IT公司之一Yandex的大量高負載大衆受衆服務提供服務。自2012年以來,ClickHouse一直爲公司的網絡分析服務,比較電子商務平臺,公共電子郵件服務,在線廣告平臺,商業智能工具和基礎架構監視提供強大的數據庫管理。
  2. ClickHouse能夠配置爲位於獨立節點上的純分佈式系統,而沒有任何單點故障。
  3. 軟件和硬件故障或配置錯誤不會致使數據丟失。 ClickHouse不會刪除「損壞的」數據,而是將其保存或詢問您在啓動前該怎麼作。每次對磁盤或網絡進行讀取或寫入以前,全部數據均通過校驗和。幾乎不可能意外刪除數據,由於即便存在人爲錯誤,也有保護措施。
  4. ClickHouse提供了對查詢複雜性和資源使用狀況的靈活限制,能夠經過設置對其進行微調。能夠同時爲多個高優先級低延遲請求和一些具備後臺優先級的長時間運行的查詢提供服務。

什麼時候使用ClickHouse:

  用於分析結構良好且不可變的事件或日誌流,建議將每一個此類流放入具備預鏈接維度的單個寬表中。數組

什麼時候不使用ClickHouse:

  不適合事務性工做負載(OLTP)、高價值的鍵值請求、Blob或文檔存儲。緩存

外部介紹

  在Percona的基準測試中,得出的結論是:ClickHouse在此基準測試中絕對是贏家:與MariaDB ColumnStore和Apache Spark相比,它顯示出更好的性能(> 10倍)和更好的壓縮。 若是您正在尋找最佳性能和壓縮率,則ClickHouse看起來很是不錯。同時,ColumnStore提供了一個MySQL端點(MySQL協議和語法),所以若是您要從MySQL進行遷移,它是一個不錯的選擇。具體的測試能夠看上面2篇文章。服務器

安裝

ClickHouse目前有二種方法進行安裝:一個是經過系統包安裝(Ubuntu:apt-get;Centos:yum install),另外一個是經過編譯安裝。能夠在 Quick start  進行查看:網絡

Ubuntu:
sudo apt-get install dirmngr sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4 echo "deb http://repo.clickhouse.tech/deb/stable/ main/" | sudo tee /etc/apt/sources.list.d/clickhouse.list sudo apt-get update sudo apt-get install -y clickhouse-server clickhouse-client sudo service clickhouse-server start clickhouse-client Centos、RedHat sudo yum install yum-utils sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/stable/x86_64 sudo yum install clickhouse-server clickhouse-client
sudo /etc/init.d/clickhouse-server start clickhouse-client 編譯安裝,注意安裝前添加用戶 export LATEST_VERSION=$(curl -s https://repo.clickhouse.tech/tgz/stable/ | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -V -r | head -n 1) curl -O https://repo.clickhouse.tech/tgz/stable/clickhouse-common-static-$LATEST_VERSION.tgz curl -O https://repo.clickhouse.tech/tgz/stable/clickhouse-common-static-dbg-$LATEST_VERSION.tgz curl -O https://repo.clickhouse.tech/tgz/stable/clickhouse-server-$LATEST_VERSION.tgz curl -O https://repo.clickhouse.tech/tgz/stable/clickhouse-client-$LATEST_VERSION.tgz tar -xzvf clickhouse-common-static-$LATEST_VERSION.tgz sudo clickhouse-common-static-$LATEST_VERSION/install/doinst.sh tar -xzvf clickhouse-common-static-dbg-$LATEST_VERSION.tgz sudo clickhouse-common-static-dbg-$LATEST_VERSION/install/doinst.sh tar -xzvf clickhouse-server-$LATEST_VERSION.tgz sudo clickhouse-server-$LATEST_VERSION/install/doinst.sh sudo /etc/init.d/clickhouse-server start tar -xzvf clickhouse-client-$LATEST_VERSION.tgz sudo clickhouse-client-$LATEST_VERSION/install/doinst.sh

安裝完成以後,各個目錄的分配以下:數據結構

  • 配置文件目錄:/etc/clickhouse-server
  • 數據文件目錄:/var/lib/clickhouse
  • 日誌文件目錄:/var/log/clickhouse-server

各個目錄能夠在配置文件(config.xml)裏進行修改,後續文章會有關於配置文件的說明。我的比較推薦使用apt或則yum來安裝,安裝好了開始登錄使用吧!架構

登錄

有二種方式登入ClickHouse,一是經過命令行登錄,而是經過圖形界面登錄。安裝好後登錄的默認用戶名是default。

①:命令行登錄,如:

clickhouse-client --user=zhoujy --password=123456 --host=192.168.163.132

②:圖形界面登錄,默認圖形界面管理是不開啓的,須要啓動則須要打開參數:<http_server_default_response></http_server_default_response>,默認http端口爲8123:

注意:上面的登錄用戶是須要開啓遠程(任意IP)訪問的,已經須要是全部(管理,非ReadOnly)權限,不然登陸失敗,默認的default是不能登錄的,只能localhost登錄。關於如何配置用戶權限管理在下篇文章中介紹。

總結

      ClickHouse做爲一個高性能OLAP數據庫,雖然OLAP能力逆天但也不該該把它用於任何OLTP事務性操做的場景,相比OLTP:不支持事務、不擅長根據主鍵按行粒度的查詢、不擅長按行刪除數據,目前市場上的其餘同類高性能OLAP數據庫一樣也不擅長這些方面。由於對於一款OLAP數據庫而言,OLTP能力並非重點。
相關文章
相關標籤/搜索