国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

大數(shù)據(jù)系列——什么是ClickHouse?ClickHouse有什么用途?

這篇具有很好參考價(jià)值的文章主要介紹了大數(shù)據(jù)系列——什么是ClickHouse?ClickHouse有什么用途?。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、什么是ClickHouse

二、ClickHouse有什么用途

三、ClickHouse的不足

四、適用場景

五、ClickHouse特點(diǎn)

六、ClickHouse VS?MySQL

七、類SQL 語句?

八、核心概念


一、什么是ClickHouse

  • clickHouse是俄羅斯的 Yandex 公司于 2016 年開源的列式存儲(chǔ)數(shù)據(jù)庫,使用 C++ 語言編寫;

clickhouse是什么,【能力】工作/軟實(shí)力/書籍閱讀,【技術(shù)】研發(fā),【技術(shù)】數(shù)據(jù)庫DB/緩存,大數(shù)據(jù),ClickHouse

  • 一款面向 OLAP 的數(shù)據(jù)庫
  • ClickHouse支持類SQL語言,提供了傳統(tǒng)關(guān)系型數(shù)據(jù)的便利

二、ClickHouse有什么用途

專門用于 OLAP(聯(lián)機(jī)分析處理),其性能驚人;

什么是 OLAP? 聯(lián)機(jī)分析處理,又可以稱之為多維分析處理。它指的是通過多種不同的維度審視數(shù)據(jù),進(jìn)行深層次分析。

三、ClickHouse的不足

高性能面向 OLAP 的數(shù)據(jù)庫,不擅長的方面:

  • 不支持事務(wù)
  • 不擅長根據(jù)主鍵按行粒度進(jìn)行查詢(雖然支持),所以不應(yīng)該把 ClickHouse 當(dāng)做鍵值對數(shù)據(jù)庫使用
  • 不擅長按行刪除數(shù)據(jù)(雖然支持)

對于 OLAP 數(shù)據(jù)庫而言,上述這些能力不是重點(diǎn),只能說這是為了極致的查詢性能所做的權(quán)衡。

四、適用場景

  • 絕大多數(shù)請求都是讀取訪問權(quán)限。
  • 數(shù)據(jù)以相當(dāng)大的批次(> 1000行)更新,而不是單行更新; 或者它根本沒有更新。
  • 數(shù)據(jù)已添加到數(shù)據(jù)庫,但未進(jìn)行修改。
  • 讀取數(shù)據(jù)時(shí),會(huì)從數(shù)據(jù)庫中提取出大量的行,但只用到一小部分列?列式存儲(chǔ)
  • 數(shù)據(jù)一致性要求較低

五、ClickHouse特點(diǎn)

  • 完備的DBMS功能
  • 列式存儲(chǔ)和數(shù)據(jù)壓縮

    列式存儲(chǔ),在掃描指定列時(shí),不用按行組織其他非指定列的數(shù)據(jù),避免多余的數(shù)據(jù)掃描。

    數(shù)據(jù)壓縮,按照一定步長對數(shù)據(jù)進(jìn)行匹配掃描,當(dāng)發(fā)現(xiàn)重復(fù)部分的時(shí)候就進(jìn)行編碼轉(zhuǎn)換,降低IO和存儲(chǔ)的壓力。

  • 向量化執(zhí)行引擎

    簡單理解就是消除程序循環(huán)的優(yōu)化,堆機(jī)器加快速度,數(shù)據(jù)級并行。

  • 關(guān)系模型與SQL查詢

????????其他數(shù)據(jù)庫遷移到CK的成本很低。

  • 多樣化的表引擎

    CK的最初架構(gòu)是基于MySQL實(shí)現(xiàn)的,表引擎設(shè)計(jì)就與MySQL類似,存儲(chǔ)引擎作為一層獨(dú)立的接口。種類繁多,根據(jù)業(yè)務(wù)場景自行選擇

  • 多線程與分布式

????????多線程處理就是通過線程級并行的方式實(shí)現(xiàn)了性能的提升。

