吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ClickHouse增強(qiáng)計(jì)劃之“資源隔離”

jf_ro2CN3Fa ? 來(lái)源:芋道源碼 ? 作者:芋道源碼 ? 2022-11-07 10:25 ? 次閱讀

相信大家都對(duì)大名鼎鼎的ClickHouse有一定的了解了,它強(qiáng)大的數(shù)據(jù)分析性能讓人印象深刻。但在字節(jié)大量生產(chǎn)使用中,發(fā)現(xiàn)了ClickHouse依然存在了一定的限制。例如:

  • 缺少完整的upsert和delete操作
  • 多表關(guān)聯(lián)查詢能力弱
  • 集群規(guī)模較大時(shí)可用性下降(對(duì)字節(jié)尤其如此)
  • 沒有資源隔離能力

因此,我們決定將ClickHouse能力進(jìn)行全方位加強(qiáng),打造一款更強(qiáng)大的數(shù)據(jù)分析平臺(tái)。后面我們將從五個(gè)方面來(lái)和大家分享,本篇將詳細(xì)介紹我們是如何為ClickHouse增強(qiáng)資源隔離能力的。

廣告業(yè)務(wù)遇到的資源管控問(wèn)題

ClickHouse的資源管控能力不夠完善,在 insert、select 并發(fā)高的場(chǎng)景下會(huì)導(dǎo)致執(zhí)行失敗,影響用戶體驗(yàn)。這是因?yàn)樯鐓^(qū)版ClickHouse目前僅提供依據(jù)不同用戶的最大內(nèi)存控制,在超過(guò)閾值時(shí)會(huì)殺死執(zhí)行的 query。

在字節(jié)的廣告業(yè)務(wù)中,需要區(qū)分不同查詢的優(yōu)先級(jí);對(duì)查詢性能抖動(dòng)的容忍度較低;同時(shí)也需要支持adhoc能力;查詢類型廣泛、資源占用可能會(huì)較多。

ClickHouse提供的粗粒度并發(fā)控制不能滿足需求;

  1. 無(wú)法靈活控制并發(fā),導(dǎo)致查詢迅速占滿集群資源,部分后來(lái)的高優(yōu)查詢持續(xù)pending,導(dǎo)致報(bào)錯(cuò)。
  2. 無(wú)法給特定業(yè)務(wù)預(yù)留cpu資源,出現(xiàn)大查詢占滿cpu,而后來(lái)的查詢執(zhí)行時(shí)間大幅增加。

ByteHouse的解決方案:Resource Group

在這種情況下,字節(jié)在ByteHouse(字節(jié)基于ClickHouse能力增強(qiáng)的版本)中開發(fā)了資源管理的組件:Resource Group。

基本思路是將并發(fā)、內(nèi)存、CPU等資源拆分給不同的資源組,同時(shí)通過(guò)資源組的父子關(guān)系實(shí)現(xiàn)不同資源組共享部分資源的能力。當(dāng)用戶的查詢提交給引擎,依照定義的規(guī)則選定相應(yīng)的資源組,然后評(píng)估該資源組以及父資源組是否能夠執(zhí)行該查詢,如是則直接執(zhí)行,否則進(jìn)入該資源組的等待隊(duì)列,等待資源釋放。

78d30704-5e42-11ed-a3b6-dac502259ad0.png

并發(fā)控制

max_concurrent_queries 配置項(xiàng)控制一個(gè)資源組能夠同時(shí)運(yùn)行的查詢上限。當(dāng)資源組并發(fā)達(dá)到上限,或者該資源組的父資源組并發(fā)達(dá)到上限,引擎會(huì)把查詢放入該資源組的等待隊(duì)列。當(dāng)該資源組有一個(gè)查詢結(jié)束,引擎會(huì)執(zhí)行該資源組等待隊(duì)列中最早的查詢;如果此時(shí)該資源組等待隊(duì)列為空,則會(huì)觸發(fā)父資源組的資源釋放,進(jìn)一步觸發(fā)該父資源組的其他子資源組的等待隊(duì)列查詢執(zhí)行,實(shí)現(xiàn)并發(fā)quota在一個(gè)父資源組之間的共享。

內(nèi)存控制

