日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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ì)劃之“Upsert”

倩倩 ? 來(lái)源:芋道源碼 ? 作者:芋道源碼 ? 2022-09-22 14:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

? 缺少完整的upsert和delete操作

? 多表關(guān)聯(lián)查詢能力弱

? 集群規(guī)模較大時(shí)可用性下降(對(duì)字節(jié)尤其如此)

? 沒(méi)有資源隔離能力

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

實(shí)時(shí)人群圈選場(chǎng)景遇到的難題

在電商業(yè)務(wù)中,人群圈選是非常常見(jiàn)的一個(gè)場(chǎng)景。字節(jié)原有的離線圈選的方案是以T+1的方式更新數(shù)據(jù),而不是實(shí)時(shí)更新,這很影響業(yè)務(wù)側(cè)的體驗(yàn)?,F(xiàn)在希望能夠基于實(shí)時(shí)標(biāo)簽,在數(shù)據(jù)管理平臺(tái)中構(gòu)建實(shí)時(shí)人群圈選的能力。整體數(shù)據(jù)鏈路如下:

3b2cc968-3a3d-11ed-9e49-dac502259ad0.png

為了保證實(shí)時(shí)數(shù)據(jù)和離線數(shù)據(jù)同時(shí)提供服務(wù),在標(biāo)簽接入完畢后,在ClickHouse中完成寬表加工任務(wù)。但是原生ClickHouse只支持追加寫的能力,只有ReplacingMergeTree這種方案。但是選用ReplacingMergeTree引擎的限制比較多,不能滿足業(yè)務(wù)的需求,主要體現(xiàn)在:

? 性能下降嚴(yán)重,ReplacingMergeTree采用的是寫優(yōu)先的設(shè)計(jì)邏輯,這導(dǎo)致讀性能損失嚴(yán)重。表現(xiàn)是在進(jìn)行查詢時(shí)性能較ClickHouse其他引擎的性能下降嚴(yán)重,涉及ReplacingMergeTree的查詢響應(yīng)時(shí)間過(guò)慢。

? ReplacingMergeTree引擎只支持?jǐn)?shù)據(jù)的更新,并不支持?jǐn)?shù)據(jù)的刪除。只能通過(guò)CollaspingMergeTree來(lái)實(shí)現(xiàn)數(shù)據(jù)清除,通過(guò)不同的表引擎分別提供更新刪除能力會(huì)讓系統(tǒng)復(fù)雜度進(jìn)一步提升。

? ReplacingMergeTree中的去重是 Merge 觸發(fā)的,在剛導(dǎo)入的數(shù)據(jù)時(shí)是不去重的,過(guò)一段時(shí)間后才會(huì)在分區(qū)內(nèi)去重。

ByteHouse的解決方案:UniqueMergeTree

在這種情況下,字節(jié)在ByteHouse(火山引擎上基于ClickHouse能力增強(qiáng)的版本)中開(kāi)發(fā)了一種支持實(shí)時(shí)更新刪除的表引擎:UniqueMergeTree。UniqueMergeTree與以往的表引擎有什么差別呢?下面介紹兩種支持實(shí)時(shí)更新的常見(jiàn)技術(shù)方案:

原生ClickHouse選擇的技術(shù)方案

原生ClickHouse的更新表引擎ReplacingMergeTree使用Merge on Read的實(shí)現(xiàn)邏輯,整個(gè)思想比較類似LSMTree。對(duì)于寫入,數(shù)據(jù)先根據(jù)key排序,然后生成對(duì)應(yīng)的列存文件。每個(gè)Batch寫入的文件對(duì)應(yīng)一個(gè)版本號(hào),版本號(hào)能用來(lái)表示數(shù)據(jù)的寫入順序。

同一批次的數(shù)據(jù)不包含重復(fù)key,但不同批次的數(shù)據(jù)包含重復(fù)key,這就需要在讀的時(shí)候去做合并,對(duì)key相同的數(shù)據(jù)返回去最新版本的值,所以叫merge on read方案。原生ClickHouse ReplacingMergeTree用的就是這種方案。