????????預(yù)先將數(shù)據(jù)分布到各臺(tái)服務(wù)器,將數(shù)據(jù)的計(jì)算查詢直接下推到數(shù)據(jù)所在的服務(wù)器,因?yàn)橛?jì)算移動(dòng)比數(shù)據(jù)移動(dòng)更加劃算。

  • 多主架構(gòu)

Multi-Master多主架構(gòu),集群中的每個(gè)節(jié)點(diǎn)角色對等,天然規(guī)避單點(diǎn)故障問題,適用于多數(shù)據(jù)中心、異地多活場景

  • 在線查詢,CK又快又免費(fèi)

與其他分析型數(shù)據(jù)庫對比,存在許多相似之處,例如都支持海量查詢場景、支持列式存儲(chǔ)、數(shù)據(jù)分片、計(jì)算下推等特效,說明CK在設(shè)計(jì)上吸取了各路優(yōu)點(diǎn)。

價(jià)格方面:其他開源系統(tǒng)慢,商用系統(tǒng)貴。CK又快又免費(fèi)。

  • 數(shù)據(jù)分片和分布式查詢

????????CK有本地表(Local Table)和分布式表(Distributed Table),一張本地表等同于一份數(shù)據(jù)的分片,而分布式表不存儲(chǔ)數(shù)據(jù),只是本地表的訪問代理。

????????分布式表類似分庫中間件,代理訪問多個(gè)數(shù)據(jù)分片,實(shí)現(xiàn)分布式查詢。

六、CH表對比

1、ClickHouse VS?MySQL

  • MySQL單條SQL是單線程的,只能跑滿一個(gè)core,ClickHouse相反,有多少CPU,吃多少資源,所以飛快;
  • ClickHouse不支持事務(wù),不存在隔離級別。ClickHouse的定位是分析性數(shù)據(jù)庫,而不是嚴(yán)格的關(guān)系型數(shù)據(jù)庫。
  • IO方面,MySQL是行存儲(chǔ),ClickHouse是列存儲(chǔ),后者在count()這類操作天然有優(yōu)勢,同時(shí),在IO方面,MySQL需要大量隨機(jī)IO,ClickHouse基本是順序IO。

2、ClickHouse VS?Druid

參考:https://www.sohu.com/a/516246493_411876

clickhouse是什么,【能力】工作/軟實(shí)力/書籍閱讀,【技術(shù)】研發(fā),【技術(shù)】數(shù)據(jù)庫DB/緩存,大數(shù)據(jù),ClickHouse

在廣告場景下,基于benchmark分析來看,ClickHouse會(huì)比druid有許多可取之處:

  • 數(shù)據(jù)存儲(chǔ)方面,ClickHouse的數(shù)據(jù)壓縮和列式存儲(chǔ)會(huì)極大節(jié)省存儲(chǔ)空間,而druid和其他多數(shù)數(shù)據(jù)庫都是基于時(shí)序的,druid在查詢大范圍的數(shù)據(jù)時(shí)會(huì)出現(xiàn)性能問題,而利用ClickHouse的分區(qū)鍵優(yōu)化可以有效的解決這個(gè)問題?
  • 在查詢方面,druid的排序,聚合能力都不太好,靈活性和擴(kuò)展性也不夠,比如缺少join,子查詢,主鍵排序等這些需求。而這些用SQL都可以通過ClickHouse來支持解決。
  • 運(yùn)維成本方面,Druid的運(yùn)維是非常復(fù)雜的,雖然支持多種數(shù)據(jù)攝入的組件,但是組件的構(gòu)成是比較復(fù)雜的,節(jié)點(diǎn)數(shù)量有6種之多,而ClickHouse架構(gòu)采用的是對等節(jié)點(diǎn)的設(shè)計(jì),節(jié)點(diǎn)就有一種類型,沒有主從節(jié)點(diǎn)。

七、類SQL 語句?

1、 客戶端登陸命令 : clickhouse-client -u user --password 123456 --port 9000


2、利用system數(shù)據(jù)庫中的parts_columns表進(jìn)行查詢。

select distinct column from system.parts_columns?
where database='表所屬的數(shù)據(jù)庫名稱' and table='所需要查詢的表名'

例如:
select distinct column from system.parts_columns where database='test' and table='table1'


3、利用system數(shù)據(jù)庫中的columns表進(jìn)行查詢。

