成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OLAP 的技術研發與思考--ClickHouse 2023 總結和 2024 展望

數據庫 其他數據庫
ClickHouse 是一個用于聯機分析(OLAP)的列式數據庫管理系統(DBMS),主要用于線上分析處理。本文會介紹 ClickHouse 2024 核心新功能和產品研發方向。

一、ClickHouse 簡介

1、ClickHouse 是什么?

圖片

  • 開源

ClickHouse 是一款開源產品,自 2016 年首次開源至今已經 7 年時間;在這期間,有幸得到了全球 1300 余名開發者的貢獻;自開源以來,ClickHouse 已發布 500 多個版本。

  • 列式數據庫

ClickHouse 的核心是以 C++ 和 assembly 編寫的列式數據庫,并在此基礎上進行性能優化,在聚合、排序、索引、后臺合并等方面均有出色的表現,因此獲得了“世界上最快的數據庫”的稱號。

  • 分布式架構

ClickHouse 是一個高可用性的分布式系統,既可以部署在單個節點上,也可以將不同的節點部署到同一數據中心,甚至可以將節點分散部署到多個不同的數據中心。

在擴展性方面,作為一種 Multi-master 分布式系統,既支持垂直擴展,也支持水平擴展;即便個別服務器出現故障,系統依然可以繼續運行,不影響整體的服務體驗。

  • OLAP 數倉

ClickHouse 是一種 OLAP 數據庫,主要為處理不可變數據以及超大規模查詢而創建,支持數百 PB 數據量的即時查詢服務,同時也支持 BI 工具。

2、ClickHouse 的優勢

圖片

  • 輕量級快速查詢

ClickHouse 在大規模數據分析和查詢方面表現良好,聚合和計算速度都非常快,如上圖右側截圖所示,ClickHouse 的表現顯著超越 Pinot、Redshift、Elasticsearch、Druid 等其他競爭對手。

  • 資源利用最大化

ClickHouse 采用行業領先的數據壓縮技術,存儲效率提高數十倍至百倍。

  • 方便上手,容易使用

ClickHouse 支持多種不同 Table Function,支持各種數據來源(例如 S3、Delta Lake、Iceberg、Hudi 等)的自助式數據引入,同時支持標準 SQL 語法查詢,因此易于上手。

3、ClickHouse 的發展歷程

圖片

ClickHouse 最初于 2009 年基于互聯網規模分析需求而創建;在 2016 年 6 月,ClickHouse 以 Apache 2.0 許可證發布第一個版本;從右圖可以看出,自 2016 年起,ClickHouse 經歷了飛速的發展,其增長速度遠超其他同類型項目。到 2021 年,ClickHouse Inc 成立,公司致力于投資開源產品,實現技術的不斷優化。公司去年推出云服務,支持開源軟件(OSS)的開發,并構建托管的云 SaaS 產品;這樣,ClickHouse 不僅是一個開源產品,同時也提供了云服務選項。

4、兩種 ClickHouse 運營模式

ClickHouse 有兩種運營模式:ClickHouse 自建和 ClickHouse Cloud,用戶可根據不同的場景選擇適當的模式。

圖片


(1)ClickHouse 自建

ClickHouse 自建是最初的設計理念:用戶直接下載開源軟件并部署到環境中;數據可以直接存儲在節點上,這是一種簡潔高效的模式,數據和資源(如內存、CPU 和磁盤)都直接歸屬于子節點。

然而這種存儲方式也有其缺點:

  • 容易出現節點丟失的情況;
  • 新增節點,會因數據的復制而耗費較長時間;
  • 節點擴展或節點維護等操作會遇到限制。

(2)ClickHouse Cloud

ClickHouse Cloud 是另外一種架構,該架構使用的是對象存儲而不是本地硬盤存儲,從而實現存算分離。使用這樣的架構模式,計算資源可以維持在穩定狀態,這樣可以輕松替換出現問題的節點,同時可以快速實現擴容或縮容;目前 ClickHouse 支持自動擴容或縮容,對于無服務器產品來說,大大提高了維護的便捷性,降低了維護成本。

5、ClickHouse 企業版在阿里云重磅上線

圖片

作為全球云戰略的關鍵組成部分,我們今年 3 月份宣布與阿里云達成合作,將 ClickHouse 引入中國市場。在運營模式上,阿里云版本與原始 ClickHouse 有諸多相似之處,兩者均采用存算分離架構,并支持自動擴容和縮容。

圖片

這里就產生了一個疑問:開源和云端服務是否存在矛盾?答案顯然是不會存在矛盾。開源技術是云產品的核心,如果沒有強大且持續發展的開源技術支持,云產品往往很難取得成功;據了解,超過半數的云客戶都有使用過開源產品的經驗;另一方面,當產品取得了一定的成功,會將收益資源回饋給開源社區,用于支持和發展開源產品。因此,開源產品和云產品之間相互扶持、相互促進、共同發展,最終實現雙贏,共同推動創業生態的繁榮。

6、ClickHouse 的使用場景

圖片

Uber 使用 ClickHouse 服務作為日志觀測平臺,日寫入量高達數十 PB。