大家可以看到,它的寫路徑是非常簡(jiǎn)單的,是一個(gè)很典型的寫優(yōu)化方案。它的問(wèn)題是讀性能比較差,有幾方面的原因。首先,key-based merge通常是單線程的,比較難并行。其次merge過(guò)程需要非常多的內(nèi)存比較和內(nèi)存拷貝。最后這種方案對(duì)謂詞下推也會(huì)有一些限制。大家用過(guò)ReplacingMergeTree的話,應(yīng)該對(duì)讀性能問(wèn)題深有體會(huì)。

這個(gè)方案也有一些變種,比如說(shuō)可以維護(hù)一些index來(lái)加速merge過(guò)程,不用每次merge都去做key的比較。

面向讀優(yōu)化的新方案

UniqueMergeTree使用的技術(shù)方案Mark-Delete + Insert方案剛好反過(guò)來(lái),是一個(gè)讀優(yōu)化方案。在這個(gè)方案中,更新是通過(guò)先刪除再插入的方式實(shí)現(xiàn)的。

3b620326-3a3d-11ed-9e49-dac502259ad0.png

Ref “Enhancements to SQLServer Column Stores”

下面以SQLServer的Column Stores為例介紹下這個(gè)方案。圖中,每個(gè)RowGroup對(duì)應(yīng)一個(gè)不可變的列存文件,并用Bitmap來(lái)記錄每個(gè)RowGroup中被標(biāo)記刪除的行號(hào),即DeleteBitmap。處理更新的時(shí)候,先查找key所屬的RowGroup以及它在RowGroup中行號(hào),更新RowGroup的DeleteBitmap,最后將更新后的數(shù)據(jù)寫入Delta Store。查詢的時(shí)候,不同RowGroup的掃描可以完全并行,只需要基于行號(hào)過(guò)濾掉屬于DeleteBitmap的數(shù)據(jù)即可。

這個(gè)方案平衡了寫和讀的性能。一方面寫入時(shí)需要去定位key的具體位置,另一方面需要處理write-write沖突問(wèn)題。

這個(gè)方案也有一些變種。比如說(shuō)寫入時(shí)先不去查找更新key的位置,而是先將這些key記錄到一個(gè)buffer中,使用后臺(tái)任務(wù)將這些key轉(zhuǎn)成DeleteBitmap。然后在查詢的時(shí)候通過(guò)merge on read的方式處理buffer中的增量key。

Upsert和Delete使用示例

首先我們建了一張UniqueMergeTree的表,表引擎的參數(shù)和ReplacingMergeTree是一樣的,不同點(diǎn)是可以通過(guò)UNIQUE KEY關(guān)鍵詞來(lái)指定這張表的唯一鍵,它可以是多個(gè)字段,可以包含表達(dá)式等等。

3b8a6fd2-3a3d-11ed-9e49-dac502259ad0.png

下面對(duì)這張表做寫入操作就會(huì)用到upsert的語(yǔ)義,比如說(shuō)第6行寫了四條數(shù)據(jù),但只包含1和2兩個(gè)key,所以對(duì)于第7行的select,每個(gè)key只會(huì)返回最高版本的數(shù)據(jù)。對(duì)于第11行的寫入,key 2是一個(gè)已經(jīng)存在的key,所以會(huì)把key 2對(duì)應(yīng)的name更新成B3; key 3是新key,所以直接插入。最后對(duì)于行刪除操作,我們?cè)黾恿艘粋€(gè)delete flag的虛擬列,用戶可以通過(guò)這個(gè)虛擬列標(biāo)記Batch中哪些是要?jiǎng)h除,哪些是要upsert。

UniqueMergeTree表引擎的亮點(diǎn)

? 對(duì)于Unique表的寫入,我們會(huì)采用upsert的語(yǔ)義,即如果寫入的是新key,那就直接插入數(shù)據(jù);如果寫入的key已經(jīng)存在,那就更新對(duì)應(yīng)的數(shù)據(jù)。

? UniqueMergeTree表引擎既支持行更新的模式,也支持部分列更新的模式,用戶可以根據(jù)業(yè)務(wù)要求開(kāi)啟或關(guān)閉。

? ByteHouse也支持指定Unique Key的value來(lái)刪除數(shù)據(jù),滿足實(shí)時(shí)行刪除的需求。支持指定一個(gè)版本字段來(lái)解決回溯場(chǎng)景可能出現(xiàn)的低版本數(shù)據(jù)覆蓋高版本數(shù)據(jù)的問(wèn)題。