每一個(gè)資源組可以配置一個(gè)軟性的內(nèi)存上限,當(dāng)資源組中的查詢使用內(nèi)存超過(guò)這個(gè)軟性限制之后,新查詢將會(huì)進(jìn)入等待隊(duì)列。和并發(fā)控制類似,內(nèi)存也會(huì)判斷父資源組的限制,并使用類似的邏輯實(shí)現(xiàn)內(nèi)存在一個(gè)父資源組之間的共享。

由于目前還沒有一個(gè)準(zhǔn)確的查詢占用內(nèi)存預(yù)估的模型,當(dāng)前采取的策略是預(yù)估+實(shí)際內(nèi)存矯正的模式,當(dāng)一個(gè)新查詢進(jìn)入時(shí),引擎會(huì)按照預(yù)估內(nèi)存評(píng)估是否可以執(zhí)行,在開始執(zhí)行之后則是利用查詢現(xiàn)有的memory_tracker在下一輪判斷之前矯正預(yù)估值。

此軟性的內(nèi)存限制不同于原生ClickHouse的硬性內(nèi)存限制,并不會(huì)殺死已經(jīng)在執(zhí)行的查詢,而是用于控制新查詢的可執(zhí)行判斷,因此可以配合使用。

CPU控制

ByteHouse使用cgroups提供的cpu controller實(shí)現(xiàn)資源組的CPU控制。Cpu controler通過(guò)使用 CFS 調(diào)度器將CPU資源按照相同的時(shí)間分片進(jìn)行分配,以實(shí)現(xiàn)不同group按照預(yù)定義的cpu shares占用相應(yīng)的CPU資源。

在ByteHouse內(nèi)部,我們實(shí)現(xiàn)了一個(gè)新的線程池類,在該類中給查詢分配線程資源時(shí),會(huì)依據(jù)當(dāng)前Context中記錄的資源組信息分配關(guān)聯(lián)到相應(yīng)cgroup的線程。

由于采用的CFS調(diào)度器,我們可以很容易的得到以下結(jié)論:

  1. 當(dāng)所有資源組都有查詢?cè)趫?zhí)行時(shí),每個(gè)資源組可以使用的CPU比例為 cpu_shares / sum(cpu_shares)

  2. 當(dāng)只有一個(gè)資源組有查詢?cè)趫?zhí)行時(shí),該資源組可以使用的CPU比例為 100%

因此每個(gè)資源組可以使用的CPU資源比例范圍就是 [cpu_shares/sum(cpu_shares), 100%],通過(guò)這個(gè)功能我們也就實(shí)現(xiàn)了兩個(gè)預(yù)期效果:

  1. 保證了每個(gè)資源可以使用的CPU資源下限

  2. 保證了在任何workload情況下服務(wù)器CPU資源的總體利用率

Resource Group帶來(lái)的效果提升

Resource Group能夠顯著的提升查詢體驗(yàn),為優(yōu)先業(yè)務(wù)的查詢提供保障,并且減小查詢返回時(shí)間的方差。與此同時(shí),也能夠?yàn)榧悍€(wěn)定性帶來(lái)提升,不會(huì)因?yàn)镺OM殺死執(zhí)行中的查詢,以及防止一個(gè)服務(wù)出現(xiàn)故障而拖垮整個(gè)集群。

ByteHouse的Resource Group主要有以下優(yōu)點(diǎn):

  • 能夠在CPU、內(nèi)存、并發(fā)控制等全方位的提供資源隔離的能力

  • 可以限制低優(yōu)先級(jí)查詢帶來(lái)的影響

  • 降低寫入語(yǔ)句可能帶來(lái)的不良影響

在上文提到的廣告業(yè)務(wù)中,使用ByteHouse替換ClickHouse后,查詢時(shí)間明顯縮短,體驗(yàn)明顯改善。

78e15cbe-5e42-11ed-a3b6-dac502259ad0.png

應(yīng)用前:

790c8dc6-5e42-11ed-a3b6-dac502259ad0.png

應(yīng)用后:

792f612a-5e42-11ed-a3b6-dac502259ad0.png

可以看到上線前用戶每天的查詢平均耗時(shí)在2.3s到14.1s之間抖動(dòng),十分劇烈,用戶的使用體驗(yàn)很差。上線后每天的查詢平均耗時(shí)則在0.4s到1.7s之之間抖動(dòng),較好的保證了該優(yōu)先業(yè)務(wù)的查詢資源,并且顯著縮短的平均查詢返回時(shí)間。

