什么是 ClickHouse(实时数据分析数据库)
目錄
- 什么是 ClickHouse
- 軟件介紹
- 簡介
- 市場環境
- 目前國內社區火熱,各個大廠紛紛跟進大規模使用:
- 特點
- 優點
- 1、真正的面向列的DBMS
- 2、數據壓縮
- 3、磁盤存儲的數據
- 4、多核并行處理
- 5、在多個服務器上分布式處理
- 6、SQL 支持
- 7、向量化引擎
- 8、實時數據更新
- 9、支持近似計算
- 10、數據復制和對數據完整性的支持
- 缺點
- 環境搭建
- 下載軟件
- 上傳安裝
- 配置文件
- 啟動服務
- 可視化工具 DBeaver 連接
什么是 ClickHouse
軟件介紹
簡介
- 1、ClickHouse 是俄羅斯搜索巨頭 Yandex 公司早 2016年 開源的一個極具 " 戰斗力 " 的實時數據分析數據庫,開發語言為C++
- 2、是一個用于聯機分析 (OLAP:Online Analytical Processing) 的列式數據庫管理系統(DBMS:Database Management System),簡稱 CK
- 3、工作速度比傳統方法快100-1000倍,ClickHouse 的性能超過了目前市場上可比的面向列的DBMS。 每秒鐘每臺服務器每秒處理數億至十億多行和數十千兆字節的數據。
市場環境
- 1、隨著業務的迅猛增長,Yandex.Metrica目前已經成為世界第三大Web流量分析平臺,每天處理超過200億個跟蹤事件。能夠擁有如此驚人的體量,在它背后提供支撐的ClickHouse功不可沒。
- 2、ClickHouse已經為Yandex.Metrica存儲了超過20萬億行的數據,90%的自定義查詢能夠在1秒內返回,其集群規模也超過了400臺服務器。雖然ClickHouse起初只是為了Yandex.Metrica而研發的,但由于它出眾的性能,目前也被廣泛應用于Yandex內部其他數十個產品上。
目前國內社區火熱,各個大廠紛紛跟進大規模使用:
- 今日頭條 內部用ClickHouse來做用戶行為分析,內部一共幾千個ClickHouse節點,單集群最大1200節點,總數據量幾十PB,日增原始數據300TB左右。
- 騰訊 內部用ClickHouse做游戲數據分析,并且為之建立了一整套監控運維體系。
- 攜程 內部從18年7月份開始接入試用,目前80%的業務都跑在ClickHouse上。每天數據增量十多億,近百萬次查詢請求。
- 快手 內部也在使用ClickHouse,存儲總量大約10PB, 每天新增200TB, 90%查詢小于3S。
特點
1、開源的列存儲數據庫管理系統,支持線性擴展,簡單方便,高可靠性
2、容錯跑分快:比Vertica快5倍,比Hive快279倍,比MySQL快800倍,其可處理的數據級別已達到10億級別
- 速度對比圖
3、功能多:支持數據統計分析各種場景,支持類SQL查詢,異地復制部署
優點
1、真正的面向列的DBMS
- ClickHouse是一個DBMS,而不是一個單一的數據庫。它允許在運行時創建表和數據庫、加載數據和運行查詢,而無需重新配置和重新啟動服務器
2、數據壓縮
- 一些面向列的DBMS(INFINIDB CE 和 MonetDB)不使用數據壓縮。但是,數據壓縮確實是提高了性能
3、磁盤存儲的數據
- 許多面向列的DBMS(SPA HANA和GooglePowerDrill))只能在內存中工作。但即使在數千臺服務器上,內存也太小了。
4、多核并行處理
- 多核多節點并行化大型查詢
5、在多個服務器上分布式處理
- 在clickhouse中,數據可以駐留在不同的分片上。每個分片都可以用于容錯的一組副本,查詢會在所有分片上并行處理
6、SQL 支持
- ClickHouse sql 跟真正的sql有不一樣的函數名稱。不過語法基本跟SQL語法兼容,支持JOIN/FROM/IN 和JOIN子句及標量子查詢支子查詢
7、向量化引擎
- 數據不僅按列式存儲,而且由矢量-列的部分進行處理,這使得開發者能夠實現高CPU性能
8、實時數據更新
- ClickHouse支持主鍵表。為了快速執行對主鍵范圍的查詢,數據使用合并樹(MergeTree)進行遞增排序。由于這個原因,數據可以不斷地添加到表中)
9、支持近似計算
- 統計全國到底有多少人?143456754 14.3E
10、數據復制和對數據完整性的支持
- ClickHouse使用異步多主復制。寫入任何可用的復本后,數據將分發到所有剩余的副本。系統在不同的副本上保持相同的數據。數據在失敗后自動恢復
缺點
-
沒有完整的事務支持,不支持Transaction想快就別Transaction
-
缺少完整Update/Delete操作,缺少高頻率、低延遲的修改或刪除已存在數據的能力,僅用于批量刪除或修改數據。
-
聚合結果必須小于一臺機器的內存大小
-
支持有限操作系統,正在慢慢完善
-
不適合Key-value存儲,不支持Blob等文檔型數據庫
環境搭建
下載軟件
-
官網下載
-
備用下載地址
-
安裝包類別
- clickhouse-common-static — ClickHouse編譯的二進制文件。
- clickhouse-server — 創建 clickhouse-server 軟連接,并安裝默認配置服務
- clickhouse-client — 創建 clickhouse-client 客戶端工具軟連接,并安裝客戶端配置文件
上傳安裝
通過rz 或者 Xshell 上傳文件
-
安裝
-
[root@node01 ~]# rpm -ivh clickhouse-common-static-21.6.8.62-2.x86_64.rpm
-
[root@node01 ~]# rpm -ivh clickhouse-server-21.6.8.62-2.noarch.rpm
- 輸入密碼:123456
-
[root@node01 ~]# rpm -ivh clickhouse-client-21.6.8.62-2.noarch.rpm
-
-
查看
-
[root@node01 ~]# rpm -qa | grep clickhouse
- 列出所有包含 clickhouse 字段的軟件信息
-
[root@node01 ~]# rpm -ql clickhouse-server-21.6.8.62-2.noarch
- 查看rpm包安裝的詳細路徑
-
[root@node01 ~]# ll /etc/clickhouse-server/
- 查看路徑下文件
-
配置文件
-
1、修改權限
- [root@node01 ~]# chmod 644 /etc/clickhouse-server/config.xml
- [root@node01 ~]# chmod 644 /etc/clickhouse-server/users.xml
-
2、修改配置文件 config.xml
- [root@node01 ~]# vim /etc/clickhouse-server/config.xml
- 配置內容
-
3、修改配置文件 users.xml
- [root@node01 ~]# vim /etc/clickhouse-server/users.xml
- 配置內容
啟動服務
-
1、開啟服務
- [root@node01 ~]# systemctl start clickhouse-server.service
-
2、客戶端登錄
-
[root@node01 ~]# clickhouse-client -h 192.168.88.101 -u default --password
- 默認用戶 default 密碼 123456
-
-
3、查看節點的信息
- select * from system.clusters;
可視化工具 DBeaver 連接
底線。。。
總結
以上是生活随笔為你收集整理的什么是 ClickHouse(实时数据分析数据库)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全民奇迹修复云服务器跨服,传送受限攻防逆
- 下一篇: 【智能优化算法】基于文化和谐和学习算法优