? 最后ByteHouse也支持?jǐn)?shù)據(jù)在多副本的同步,避免整體系統(tǒng)存在單點(diǎn)故障。

在性能方面,我們對(duì)UniqueMergeTree的寫入和查詢性能做了性能測(cè)試,結(jié)果如下圖(箭頭前是ReplacingMergeTree的消耗時(shí)間,箭頭后是UniqueMergeTree的消耗時(shí)間)。

3ba2f660-3a3d-11ed-9e49-dac502259ad0.png

可以看到,與ReplacingMergeTree相比,UniqueMergeTree的寫入性能雖然略有下降,但在查詢性能上取得了數(shù)量級(jí)的提升。我們進(jìn)一步對(duì)比了UniqueMergeTree和普通MergeTree的查詢性能,發(fā)現(xiàn)兩者是非常接近的。

增強(qiáng)后的實(shí)施人群圈選

經(jīng)過(guò)UniqueMergeTree的加持,在原有架構(gòu)不變的情況下,完美的滿足了實(shí)時(shí)人群圈選場(chǎng)景的要求。

1、通過(guò)Unique Key配置唯一鍵,提供upsert更新寫語(yǔ)義,查詢自動(dòng)返回每個(gè)唯一鍵的最新值

2、性能:?jiǎn)蝧hard寫入吞吐可以達(dá)到10k+行/s;查詢性能與原生CH表幾乎相同

3、支持根據(jù)Unique Key實(shí)時(shí)刪除數(shù)據(jù)

此外,ByteHouse還通過(guò)UniqueMergeTree支持了一些其他特性:

1、唯一鍵支持多字段和表達(dá)式

2、支持分區(qū)級(jí)別唯一和表級(jí)別唯一兩種模式

3、支持自定義版本字段,寫入低版本數(shù)據(jù)時(shí)自動(dòng)忽略

4、支持多副本部署,通過(guò)主備異步復(fù)制保障數(shù)據(jù)可靠性

不僅在實(shí)時(shí)人群圈選場(chǎng)景,ByteHouse提供的upsert能力已經(jīng)服務(wù)于字節(jié)內(nèi)部眾多應(yīng)用,線上應(yīng)用的表數(shù)量有數(shù)千張,受到實(shí)時(shí)類應(yīng)用的廣泛歡迎。

除Upsert能力外,ByteHouse在為原生ClickHouse的企業(yè)級(jí)能力進(jìn)行了全方位的增強(qiáng)。下一期,我們將介紹ClickHouse增強(qiáng)計(jì)劃之“多表關(guān)聯(lián)查詢”,大家有興趣一定不要錯(cuò)過(guò)。

審核編輯 :李倩

