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