二、ClickHouse 開源產品的產品新特性

1、ClickHouse 開源產品特性簡介

圖片

在介紹 ClickHouse 開源產品的產品新特性之前,首先要特別感謝所有對 ClickHouse 作出貢獻的開發者;在最近的日常版本中,新增 20 多位貢獻者,這些開發者在 23.9 版本中首次提交了代碼。各位讀者如果有興趣,歡迎參與開源版本的開發過程,或者加入社區了解最新進展。

圖片

ClickHouse 致力于處理大數據,因此更快速地導入數據是我們的首要任務。在這方面發生了許多事情,一個典型的例子就是異步插入。這是一種批量插入的方式,可以高效地提高 I/O 和吞吐量。此外,我們還引入了去重插入的功能。有時用戶發出插入請求,但結果沒有返回,原因有很多種,也許是服務器宕機了,也許是網絡問題,用戶很難辨別原因,也很難知道插入操作是否成功。而去重功能,會在服務器端維護最近請求的緩存,這樣當發出重復的插入請求時,如果這段數據已經插入過,則什么都不會發生;如果尚未插入,則繼續進行;這樣可以確保不會重復插入數據。這是一個非常酷的功能。

當然,整合也是 ClickHouse 非常重要的一部分。我將在演示的后半部分花更多時間談論整合,特別是關注數據湖的整合。

今年我們加入了 Hudi、Delta Lake、Iceberg 等不同的數據湖格式,當然我們正在將這些整合到 ClickHouse 中。同時,我們也在優化 Parquet 的讀取性能,稍后會詳細介紹。

我們還非常關注半結構化數據。當然,已經支持 ClickHouse 從 JSON 數據讀取一段時間了。在最新的版本中,我們為 JSON 引入了模式推斷,這樣只需查看一些對象并了解模式,就可以輕松進行編組和解組。未來我們將繼續投資于 JSON 對象的支持,我們的目標是使 JSON 在 ClickHouse 內部成為本機的第一類類型,這樣使用 JSON 對象將會更加輕松。

2、Parquet Reading 速度提升

圖片

針對 Parquet 讀取性能的提升,在 23.4 版本,實現了從 S3/URL 讀取數據,速度提升 100 倍;在 23.6 版本,分區查詢速度提高了 2 倍,對于單個文檔查詢提高了 4 倍。之所以得到這樣顯著的提升,是因為系統只讀取相關的列,并根據范圍(range)跳過不必要的 block,并且以并行的方式進行執行。

3、MySQL 兼容性支持

圖片

常見的第三方 BI 工具大多只支持少數熱門的數據庫;為了更好地實現 BI 工具集成,我們改進了與 MySQL Wire Protocol 和 SQL 的兼容性,使第三方工具能夠與 ClickHouse 無縫交互。我們在這方面會繼續與更多的廠商合作,推出更多 BI 工具。

4、SSH 密鑰驗證

圖片

ClickHouse 近期推出 SSH 密鑰驗證,采用公鑰/私鑰組合的方式,將私鑰放在客戶端,公鑰存入 ClickHouse 中;這樣的方案比輸入密碼更快、更簡單、更安全,能夠有效防止暴力破解、撞庫攻擊等行為,同時提高開發者體驗。

5、數據管理能力方面的擴展

  • 輕量級操作

在輕量級操作中,ClickHouse 主要關注數據的快速讀取。雖然大部分的數據是不可變數據,但是在有些使用場景還是有大量數據刪除和數據更新的需求;如果使用傳統的方式來刪除數據,會造成所有 part 重構,從而耗費大量的 I/O 和 CPU;假如使用輕量級的刪除操作,首先給待刪除的數據添加標簽,這樣后臺在數據合并時即可實現數據的徹底刪除,而不影響數據的讀取性能。

  • 數據庫事務

數據庫事務的支持是用戶期待已久且備受歡迎的功能,實現了 ACID 屬性的進一步優化,并支持 ClickHouse 用戶不同的應用場景;目前該功能仍在研發階段,會盡快推出這個功能。

  • 查詢緩存

圖片

在開發過程中,每次查詢操作相對較為耗時,因此將首次查詢結果放入緩存,后期重復查詢可直接讀取查詢結果,這樣可以大大減少查詢延時,降低資源消耗。

6、更加靈活豐富的數據分析能力

  • 分析器

將分析器加入到 ClickHouse 配套服務中,并將其設置為默認配置,從而增強多關聯子句的復雜查詢性能。

  • 加強 JOIN 性能

加強 JOIN 操作的優化,并支持自動選擇 JOIN 方法(如 Merge Join、Grace Hash Join 等)。

  • Inverted Indices / Vector Search

團隊將繼續開發 inverted indices 和 vector search 演算法等新功能,并有望在 2024 年的穩定版中推出。

7、向量搜索(Vector Search)

圖片

向量搜索目前尚處于實驗階段,待測試穩定后有望于 2024 年發布,感興趣的讀者可以訪問我們的官方網站了解更多詳細信息。

圖片

三、問答環節

