自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

列式數(shù)據(jù)庫ClickHouse,大寬表聚合、報表一下全搞定

數(shù)據(jù)庫 其他數(shù)據(jù)庫
ClickHouse 更適用于大規(guī)模數(shù)據(jù)分析、數(shù)據(jù)倉庫、復雜查詢、大寬表聚合、報表等場景,而 Elasticsearch 更適用于全文搜索、實時數(shù)據(jù)分析、日志分析和數(shù)據(jù)探索等場景。

一、前言

現(xiàn)在數(shù)據(jù)庫的種類也是特別的多,大致的類別包括:

  • 關(guān)系型數(shù)據(jù)庫( MySQL、Oracle、PostgreSQL)。
  • 非關(guān)系型數(shù)據(jù)庫(Redis、MongoDB、Cassandra、Neo4j)。
  • 全文搜索引擎和分布式文檔存儲系統(tǒng)(Elasticsearch )。
  • 列式數(shù)據(jù)庫(ClickHouse)。

每種都在各自的領域表現(xiàn)出色,但當涉及到大規(guī)模數(shù)據(jù)分析和復雜查詢時,ClickHouse 出現(xiàn)在了舞臺上。

ClickHouse 使用列式存儲,這意味著它可以高效地執(zhí)行聚合、過濾和排序操作。

「面試經(jīng)常問到大寬表查詢聚合怎么辦,這不是解決方案來了嘛??!」

今天我們就一起來深入了解一下ClickHouse !看的人多的話,下期出實戰(zhàn)哈!

二、ClickHouse簡介

ClickHouse是一款由俄羅斯搜索引擎公司 Yandex 開發(fā)的開源列式數(shù)據(jù)庫管理系統(tǒng)(DBMS)。發(fā)布于2016年,是使用 C++ 編程語言開發(fā)的。它的設計目標是用于高性能的大規(guī)模數(shù)據(jù)分析和查詢,類似SQL語法降低開發(fā)和學習成本。

「ClickHouse 是用于實時應用程序和分析的速度最快、資源效率最高的開源數(shù)據(jù)庫?!?/p>

「Github的start數(shù)量已經(jīng):30.6k」

官網(wǎng)地址:https://clickhouse.com/

三、OLAP

簡介

說起列式數(shù)據(jù)庫,就不得不說OLAP,列式型數(shù)據(jù)庫天然適合OLAP場景,下面我們一起了解一下什么是OLAP!

OLAP(聯(lián)機分析處理)是一種強大的數(shù)據(jù)處理分析方法,特別適用于需要深入探索大量多維數(shù)據(jù)的應用場景,如業(yè)務智能、數(shù)據(jù)倉庫、銷售分析、財務報告等。OLAP 技術(shù)允許用戶從不同的角度、維度和層次來查看和分析數(shù)據(jù),以發(fā)現(xiàn)潛在的關(guān)聯(lián)、趨勢和模式,從而更好地做出決策。

場景特性

  • 表很“寬”,這意味著它們包含大量列。
  • 數(shù)據(jù)集很大,處理單個查詢時查詢需要高吞吐量(每臺服務器每秒高達數(shù)十億行)。
  • 列值相當小:數(shù)字和短字符串(例如,每個 URL 60 字節(jié))。
  • 查詢提取大量行,但只提取一小部分列。
  • 對于簡單查詢,允許 50 毫秒左右的延遲。
  • 每個查詢有一張大表;除了一張大表外,所有表都很小。
  • 查詢結(jié)果明顯小于源數(shù)據(jù)。換句話說,數(shù)據(jù)經(jīng)過過濾或聚合,因此結(jié)果適合單個服務器的 RAM。
  • 查詢相對較少(通常每臺服務器每秒數(shù)百個查詢或更少)。
  • 插入發(fā)生在相當大的批次(> 1000 行)中,而不是單行。
  • 事務不是必須的。

為什么適合OLAP

面向列的數(shù)據(jù)庫更適合 OLAP 場景:它們處理大多數(shù)查詢的速度至少快 100 倍。下面詳細解釋了原因,但事實更容易直觀地展示:

制作了一個動態(tài)圖片能夠直觀的看到比行式數(shù)據(jù)庫效率高很多!

四、業(yè)務場景

我們單獨講業(yè)務場景的話有點單調(diào),我們一般喜歡拿它和Elasticsearch 進行比較!

ClickHouse 和 Elasticsearch 都是用于數(shù)據(jù)存儲和查詢的強大工具,但它們在業(yè)務場景和使用方面有一些不同之處。

以下是 ClickHouse 和 Elasticsearch 的業(yè)務場景對比:

「ClickHouse:」

  • 數(shù)據(jù)倉庫和大規(guī)模數(shù)據(jù)分析:ClickHouse 是一個出色的大規(guī)模數(shù)據(jù)分析工具,特別適用于存儲和查詢歷史數(shù)據(jù)。它支持復雜的 SQL 查詢,可以執(zhí)行聚合、過濾、排序等操作,是構(gòu)建數(shù)據(jù)倉庫的理想選擇。
  • 時序數(shù)據(jù)分析:ClickHouse 的列式存儲結(jié)構(gòu)和高性能使其非常適合處理時序數(shù)據(jù),如傳感器數(shù)據(jù)、監(jiān)控數(shù)據(jù)、日志數(shù)據(jù)等。
  • 報表生成:如果你需要生成復雜的報表和分析結(jié)果,ClickHouse 可以提供高性能的數(shù)據(jù)檢索和處理能力。
  • 數(shù)據(jù)壓縮和存儲優(yōu)化:ClickHouse 使用快速壓縮算法,可以大幅減小存儲空間占用,降低硬件成本。
  • 復雜查詢:ClickHouse 支持復雜的查詢和聚合操作,適用于需要深入分析數(shù)據(jù)的場景。

「Elasticsearch:」

  • 全文搜索和文本分析:Elasticsearch 是一個出色的全文搜索引擎,專注于文本數(shù)據(jù)的高級搜索、分析和相關(guān)性排序。它通常用于構(gòu)建搜索引擎、日志分析和全文搜索應用。
  • 實時數(shù)據(jù)分析:Elasticsearch 支持實時數(shù)據(jù)分析,可以實時監(jiān)控、查詢和可視化數(shù)據(jù)。它在監(jiān)控、日志分析和實時數(shù)據(jù)倉庫等場景中表現(xiàn)出色。
  • 數(shù)據(jù)探索:Elasticsearch 提供了靈活的數(shù)據(jù)探索能力,用戶可以通過自由組合查詢條件來探索數(shù)據(jù)。
  • 非結(jié)構(gòu)化數(shù)據(jù):Elasticsearch 適用于非結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù),如日志、社交媒體數(shù)據(jù)、文檔等。
  • 數(shù)據(jù)可視化:結(jié)合 Kibana 工具,Elasticsearch 可以用于創(chuàng)建交互式數(shù)據(jù)可視化儀表板。
  • 高并發(fā)查詢:相對于ClickHouse 更適合高并發(fā)下的查詢。

五、拓展

當然我們也有列式存儲,字節(jié)在 ClickHouse 架構(gòu)基礎上進行了升級,于 2020 年在內(nèi)部啟動了 ByConity 項目,并于 2023 年 1 月發(fā)布 Beta 版本,5月底正式對外開源。

ByConity官網(wǎng)地址:https://byconity.github.io/zh-cn/。

ByConity 是字節(jié)跳動開源的云原生數(shù)據(jù)倉庫,它采用計算-存儲分離的架構(gòu),支持多個關(guān)鍵功能特性,如「計算存儲分離、彈性擴縮容、租戶資源隔離和數(shù)據(jù)讀寫的強一致性」等。

通過利用主流的 OLAP 引擎優(yōu)化,如「列存儲、向量化執(zhí)行、MPP 執(zhí)行、查詢優(yōu)化」等,ByConity 可以提供「優(yōu)異的讀寫性能」。

ByConity

字節(jié)也在內(nèi)部準備從ClickHouse 全面切換為ByConity。

我們本次了解一下ClickHouse,后面再深入學習一下ByConity!

五、總結(jié)

綜上所述,ClickHouse 更適用于大規(guī)模數(shù)據(jù)分析、數(shù)據(jù)倉庫、復雜查詢、大寬表聚合、報表等場景,而 Elasticsearch 更適用于全文搜索、實時數(shù)據(jù)分析、日志分析和數(shù)據(jù)探索等場景。

大家根據(jù)自己的業(yè)務具體使用那個即可!

責任編輯:姜華 來源: 小王博客基地
相關(guān)推薦

2021-01-21 10:23:43

數(shù)據(jù)庫架構(gòu)技術(shù)

2018-10-16 16:00:39

數(shù)據(jù)庫鎖舞MySQL

2021-09-28 09:25:05

NoSQL數(shù)據(jù)庫列式數(shù)據(jù)庫

2022-07-28 09:02:41

文件存儲系統(tǒng)

2011-08-03 15:14:17

Excel XP數(shù)據(jù)庫功能

2011-08-05 09:33:56

OracleUser ProcesServer Proc

2011-07-20 17:31:36

關(guān)系型數(shù)據(jù)庫

2011-07-29 13:40:34

Oracle數(shù)據(jù)庫PLSQL異常處理

2021-03-19 08:16:03

數(shù)據(jù)庫

2018-12-26 15:00:56

數(shù)據(jù)庫行式存儲列式存儲

2016-03-24 10:52:44

iOS儲存數(shù)據(jù)庫

2016-11-22 23:02:49

2017-03-27 23:22:23

數(shù)據(jù)庫列式存儲

2010-06-17 12:35:49

SQL Server數(shù)

2013-09-13 09:31:09

MongoDBZardosht KaTokutek

2011-10-26 17:16:10

惠普Vertica數(shù)據(jù)庫軟件

2019-08-19 01:34:38

數(shù)據(jù)庫SQL數(shù)據(jù)庫優(yōu)化

2011-08-09 15:25:14

線程池數(shù)據(jù)庫連接池

2024-01-31 08:23:54

2022-03-24 20:44:53

數(shù)據(jù)庫索引SQL
點贊
收藏

51CTO技術(shù)棧公眾號