如何看待yandex開源clickhouse這個(gè)列式文檔數(shù)據(jù)庫?
我來答

如何看待yandex開源clickhouse這個(gè)列式文檔數(shù)據(jù)庫?

陳智海 2020-11-30 提問
345

如何看待yandex開源clickhouse這個(gè)列式文檔數(shù)據(jù)庫?

關(guān)閉
提交回答
2 個(gè)回答
我來答
陸塵

其實(shí)只是查詢支持下推到各個(gè)節(jié)點(diǎn),并不是真正的分布式,我猜測(cè)先做好單機(jī)在考慮完善分布式,使用和維護(hù)純手動(dòng)擋,成本略高,入坑需謹(jǐn)慎,數(shù)據(jù)副本確實(shí)需要zk來維護(hù)同步,數(shù)據(jù)寫入基本只能batch,并且大批量數(shù)據(jù)batch 插入,如果插入頻繁,容易導(dǎo)致數(shù)據(jù)合并功能異常,至于性能強(qiáng),目前確實(shí)是單表查詢比較快,列式存儲(chǔ),有索引相關(guān)支持,基本可以跳過大量無用數(shù)據(jù),快那是肯定的,聚合操作單機(jī)匯總,容易蹦,c++開發(fā)也有些性能優(yōu)勢(shì)。

而大數(shù)據(jù)相關(guān)引擎這塊做得較差,起初都是暴力掃描,近幾年開始關(guān)注索引和一些信息收集統(tǒng)計(jì),由于存儲(chǔ)層用hdfs導(dǎo)致存儲(chǔ)層優(yōu)化有限,所以沒那么徹底在存儲(chǔ)層設(shè)計(jì)加速。

最后,任何技術(shù)都要理性看待,都有應(yīng)用場(chǎng)景,不是萬能藥基本不存在,任何系統(tǒng)的誕生都有歷史緣故,解決某類具體問題而設(shè)計(jì),都有邊界,最近社區(qū)吹的有些過了吧,對(duì)比大數(shù)據(jù)各種引擎,其實(shí)大數(shù)據(jù)數(shù)據(jù)庫引擎今天來看已經(jīng)比較完善,性能已經(jīng)今非昔比,多年研發(fā),那個(gè)系統(tǒng)引擎都在進(jìn)步,都在解決難題。

回答于 2020-11-30
贊同
評(píng)論
楊揚(yáng)

ClickHouse 是 Yandex(俄羅斯最大的搜索引擎)開源的一個(gè)用于實(shí)時(shí)數(shù)據(jù)分析的基于列存儲(chǔ)的數(shù)據(jù)庫,其處理數(shù)據(jù)的速度比傳統(tǒng)方法快 100-1000 倍。ClickHouse 的性能超過了目前市場(chǎng)上可比的面向列的 DBMS,每秒鐘每臺(tái)服務(wù)器每秒處理數(shù)億至十億多行和數(shù)十千兆字節(jié)的數(shù)據(jù)。ClickHouse的一些特點(diǎn):

  1. 快速:ClickHouse 會(huì)充分利用所有可用的硬件,以盡可能快地處理每個(gè)查詢。單個(gè)查詢的峰值處理性能超過每秒 2 TB(解壓縮后,僅使用的列)。在分布式設(shè)置中,讀取是在健康副本之間自動(dòng)平衡的,以避免增加延遲。

  2. 容錯(cuò):ClickHouse 支持多主機(jī)異步復(fù)制,并且可以跨多個(gè)數(shù)據(jù)中心進(jìn)行部署。所有節(jié)點(diǎn)都相等,這可以避免出現(xiàn)單點(diǎn)故障。單個(gè)節(jié)點(diǎn)或整個(gè)數(shù)據(jù)中心的停機(jī)時(shí)間不會(huì)影響系統(tǒng)的讀寫可用性。

  3. 可伸縮:ClickHouse 可以在垂直和水平方向上很好地縮放。ClickHouse 易于調(diào)整以在具有數(shù)百或數(shù)千個(gè)節(jié)點(diǎn)的群集上或在單個(gè)服務(wù)器上,甚至在小型虛擬機(jī)上執(zhí)行。當(dāng)前,每個(gè)單節(jié)點(diǎn)安裝的數(shù)據(jù)量超過數(shù)萬億行或數(shù)百兆兆字節(jié)。

  4. 易用:ClickHouse 簡(jiǎn)單易用,開箱即用。它簡(jiǎn)化了所有數(shù)據(jù)處理:將所有結(jié)構(gòu)化數(shù)據(jù)吸收到系統(tǒng)中,并且立即可用于構(gòu)建報(bào)告。SQL 允許表達(dá)期望的結(jié)果,而無需涉及某些 DBMS 中可以找到的任何自定義非標(biāo)準(zhǔn) API。

  5. 充分利用硬件:ClickHouse 與具有相同的可用 I/O 吞吐量和 CPU 容量的傳統(tǒng)的面向行的系統(tǒng)相比,其處理典型的分析查詢要快兩到三個(gè)數(shù)量級(jí)。列式存儲(chǔ)格式允許在 RAM 中容納更多熱數(shù)據(jù),從而縮短了響應(yīng)時(shí)間。

  6. 提高 CPU 效率:向量化查詢執(zhí)行涉及相關(guān)的 SIMD 處理器指令和運(yùn)行時(shí)代碼生成。處理列中的數(shù)據(jù)會(huì)提高 CPU 行緩存的命中率。

  7. 優(yōu)化磁盤訪問:ClickHouse 可以最大程度地減少范圍查詢的次數(shù),從而提高了使用旋轉(zhuǎn)磁盤驅(qū)動(dòng)器的效率,因?yàn)樗梢员3诌B續(xù)存儲(chǔ)數(shù)據(jù)。最小化數(shù)據(jù)傳輸:ClickHouse 使公司無需使用專門針對(duì)高性能計(jì)算的專用網(wǎng)絡(luò)即可管理其數(shù)據(jù)。

回答于 2020-11-30
贊同
評(píng)論
掃碼關(guān)注
獲取更多出海問答的相關(guān)信息
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家