select distinct name from system.columns?
where database='表所屬的數(shù)據(jù)庫名稱' and table='所需要查詢的表名'

例如:
select distinct name from system.columns where database='test' and table='table1'
ps :–推薦使用第二種方式來查詢表的所有列名。

4、

?alter table 表名稱 ON 集群名稱 add column 列名稱; ? ? ? ?--添加列
?alter table 表名稱 ON 集群名稱 drop column 列名稱; ? ? ? --刪除列
?alter table 表名稱 ON 集群名稱 modify column 列名稱 數(shù)據(jù)類型; ? --修改數(shù)據(jù)類型
?alter table 表名稱 ON 集群名稱 COMMENT COLUMN 列名稱 注解; ? ? --修改注釋

5、建表
CREATE TABLE test.table1(
? ? `id` String COMMENT '主鍵',
? ? `chinese_name` Nullable(String) COMMENT '中文名稱',
? ? `english_name` Nullable(String) COMMENT '英文名稱',
? ? `update_time` Nullable(DATETIME) COMMENT '更新時(shí)間',
? ? `create_time` Nullable(DATETIME) COMMENT '創(chuàng)建時(shí)間'
)
ENGINE = MergeTree
order by id

6、刪除表
//刪除本地表
DROP table ti.java4al_base on cluster ck;
//刪除分布式表
DROP table ti.java4al_base_all on cluster ck;

7、刪除數(shù)據(jù):?
方法1: 刪除分區(qū) alter table ?name drop partition 分區(qū);
方法:alter 語句 : alter table ?name delete where?
ALTER TABLE <table_name> UPDATE col1 = expr1, ... WHERE <filter>
方法:
索引列不能進(jìn)行更新


8、查詢表容量及壓縮
select
? ? table as "表名",
? ? sum(rows) as "總行數(shù)",
? ? formatReadableSize(sum(data_uncompressed_bytes)) as "原始大小",
? ? formatReadableSize(sum(data_compressed_bytes)) as "壓縮大小",
? ? round(sum(data_compressed_bytes) / sum(data_uncompressed_bytes) * 100, 0) "壓縮率"
from system.parts
? ? group by table;?? ?

八、核心概念

clickhouse是什么,【能力】工作/軟實(shí)力/書籍閱讀,【技術(shù)】研發(fā),【技術(shù)】數(shù)據(jù)庫DB/緩存,大數(shù)據(jù),ClickHouse

幾個(gè)概念:

1、Column與Field:一列中的某一行(具體數(shù)值)用Field對象表示;一列數(shù)據(jù)用一個(gè)Column對象表現(xiàn)

2、DataType?: 負(fù)責(zé)數(shù)據(jù)的序列化和反序列化相關(guān)工作,但是并不直接負(fù)責(zé)數(shù)據(jù)的讀取,而是轉(zhuǎn)由Column或Field對象獲取。在DataType的實(shí)現(xiàn)類中,聚合了相應(yīng)數(shù)據(jù)類型的Column對象和Field對象。

3、Block對象CK的數(shù)據(jù)操作是面向Block對象進(jìn)行的,并且是采用流的形式。Block=數(shù)據(jù)對象(Column/Feild) + DataType + 列名稱字符串。

4、Table:

在數(shù)據(jù)表的底層設(shè)計(jì)中并沒有所謂的Table對象,它直接使用 IStorage接口指代數(shù)據(jù)表。

表引擎是ClickHouse的一個(gè)顯著特性, 不同的表引擎由不同的子類實(shí)現(xiàn),例如IStorageSystemOneBlock (系統(tǒng)表)、StorageMergeTree(合并樹表引擎)和 StorageTinyLog(日志表引擎)等。

5、Parser和Interpreter

Parser分析器負(fù)責(zé)創(chuàng)建AST對象,而Interpreter解釋器則負(fù)責(zé)解釋AST,并進(jìn)一步創(chuàng)建查詢的執(zhí)行管道。它們與IStorage一起,串聯(lián)起了整個(gè)數(shù)據(jù)查詢的過程。

Parser分析器可以將一條SQL語句以遞歸下降的方法解析成 AST語法樹的形式。