聲明:本文內(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)投訴
  • 引擎
    +關(guān)注

    關(guān)注

    1

    文章

    369

    瀏覽量

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

    關(guān)注

    2

    文章

    1523

    瀏覽量

    36368
  • key
    key
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

    13377

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    東風(fēng)汽車與字節(jié)跳動(dòng)旗下火山引擎達(dá)成戰(zhàn)略合作

    4月23日,東風(fēng)汽車集團(tuán)有限公司(以下簡(jiǎn)稱東風(fēng)汽車)與字節(jié)跳動(dòng)旗下火山引擎正式簽署戰(zhàn)略合作協(xié)議。
    的頭像 發(fā)表于 04-27 10:58 ?290次閱讀
    東風(fēng)汽車與字節(jié)跳動(dòng)旗下<b class='flag-5'>火山</b><b class='flag-5'>引擎</b>達(dá)成戰(zhàn)略合作

    安富利攜手英飛凌亮相2025冬季火山引擎FORCE原動(dòng)力大會(huì)

    近日,備受矚目的字節(jié)跳動(dòng)2025冬季Force原動(dòng)力大會(huì)圓滿落幕。在這場(chǎng)匯聚了全球頂尖科技企業(yè)與行業(yè)專家的盛會(huì)上,安富利攜手長(zhǎng)期戰(zhàn)略合作伙伴英飛凌強(qiáng)勢(shì)亮相,并重磅發(fā)布了與火山引擎的聯(lián)合發(fā)展策略,共同開(kāi)拓云邊聯(lián)合的AI新藍(lán)海。這標(biāo)志著安富利在AI生態(tài)系統(tǒng)布局中邁出了里程碑式
    的頭像 發(fā)表于 12-31 11:07 ?1035次閱讀

    火山引擎破局Agent落地:生態(tài)夠強(qiáng),更要“硬”載體托底

    AI時(shí)代的落地競(jìng)爭(zhēng),從來(lái)不是“有好生態(tài)”就能贏,而是“有好生態(tài)+能落地”才能成——這是2025火山引擎FORCE原動(dòng)力大會(huì)?冬傳遞的最實(shí)在信號(hào)。
    的頭像 發(fā)表于 12-30 16:38 ?488次閱讀

    易百納攜多模態(tài)AI桌面機(jī)器人——Kubee Robot亮相2025火山引擎冬季FORCE大會(huì)

    2025 年 12 月 18-19 日,火山引擎冬季 FORCE 原動(dòng)力大會(huì)于上海舉辦,大會(huì)以 “Agentic AI 重塑產(chǎn)業(yè)” 為主題,發(fā)布豆包大模型 1.8 并升級(jí)相關(guān)生態(tài)工具。易百納攜自研
    的頭像 發(fā)表于 12-27 11:30 ?230次閱讀
    易百納攜多模態(tài)AI桌面機(jī)器人——Kubee Robot亮相2025<b class='flag-5'>火山</b><b class='flag-5'>引擎</b>冬季FORCE大會(huì)

    廣和通亮相2025冬季火山引擎FORCE原動(dòng)力大會(huì)

    12 月 18-19 日,火山引擎 FORCE 原動(dòng)力大會(huì)·冬在上海隆重舉行。作為火山引擎的重要生態(tài)合作伙伴,廣和通受邀亮相大會(huì)智能硬件展示區(qū),展示最新一代輕算力AI陪伴解決方案Mag
    的頭像 發(fā)表于 12-23 11:14 ?505次閱讀

    中科創(chuàng)達(dá)亮相2025火山引擎冬季FORCE原動(dòng)力大會(huì)

    2025年12月18日,2025火山引擎冬季FORCE原動(dòng)力大會(huì)在上海開(kāi)幕。作為火山引擎合作伙伴,中科創(chuàng)達(dá)受邀參展,攜滴水OS座艙和AI企業(yè)數(shù)字員工兩大創(chuàng)新解決方案亮相。活動(dòng)期間,中科
    的頭像 發(fā)表于 12-22 17:57 ?1143次閱讀
    中科創(chuàng)達(dá)亮相2025<b class='flag-5'>火山</b><b class='flag-5'>引擎</b>冬季FORCE原動(dòng)力大會(huì)

    機(jī)智云亮相2025春季火山引擎FORCE原動(dòng)力大會(huì)

    在 2025 年字節(jié)跳動(dòng)火山引擎 Force 春季原動(dòng)力大會(huì)上,作為 AIoT 領(lǐng)域的創(chuàng)新先鋒,機(jī)智云以火山引擎與扣子智能體核心AI生態(tài)合作伙伴身份重磅亮相,憑借基于
    的頭像 發(fā)表于 06-23 09:16 ?1317次閱讀

    中科創(chuàng)達(dá)亮相2025春季火山引擎FORCE原動(dòng)力大會(huì)

    近日,2025春季火山引擎FORCE原動(dòng)力大會(huì)于北京舉行。作為火山引擎合作伙伴,中科創(chuàng)達(dá)受邀攜創(chuàng)新成果亮相。大會(huì)AI生態(tài)專場(chǎng)上,中科創(chuàng)達(dá)副總裁楊新輝發(fā)表《最后一公里》主題演講,深度解析
    的頭像 發(fā)表于 06-18 11:37 ?1893次閱讀

    中科藍(lán)訊亮相2025春季火山引擎FORCE原動(dòng)力大會(huì)

    近日,火山引擎2025 FORCE原動(dòng)力大會(huì)在北京盛大開(kāi)幕。深圳市中科藍(lán)訊科技股份有限公司作為AI終端硬件核心技術(shù)提供商,攜AB6003G與BT8951H兩大方案亮相,覆蓋兒童智能玩具、高端耳機(jī)等多元場(chǎng)景,展現(xiàn)“芯片+AI+終端”的全鏈路布局能力,成為大會(huì)焦點(diǎn)之一!
    的頭像 發(fā)表于 06-17 16:42 ?1584次閱讀

    廣和通出席2025春季火山引擎FORCE原動(dòng)力大會(huì)

    此前,6月11日至12日,由火山引擎主辦的2025 FORCE原動(dòng)力大會(huì)·春在北京盛大舉行。作為火山引擎重要合作伙伴,廣和通攜AI解決方案,展現(xiàn)其在汽車座艙、餐飲服務(wù)、AI玩具、隨身算
    的頭像 發(fā)表于 06-17 09:17 ?1215次閱讀

    樂(lè)鑫科技攜手火山引擎推出AI智能體開(kāi)發(fā)板

    隨著生成式人工智能技術(shù)的快速發(fā)展,大語(yǔ)言模型 (LLM) 正逐步成為推動(dòng)智能設(shè)備升級(jí)的核心力量。樂(lè)鑫科技攜手火山引擎扣子大模型團(tuán)隊(duì),共同推出智能 AI 開(kāi)發(fā)套件 —— EchoEar(喵伴)。該套件
    的頭像 發(fā)表于 06-16 15:22 ?1755次閱讀

    聯(lián)想攜手火山引擎為中國(guó)消費(fèi)者和企業(yè)打造安全可信的AI新未來(lái)

    近日,2025火山引擎FORCE春季原動(dòng)力大會(huì)在京舉辦。聯(lián)想集團(tuán)執(zhí)行副總裁兼中國(guó)區(qū)總裁劉軍通過(guò)視頻發(fā)表演講,首度透露與火山引擎聯(lián)合打造的聯(lián)想“可信混合計(jì)算方案”。他表示,該方案使得天禧
    的頭像 發(fā)表于 06-14 09:49 ?1175次閱讀

    四維圖新亮相2025火山引擎原動(dòng)力大會(huì)

    2025火山引擎原動(dòng)力大會(huì)來(lái)襲,大模型+Agent共筑智能時(shí)代,一起聽(tīng)四維圖新蔣晟解讀豪車技能如何飛入百姓千家。
    的頭像 發(fā)表于 06-13 14:56 ?1347次閱讀

    英特爾亮相火山引擎春季原動(dòng)力大會(huì),共同發(fā)布第四代通用型計(jì)算實(shí)例家族

    今日,在火山引擎2025春季原動(dòng)力大會(huì)上,英特爾聯(lián)合火山引擎共同發(fā)布搭載英特爾至強(qiáng)6性能核處理器的第四代通用計(jì)算型(ECS)實(shí)例家族,即全新推出的通用計(jì)算基礎(chǔ)型實(shí)例 g4i、算力
    的頭像 發(fā)表于 06-13 14:55 ?733次閱讀
    英特爾亮相<b class='flag-5'>火山</b><b class='flag-5'>引擎</b>春季原動(dòng)力大會(huì),共同發(fā)布第四代通用型計(jì)算實(shí)例家族

    廣和通與火山引擎AI玩具創(chuàng)新研討會(huì)圓滿落幕

    近日,由廣和通與火山引擎聯(lián)合主辦的"智趣未來(lái) 玩轉(zhuǎn)AI:AI玩具創(chuàng)新研討會(huì)”在汕頭圓滿落幕。研討會(huì)聚焦AI玩具商業(yè)增長(zhǎng)與技術(shù)革新,吸引了政府代表、行業(yè)領(lǐng)袖、技術(shù)專家、生態(tài)伙伴及電商渠道等
    的頭像 發(fā)表于 05-19 13:42 ?1095次閱讀
    怀安县| 揭阳市| 准格尔旗| 五峰| 慈利县| 三原县| 邻水| 安宁市| 石门县| 峨眉山市| 绥棱县| 西昌市| 宕昌县| 镶黄旗| 饶阳县| 两当县| 万源市| 新泰市| 长顺县| 天峨县| 惠来县| 昌邑市| 阜城县| 遵义市| 杭州市| 乌兰浩特市| 千阳县| 政和县| 德惠市| 临澧县| 武川县| 汶川县| 高雄县| 平乡县| 米易县| 镇宁| 陕西省| 东莞市| 上饶县| 汉川市| 长垣县|