這是本次ClickHouse增強(qiáng)計(jì)劃系列文章的最后一篇啦,除了這五篇文章提到的能力,ByteHouse還有有一個(gè)與ClickHouse使用不同執(zhí)行引擎的版本,能夠?qū)崿F(xiàn)全面的存算分離,是真正的云原生數(shù)據(jù)倉(cāng)庫(kù)!后續(xù)我們也將為大家?guī)?lái)專題介紹。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3055

    瀏覽量

    74331
  • 資源
    +關(guān)注

    關(guān)注

    0

    文章

    59

    瀏覽量

    17827
  • 數(shù)據(jù)分析
    +關(guān)注

    關(guān)注

    2

    文章

    1461

    瀏覽量

    34166

原文標(biāo)題:火山引擎:ClickHouse增強(qiáng)計(jì)劃之“資源隔離”

文章出處:【微信號(hào):芋道源碼,微信公眾號(hào):芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ClickHouse:強(qiáng)大的數(shù)據(jù)分析引擎

    作者:京東物流 陳昌浩 最近的工作中接觸到CK,一開始還不知道CK是什么,通過(guò)查詢才知道CK是ClickHouseClickHouse 是俄羅斯的Yandex于2016年開源的列式存儲(chǔ)數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 12-10 10:23 ?143次閱讀
    <b class='flag-5'>ClickHouse</b>:強(qiáng)大的數(shù)據(jù)分析引擎

    TPSI3050Q1EVM汽車類增強(qiáng)隔離式開關(guān)驅(qū)動(dòng)器

    電子發(fā)燒友網(wǎng)站提供《TPSI3050Q1EVM汽車類增強(qiáng)隔離式開關(guān)驅(qū)動(dòng)器.pdf》資料免費(fèi)下載
    發(fā)表于 11-16 15:11 ?0次下載
    TPSI3050Q1EVM汽車類<b class='flag-5'>增強(qiáng)</b>型<b class='flag-5'>隔離</b>式開關(guān)驅(qū)動(dòng)器

    ISO1644DWEVM具有GPIO的增強(qiáng)隔離式I2C評(píng)估模塊

    電子發(fā)燒友網(wǎng)站提供《ISO1644DWEVM具有GPIO的增強(qiáng)隔離式I2C評(píng)估模塊.pdf》資料免費(fèi)下載
    發(fā)表于 11-16 14:00 ?0次下載
    ISO1644DWEVM具有GPIO的<b class='flag-5'>增強(qiáng)</b>型<b class='flag-5'>隔離</b>式I2C評(píng)估模塊

    ISO224增強(qiáng)隔離放大器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《ISO224增強(qiáng)隔離放大器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-19 11:34 ?0次下載
    ISO224<b class='flag-5'>增強(qiáng)</b>型<b class='flag-5'>隔離</b>放大器數(shù)據(jù)表

    AMC1351-Q1汽車精密增強(qiáng)隔離放大器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《AMC1351-Q1汽車精密增強(qiáng)隔離放大器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-19 11:33 ?0次下載
    AMC1351-Q1汽車精密<b class='flag-5'>增強(qiáng)</b>型<b class='flag-5'>隔離</b>放大器數(shù)據(jù)表

    AMC1350-Q1汽車精密增強(qiáng)隔離放大器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《AMC1350-Q1汽車精密增強(qiáng)隔離放大器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-19 11:32 ?0次下載
    AMC1350-Q1汽車精密<b class='flag-5'>增強(qiáng)</b>型<b class='flag-5'>隔離</b>放大器數(shù)據(jù)表

    AMC1305x高精度、增強(qiáng)隔離式Δ-Σ調(diào)制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《AMC1305x高精度、增強(qiáng)隔離式Δ-Σ調(diào)制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-19 10:13 ?0次下載
    AMC1305x高精度、<b class='flag-5'>增強(qiáng)</b><b class='flag-5'>隔離</b>式Δ-Σ調(diào)制器數(shù)據(jù)表

    AMC1304x具有LDO的高精度、增強(qiáng)隔離式 Δ-Σ調(diào)制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《AMC1304x具有LDO的高精度、增強(qiáng)隔離式 Δ-Σ調(diào)制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-19 09:44 ?0次下載
    AMC1304x具有LDO的高精度、<b class='flag-5'>增強(qiáng)</b><b class='flag-5'>隔離</b>式 Δ-Σ調(diào)制器數(shù)據(jù)表

    AMC1350精密增強(qiáng)隔離放大器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《AMC1350精密增強(qiáng)隔離放大器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-16 11:24 ?0次下載
    AMC1350精密<b class='flag-5'>增強(qiáng)</b>型<b class='flag-5'>隔離</b>放大器數(shù)據(jù)表

    AMC1303x小型、高精度、增強(qiáng)隔離式Δ-Σ調(diào)制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《AMC1303x小型、高精度、增強(qiáng)隔離式Δ-Σ調(diào)制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-16 09:36 ?0次下載
    AMC1303x小型、高精度、<b class='flag-5'>增強(qiáng)</b>型<b class='flag-5'>隔離</b>式Δ-Σ調(diào)制器數(shù)據(jù)表

    AMC1306x小型、高精度、增強(qiáng)隔離式Δ-Σ調(diào)制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《AMC1306x小型、高精度、增強(qiáng)隔離式Δ-Σ調(diào)制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-16 09:34 ?0次下載
    AMC1306x小型、高精度、<b class='flag-5'>增強(qiáng)</b>型<b class='flag-5'>隔離</b>式Δ-Σ調(diào)制器數(shù)據(jù)表

    供應(yīng)鏈場(chǎng)景使用ClickHouse最佳實(shí)踐

    關(guān)于ClickHouse的基礎(chǔ)概念這里就不做太多的贅述了,ClickHouse官網(wǎng)都有很詳細(xì)說(shuō)明。結(jié)合供應(yīng)鏈數(shù)字化團(tuán)隊(duì)在使用ClickHouse時(shí)總結(jié)出的一些注意事項(xiàng),尤其在命名方面要求研發(fā)嚴(yán)格遵守
    的頭像 發(fā)表于 07-18 15:05 ?334次閱讀
    供應(yīng)鏈場(chǎng)景使用<b class='flag-5'>ClickHouse</b>最佳實(shí)踐

    ClickHouse內(nèi)幕(3)基于索引的查詢優(yōu)化

    ClickHouse索引采用唯一聚簇索引的方式,即Part內(nèi)數(shù)據(jù)按照order by keys有序,在整個(gè)查詢計(jì)劃中,如果算子能夠有效利用輸入數(shù)據(jù)的有序性,對(duì)算子的執(zhí)行性能將有巨大的提升。本文討論
    的頭像 發(fā)表于 06-11 10:46 ?1081次閱讀
    <b class='flag-5'>ClickHouse</b>內(nèi)幕(3)基于索引的查詢優(yōu)化

    增強(qiáng)隔離雙通道門驅(qū)動(dòng)器UCC2154x數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《增強(qiáng)隔離雙通道門驅(qū)動(dòng)器UCC2154x數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-28 13:52 ?0次下載
    <b class='flag-5'>增強(qiáng)</b><b class='flag-5'>隔離</b>雙通道門驅(qū)動(dòng)器UCC2154x數(shù)據(jù)表

    【技術(shù)分享】基本隔離 vs 增強(qiáng)隔離,到底有什么區(qū)別?#電氣隔離 #電氣安全

    電氣電氣隔離
    蘇州納芯微電子股份有限公司
    發(fā)布于 :2024年03月14日 13:30:48
    网上百家乐官网看牌器| 阴宅24水口| 百家乐官网庄闲下载| 宝都棋牌游戏| 威尼斯人娱乐网| 百家乐服务区| 波音百家乐现金网投注平台排名导航| 海尔百家乐官网的玩法技巧和规则| 百家乐官网揽子打法| 读书| 榕江县| 超级大赢家| 在线棋牌游戏| 博发娱乐| 网上现金百家乐| 奎屯市| 百家乐官网现金网排名| 文登市| 临西县| 百家乐官网视频游戏帐号| 澳门百家乐官网死局| 利高娱乐城| 利博国际娱乐| 偏关县| 百家乐官网等投注网改单| 新奥博百家乐官网娱乐城| 百家乐官网押注最高是多少| 大上海百家乐官网的玩法技巧和规则| 百家乐官网龙虎台布价格| 百家乐官网博赌城| 什么风水适合做生意| 网上百家乐庄家有赌场优势吗| 澳门百家乐新濠天地| 水晶百家乐官网筹码| 福布斯百家乐官网的玩法技巧和规则| 百家乐玩法秘决| 试玩百家乐1000| 威尼斯人娱乐城排名| bet365官网| 澳门百家乐官网线上娱乐城| 赌场百家乐官网是如何|