不同的SQL語句,會(huì)經(jīng)由不同的Parser實(shí)現(xiàn)類解析。

6、Functions與Aggregate Functions

  • 普通函數(shù),例如四則運(yùn)算、日前轉(zhuǎn)換、網(wǎng)址提取函數(shù)、IP地址脫敏函數(shù)。沒有狀態(tài),函數(shù)效果作用于每行數(shù)據(jù)之上。在函數(shù)具體執(zhí)行過程中,采用向量化的方式直接作用于一整列數(shù)據(jù),而不是一行一行計(jì)算。
  • 聚合函數(shù),有狀態(tài)的,例如COUNT聚合函數(shù),AggregateFunctionCount的狀態(tài)用整型UInt64記錄。聚合函數(shù) 的狀態(tài)支持序列化與反序列化,所以能夠在分布式節(jié)點(diǎn)之間進(jìn)行傳 輸,以實(shí)現(xiàn)增量計(jì)算。

7、Cluster與Replication

集群由分片(Shard)組成,分片由副本(Replica)組成。

CK的1個(gè)節(jié)點(diǎn)只能擁有一個(gè)分片,如果要實(shí)現(xiàn)1分片、1副本,至少需要部署兩個(gè)服務(wù)節(jié)點(diǎn)。

分片是邏輯概念,物理承載由副本承擔(dān)文章來源地址http://www.zghlxwxcb.cn/news/detail-813888.html