Q1:ClickHouse 如何支持文本數據(如 JSON 數據以及日志數據等)這類半結構化數據的查詢和過濾?

A1:ClickHouse 已經支持 JSON 一段時間了,不過是以 experimental 的功能推出的。前兩個月 ClickHouse 在 github 上發布了 RFC,在一定程度上提升了 JSON 的讀取性能;然而目前仍然不是非常滿意,因此后期計劃重寫這部分功能,以實現對 JSON 更高效的支持。

對于半結構化數據(log text data),目前 ClickHouse 支持通過 stream 方式,使用 LIKE 方法對 log data 實現查詢和過濾,不過查詢相對較慢;后期計劃完善這部分功能,提升搜索效率,不過現在仍處于實驗階段。

Q2:ClickHouse 在原生 MPP 數據庫和 Elastic MPP 數據庫方面做了哪些改進?

A2:由于傳統擴容效率不高,因此 ClickHouse 創建了 Cloud 模式,以 Serverless 擴展,云端推出 Table Engine 使用存算分離結構。對于原生 MPP 數據庫和 Elastic MPP 數據庫方面尚未作出修改。

Q3:ClickHouse 對于類似 MySQL 的虛擬列或表達式列的支持情況如何?

A3:ClickHouse 已經支持虛擬列,并且可以使用 MATERIALIZED 子句創建列。它類似于 MySQL 的虛擬列,總是基于另一列進行計算,并且不占用存儲。詳見:

https://clickhouse.com/docs/en/sql-reference/statements/create/table#materialized

Q4:關聯查詢方面,如何 JOIN 外部的 ElasticSearch 數據?

A4:ClickHouse 不支持 ElasticSearch 表引擎。但是,我們支持的表引擎有 MySQL、PostgreSQL、MongoDB、S3、Hive、Hudi、DeltaLake 等。并且可以使用它們進行 JOIN。

Q5:ClickHouse 能完全取代 Spark 嗎?

A5:是的,ClickHouse 與 ANSI SQL 兼容,就像 Spark 一樣。

Q6:ClickHouse 能實現倒排索引嗎?

A6:根據實踐經驗,如果不超過百級的 QPS,在億級至百億級的查詢量,token 數在千到萬的級別,ClickHouse 一般都能做到亞秒級響應。因此先前很多 ES 的場景現在都轉移到了 ClickHouse 中。

Q7:ClickHouse 集群規模如何?

A7:完整節點有幾千臺,對于百億級別的數據,使用單集群存儲,一般情況使用 1 臺 SSD 存儲就夠用了。

Q8:對于 BI 場景下的多表關聯需求,JOIN 性能的目標和預期大概是什么水平?

A8:具體的目標和預期目前很難量化,我們在 2024 的 plan list 中已經將這部分工作設定為高優先級。

責任編輯:姜華 來源: DataFunTalk
相關推薦

2023-12-12 07:34:54

炎凰數據大數據分析數據庫開發

2022-07-28 09:39:26

研發效能業務

2022-05-27 11:46:48

技術能力思考

2022-12-19 11:20:41

行業4.0物聯網

2023-02-06 15:05:06

2024-12-26 08:06:35

2024-01-19 09:03:06

ReactTypeScripFlexbox

2024-11-21 10:05:14

2023-02-03 10:42:01

2022-05-25 10:47:01

淘寶開發模式

2017-04-25 08:57:47

云計算云化私有云

2023-07-27 10:33:24

2022-01-20 11:01:41

量子計算系統

2024-04-11 09:29:12

React生態系統TypeScript

2023-12-15 09:46:19

2011-11-03 14:35:06

2024-01-29 08:20:03

物化視圖StarRocksOLAP系統

2021-08-30 11:48:33

開發技術互聯網

2025-03-06 09:00:00

前端AI開發

2016-12-12 13:26:03

錢嶺大數據數據安全
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩有码在线观看 | 国产目拍亚洲精品99久久精品 | 国产视频精品免费 | 国产在线中文字幕 | 国产欧美一区二区三区在线看蜜臀 | 色av一区二区 | 91精品在线播放 | 国产一级在线 | 成人欧美一区二区三区黑人孕妇 | 久久骚 | 欧美一区中文字幕 | 91文字幕巨乱亚洲香蕉 | 亚洲入口| 羞羞视频在线网站观看 | 日韩成人av在线 | 看av网 | 亚洲精品视频在线观看视频 | 精品成人在线视频 | 日韩美香港a一级毛片免费 国产综合av | 精品九九 | 国产乱码精品1区2区3区 | 九九亚洲 | 欧美一区在线视频 | 天天欧美| 久久久久久毛片免费观看 | 久久国内 | 日本不卡免费新一二三区 | 亚洲精品久久久一区二区三区 | 全免费a级毛片免费看视频免费下 | 成人午夜免费网站 | 国产精品国产成人国产三级 | 三级黄色片在线观看 | 亚洲激情在线视频 | 夜夜摸天天操 | av免费看在线 | 日日天天| 亚洲国产精品一区二区www | 中文字幕不卡一区 | 亚洲精品av在线 | 国产精品99精品久久免费 | 国产欧美精品一区二区三区 |