到了這里,關(guān)于大數(shù)據(jù)系列——什么是ClickHouse?ClickHouse有什么用途?的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 數(shù)據(jù)倉庫系列:StarRocks的簡單試用及與clickhouse的對比

    數(shù)據(jù)倉庫系列:StarRocks的簡單試用及與clickhouse的對比

    StarRocks 與 ClickHouse 是兩款基于 MPP 架構(gòu)的列式數(shù)據(jù)庫管理系統(tǒng),都可以提供高性能的 OLAP 分析能力。 但是它們在功能、性能和使用場景上也有一些區(qū)別。 總結(jié)如下: StarRocks 與 ClickHouse 最大的區(qū)別就在于對于 join 的處理上 。 ClickHouse 雖然提供了 join 的語義,但使用上對大表

    2024年02月09日
    瀏覽(18)
  • ClickHouse--04--數(shù)據(jù)庫引擎、Log 系列表引擎、 Special 系列表引擎

    ClickHouse--04--數(shù)據(jù)庫引擎、Log 系列表引擎、 Special 系列表引擎

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 ClickHouse 中支持在創(chuàng)建數(shù)據(jù)庫時(shí)指定引擎,目前比較常用的兩種引擎為默認(rèn)引擎 和 MySQL 數(shù)據(jù)庫引擎。 Ordinary 就是 ClickHouse 中默認(rèn)引擎,如果不指定數(shù)據(jù)庫引擎創(chuàng)建的就是Ordinary 數(shù)據(jù)庫引擎,在這種數(shù)據(jù)

    2024年02月20日
    瀏覽(90)
  • clickhouse 系列2:clickhouse 離線安裝

    https://download.csdn.net/download/shangjg03/88353547 /etc/clickhouse-server?:?服務(wù)端的配置文件目錄,包括全局配置config.xml?和用戶配置users.xml。 /var/lib/clickhouse?:?默認(rèn)的數(shù)據(jù)存儲(chǔ)目

    2024年02月11日
    瀏覽(15)
  • ClickHouse(九):Clickhouse表引擎 - Log系列表引擎

    ClickHouse(九):Clickhouse表引擎 - Log系列表引擎

    ? 進(jìn)入正文前,感謝寶子們訂閱專題、點(diǎn)贊、評論、收藏!關(guān)注IT貧道,獲取高質(zhì)量博客內(nèi)容! ??個(gè)人主頁:含各種IT體系技術(shù),IT貧道_Apache Doris,Kerberos安全認(rèn)證,大數(shù)據(jù)OLAP體系技術(shù)棧-CSDN博客 ??訂閱:擁抱獨(dú)家專題,你的訂閱將點(diǎn)燃我的創(chuàng)作熱情! ??點(diǎn)贊:贊同優(yōu)秀創(chuàng)作

    2024年02月13日
    瀏覽(21)
  • ClickHouse(十三):Clickhouse MergeTree系列表引擎 - ReplicingMergeTree

    ClickHouse(十三):Clickhouse MergeTree系列表引擎 - ReplicingMergeTree

    ? 進(jìn)入正文前,感謝寶子們訂閱專題、點(diǎn)贊、評論、收藏!關(guān)注IT貧道,獲取高質(zhì)量博客內(nèi)容! ??個(gè)人主頁:含各種IT體系技術(shù),IT貧道_Apache Doris,大數(shù)據(jù)OLAP體系技術(shù)棧,Kerberos安全認(rèn)證-CSDN博客 ??訂閱:擁抱獨(dú)家專題,你的訂閱將點(diǎn)燃我的創(chuàng)作熱情! ??點(diǎn)贊:贊同優(yōu)秀創(chuàng)作

    2024年02月14日
    瀏覽(16)
  • ClickHouse(十一):Clickhouse MergeTree系列表引擎 - MergeTree(1)

    ClickHouse(十一):Clickhouse MergeTree系列表引擎 - MergeTree(1)

    進(jìn)入正文前,感謝寶子們訂閱專題、點(diǎn)贊、評論、收藏!關(guān)注IT貧道,獲取高質(zhì)量博客內(nèi)容! ??個(gè)人主頁:含各種IT體系技術(shù),IT貧道_Apache Doris,Kerberos安全認(rèn)證,大數(shù)據(jù)OLAP體系技術(shù)棧-CSDN博客 ??訂閱:擁抱獨(dú)家專題,你的訂閱將點(diǎn)燃我的創(chuàng)作熱情! ??點(diǎn)贊:贊同優(yōu)秀創(chuàng)作,

    2024年02月14日
    瀏覽(16)
  • clickhouse 系列1:clickhouse v21.7.5.29 源碼編譯

    安裝依賴 下載gcc?源碼包并解壓 ?配置、編譯和安裝 初

    2024年02月10日
    瀏覽(14)
  • ClickHouse--07--Integration 系列表引擎

    ClickHouse--07--Integration 系列表引擎

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 ClickHouse 提供了許多與 外部系統(tǒng)集成的方法 ,包括一些表引擎。這些表引擎與其他類型的表引擎類似,可以用于將外部數(shù)據(jù)導(dǎo)入到ClickHouse 中,或者在 ClickHouse中直接操作外部數(shù)據(jù)源。 HDFS 引擎支持 Cl

    2024年02月20日
    瀏覽(22)
  • ClickHouse--06--其他擴(kuò)展MergeTree系列表引擎

    ClickHouse--06--其他擴(kuò)展MergeTree系列表引擎

    MergeTree 系列表引擎 --種類 MergeTree 系 列 表 引 擎 包 含 : MergeTree ReplacingMergeTree SummingMergeTree(匯總求和功能) AggregatingMergeTree(聚合功能) CollapsingMergeTree(折疊刪除功能) VersionedCollapsingMergeTree(版本折疊功能)引擎 在這些的基礎(chǔ)上還可以疊加 Replicated 和 Distributed。 1.1 概

    2024年02月20日
    瀏覽(25)
  • 【clickhouse】ClickHouse與MySQL之間實(shí)時(shí)同步數(shù)據(jù)(MySQL引擎),將MySQL數(shù)據(jù)實(shí)時(shí)同步到clickhouse

    【clickhouse】ClickHouse與MySQL之間實(shí)時(shí)同步數(shù)據(jù)(MySQL引擎),將MySQL數(shù)據(jù)實(shí)時(shí)同步到clickhouse

    參考1:MySQL(通過該配置實(shí)現(xiàn)了實(shí)時(shí)同步) 參考2:experimental MaterializedMySQL 參考3:[experimental] MaterializedMySQL(包含設(shè)置 allow_experimental_database_materialized_mysql) MySQL引擎用于將遠(yuǎn)程的MySQL服務(wù)器中的表映射到ClickHouse中,并允許您對表進(jìn)行INSERT和SELECT查詢,以方便您在ClickHouse與MySQL之間進(jìn)行

    2024年01月16日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包