色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于ByteHouse你想知道的一切分享

jf_ro2CN3Fa ? 來源:芋道源碼 ? 作者:芋道源碼 ? 2022-12-02 14:34 ? 次閱讀

ByteHouse 的前世今生

字節跳動最早是在 2017 年底開始使用 ClickHouse 的,用于支撐增長分析的業務場景。對于字節跳動而言,增長分析的重要性不言而喻。這是一項十分考驗運營團隊能力的工作,如何衡量不同運營方法的有效性,應該對哪些數據指標進行考量,如何對指標的波動進行更深層次的原因分析,這些需要重點關注。這其中涉及大量數據分析,對于數據分析平臺的實時性也有著非常高的要求。在比對、試用過多款 OLAP 分析產品后,字節跳動最終選擇了 ClickHouse,并且整體方案的可行性在實際業務應用中得到了很好的驗證。

在取得了不錯的業務效果之后,采用 ClickHouse 的方案快速推廣,從支持增長分析的單一場景,很快擴展到 BI 分析、AB 測試、模型預估等多個場景。同時,研發團隊也持續不斷打磨和改進 ClickHouse 能力,比如增強數據接入功能、提升 SQL-based 指標計算的執行效率,包括 UDF 增強、SQL 語法增強等,很快使 ClickHouse 成為字節內部最主流的分析平臺。

4b2671b4-7207-11ed-8abf-dac502259ad0.png

在產品的不斷打磨中,2020 年字節跳動火山引擎正式立項,把基于 ClickHouse 做了很多增強和自研的 ByteHouse 作為 ToB 的核心產品之一加快產品化步伐,以期讓更多的用戶在分析領域獲得更快、更好的業務體驗。在 2021 年 8 月份,ByteHouse 正式對外發布并提供服務。

至 2022 年 6 月底,字節跳動內部的 ByteHouse 節點總數已經超過18000個,管理總數據量超過 700PB,每天上億次的分析查詢跑在ByteHouse上,有離線的、有實時的。其中支撐抖音、頭條的行為分析平臺其集群規模已經達到2400個節點。截止當前,字節內部 80% 的分析型應用都跑在ByteHouse平臺上。

4b496bce-7207-11ed-8abf-dac502259ad0.png

字節跳動最初為什么選擇 ClickHouse

字節跳動曾做過各類分析型產品做過調研,如 Kylin、Druid、SparkSQL 等。那究竟為什么最后字節跳動選擇了 ClickHouse,并進一步投入力量研發出 ByteHouse 使之成為字節跳動內部核心的數據分析平臺呢?這里以兩個具體的字節跳動業務案例來展開一些細節:

推薦系統實時指標

公司內部 A/B 實驗平臺已經提供了 T+1 的離線實驗指標,而推薦系統需要更快地觀察算法模型、或者某個功能的上線效果,因此需要一份能夠實時反饋的數據作為補充,而且還要求:

? 能同時查詢聚合指標和明細數據;

? 能支持多達幾百列的維度和指標,且場景靈活變化,會不斷增加;

? 可以高效地按 ID 過濾數據;

? 需要支持一些機器學習和統計相關的指標計算(比如 AUC)。

選型開始時,最需要解決的是“快”,所以選擇了 Kylin 作為主要分析引擎,其優點是能夠提供毫秒級別的查詢延時。但是 Kylin 存在維度爆炸導致預計算時間越來越長,數據可用時間沒有保證的問題。此外,新業務上線會產生新的指標和維度,Kylin 無法支持維度和指標在線更新。

后期改用 SparkSQL ,同樣存在不少問題,如查詢分析的延遲太長、資源使用率高、穩定性不夠好頻發OOM,以及無法支持跨更長時間周期的數據做分析等。

綜合考量,最后選擇了 ClickHouse:

? 能更快地觀察算法模型,沒有預計算所導致的高數據時延;

? 既適合聚合查詢,在配合跳數索引后,也能充分支持明細查詢;

? BitSet 的過濾 Bloom Filter 是比較好的解決方案。

同時,團隊也持續投入研發力量,不斷自研增強產品能力,比如通過異步構建索引使得整體寫入吞吐量能力提升 20%。通過對 Kafka 多消費線程的改造和增強,實現并行消費,使得寫入性能得到線性提升。此外,自研 HaKafka 引擎,提升了系統的 HA 高可用能力,即使出現節點故障也不用擔心數據有完整性問題。

廣告投放實時分析

通常運營人員需要查看廣告投放的實時效果,由于業務的特點,當天產生的數據往往會涉及到對歷史數據的刷新,技術上最初是基于 Druid 實現,但有些問題一直難以解決。例如,實時數據會涉及到歷史3個月的時間分區,Druid 會產生很多 segment,歷史數據重刷后需要額外時間去做合并的操作,無法保證數據的實時消費;另外,業務數據的維度非常多,數據粒度非常細,所以 Druid 的預聚合的意義不大,業務更多的需求是直接來消費明細數據。

最后團隊也選擇了 ClickHouse 技術路線,并持續做了改進和增強,如:

? 對 Buffer Engine 做了改進,解決了社區版本在 Buffer Engine 和 ReplicatedMergeTree 同時使用下查詢一致性的問題。

? 自研事務機制,確保每次插入數據的原子性,增強數據消費的穩定性,解決了社區版本由于缺少事務支持,在異常場景下,往往會出現丟失或者重復消費的情況。具體實現上是將 Offset 和 Parts 數據綁定在一起,每次消費時,會默認創建一個事務,由事務負責把 Part 數據和 Offset 一同寫入磁盤中,如果出現失敗,事務會一起回滾 Offset 和寫入的 Part 然后重新消費。

ByteHouse 具備哪些特點

隨著 ByteHouse 在字節跳動內部支撐的分析業務越來越多,ByteHouse 也成為了字節跳動內部分析平臺構建的事實標準。ByteHouse 在字節廣泛的應用中,不斷從業務角度出發不斷打磨產品,并從實際應用角度思考什么樣的數據分析產品才是更好用的。我們認為,一個優秀的數據分析產品應該具備以下特點:

能支撐更全面的分析場景

數據庫行業流傳著“沒有銀彈”的說法,大家認為沒有一個分析類產品能夠滿足所有場景。這固然是很有道理的,但是也不必走向另外一個極端,所有場景都要“一事一庫”。如果有一個通用性的數據分析產品,能夠支撐 80% 以上的常見場景,這能為企業減少大量的時間和精力,并且能更有信心的應對營業務帶來的數據分析挑戰。

ClickHouse 的一個問題就是適用的場景相對較窄,對于寬表模型的查詢和分析效率非常高,但涉及到多表關聯的分析場景卻表現不佳,甚至不支持此類業務場景。因而,ClickHouse的這種高性能的表現更多的是基于“本能”層面。ByteHouse 團隊以打造一款綜合且性能強大的分析平臺為目標,對ClickHouse 做了全方位的增強,推出了全自研的查詢優化器,從而讓性能表現從“本能”層面躍遷到“智能”層面,從而更好的應對各類分析場景。

對于一款關系型數據庫產品來說,優化器就是大腦,通過優化器對查詢語句進行改寫優化,基于代價尋找最優執行路徑、生成執行計劃,并且結合資源動態負載情況,讓整體性能的輸出更加穩健、也更加智能。從效果來看,在部分場景下,優化器使得性能提升達 10 倍以上;此外,在 TPC-DS 標準測試測試場景中,啟用優化器的收益也十分顯著,能夠完成全部 99 個測試場景,而且性能也提升數倍不等。

而應對傳統數倉負載中的復雜查詢場景,僅僅有查詢優化器的增強還不夠,ByteHouse 為此還做了大量的工作。如 Runtime Filter,能夠智能過濾掉分析中不相干數據,減少中間過程數據的網絡傳輸,提升整體分析效率,在星型和雪花型業務分析場景中有很好的效果。另外通過優化網絡技術,比如連接復用、RDMA、傳輸壓縮等技術,也極大提升了整體分析性能。此外還包括其他一系列的能力增強,比如細粒度資源管控、數據交換的優化等,能夠讓 ByteHouse 在復雜分析場景中游刃有余。

從收益效果上看,在字節內部部分業務場景中,多表關聯分析性能提升 26 倍,單表復雜查詢也提升 3 倍左右,在標準SSB測試場景中也表現不俗,為支撐更全面的分析場景的目標邁出重要一步。

數據分析能力能隨業務快速擴縮,極致彈性

在 node-base 架構下,存算一體的模式不夠靈活,難以滿足業務對彈性的需求,擴容的代價無論是時間成本和資源成本都很高。應對這些挑戰,ByteHouse 團隊花費極大精力從底層開始秉承 Cloud-Native 云原生的架構理念進行整體重構,讓資源可以伴隨業務的需求進行靈活的彈性伸縮,擴容的代價更低更可控。另外,業務上可以通過讀寫分離做更好的資源管控和分流,從而讓整體業務的 SLA 更有保障。下面介紹部分 ByteHouse 架構重構中的關鍵技術點。

首先是基于分布式 KV 構建元數據管理服務,元數據信息會持久化保存在狀態存儲池里面,為了降低對元數據庫的訪問壓力,對于訪問頻度高的元數據會進行緩存。元數據服務自身是無狀態的,可以水平擴展。

在高性能層面,除了前面介紹的全自研優化器之外,還通過智能的分布式多級緩存技術來彌補存算分離架構下遠程數據訪問時額外的網絡開銷和IO開銷帶來的性能損失。此外 virtule warehouse 計算資源實現了容器化部署,做到了無狀態化,從而可以快速、靈活的進行彈性伸縮,且不影響業務。

在存儲層面,實現了存儲服務化,對數據存儲層進行統一抽象,構造 VFS 虛擬存儲系統,能夠支持更多的存儲語義,包括 HDFS 塊存儲、對象存儲等,既解決了存儲在擴展性、讀寫吞吐瓶頸、一致性等問題,同時能大幅降低存儲成本。

強一致性的事務機制、MVCC 多版本并發控制、細粒度鎖等技術保障,也能讓 ByteHouse 更好地去滿足核心分析業務對一致性和并發能力的要求。

此外,在負載管理上,圍繞計算、內存、網絡帶寬這三項核心資源進行持續優化,同時也在不斷引入AI等新技術讓系統資源的動態調配更加智能和高效;細粒度、多級的資源隔離能力也能更好的匹配業務差異化的需求,讓整體系統運行更加穩定可靠。

穩定、高可用

以抖音集團內部建于2017年的行為分析平臺為例,僅頭條和抖音兩款應用每天會產生萬億條級別的事件記錄,且至少保存1年,分析的特征維度多達上千,既有聚合查詢也有明細查詢,其自助式查詢分析要求必須達到秒級響應。當前這個平臺運行在 2400 個節點的 ByteHouse 集群上。

對社區版 ClickHouse 或者其他大部分分析類產品來說,要達到這個規模是非常困難的,幾乎難以實現。ByteHouse 做了哪些能力增強來不斷突破規模上限、持續支持業務高速增長呢?這里我們先重點介紹兩方面的能力增強:

一、通過自研的 HaMergeTree 替代社區的 ReplicatedMergeTree,降低對 ZooKeeper 的請求次數,減少在 Zookeeper 上存儲的數據量,副本直接通過 log 日志來交換信息,不需要再從 Zookeeper 獲取,從而極大減輕 Zookeeper 的負載,讓其壓力與集群內數據量規模脫鉤。

二、通過元數據持久化的方案,提升故障恢復能力。社區版本的元數據常駐于內存中,這會導致重啟時間非常長,因而當故障發生后,恢復的時間也很長,動輒一到兩個小時,這個是業務不能接受的。ByteHouse 的做法是將元數據持久化到 RocksDB,啟動時直接從 RocksDB 加載元數據,內存中也僅僅存放必要的 Part 信息,這樣就減少元數據對內存的占用,在性能基本無損失的情況下,單機支持的part 不再受內存容量的限制,可以達到 100 萬以上;最重要的是極大縮短了集群的故障恢復時間,從1-2 小時直接縮短到 3 分鐘,大大提高了系統的高可用能力,為業務提供了堅實保障。

保證查詢效率前提下,更快、更準確的數據導入

在實時寫入場景中,社區版 ClickHouse 還是存在部分能力的缺失,比如數據分布按 shard 的分布策略很難保障均勻分布,會存在數據傾斜的情況,而且不支持由用戶指定唯一鍵的業務需求,也無法保證數據的有序消費, 單線程的消費模式導致吞吐量受限,另外在 HA 高可用上也存在能力缺失。ByteHouse 針對這些不足對 kafka engion 做了全面的增強。

首先是在分布式架構下,通過自研的 HaKafka 引擎為數據的實時注入提供了 HA 高可用保障,保障數據不丟失;支持唯一鍵;通過 memory table,提升了實時寫入的吞吐能力,同時延遲刷盤也大幅降低IOPS,節省 IO 資源。

在此基礎上 ByteHouse 再向前一步,演進到云原生架構,能力得到更大的提升,包括支持 exactly-once 消費語義,自動容錯,之前 node-base 架構模式的擴容難、代價高的問題也在云原生架構下迎刃而解,能夠做到按需的靈活彈性擴容和縮容。

此外,ByteHouse 自研了 UniqueMergeTree 表引擎,很好的平衡了寫和讀的性能。UniqueMergeTree 表引擎既支持行更新的模式,也支持部分列更新的模式,用戶可以根據業務要求開啟或關閉。在性能方面,與 ReplacingMergeTree 相比,UniqueMergeTree 的寫入性能只有輕微下降,但在查詢性能上取得了數量級的提升。進一步對比了 UniqueMergeTree 和普通 MergeTree 的查詢性能,發現兩者是非常接近的。

ByteHouse 的未來展望

我們將持續圍繞讓 ByteHouse 更快、更穩、更智能持續做技術迭代,包括更強的優化器,當前在原型測試中有 3 倍的性能提升;通過AI技術的引入讓系統更智能更高效,在原型測試中,基于 IMDB 的大規模數據集的性能表現上有20%的提升;此外更加智能的物化視圖技術以及 RDMA 技術預期都會在 23 年實現產品化落地。

面向未來,ByteHouse 的愿景是打造數據分析領域的“抖音”平臺,能夠為用戶帶來一體化的集成、分析體驗,降低用戶分析門檻,一站式提供分析所需的各種能力,并能通過安全可信的數據分享、模型分享幫助用戶便捷地實現交易和價值變現。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • SQL
    SQL
    +關注

    關注

    1

    文章

    766

    瀏覽量

    44165
  • 數據分析
    +關注

    關注

    2

    文章

    1451

    瀏覽量

    34071
  • 字節跳動
    +關注

    關注

    0

    文章

    321

    瀏覽量

    8945

原文標題:關于 ByteHouse 你想知道的一切,看這一篇就夠了

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ADC128S102WGRQV想知道輸入阻抗具體有多大?

    ADC128S102WGRQV想知道輸入阻抗具體有多大?多少KOhms?要計算用,謝謝!我已經看過7.3.3章節。
    發表于 12-06 08:33

    大研智造廠家面對面 關于激光焊錫機、錫球焊設備高頻問題QA,你想知道的都在這!

    焊接解決方案的企業家,這些問答都將為您提供寶貴的信息和深刻的見解。我們將起揭開激光焊錫機的神秘面紗,探索它如何為現代制造業帶來革命性的變化。
    的頭像 發表于 10-31 11:28 ?227次閱讀
    大研智造廠家面對面 <b class='flag-5'>關于</b>激光焊錫機、錫球焊設備高頻問題QA,<b class='flag-5'>你想知道</b>的都在這!

    智能讀碼器Q&amp;amp;A | 常見疑問解答,你想知道的都在這!

    親愛的工程師們:歡迎來到明治傳感器的Q&A系列專欄。明治傳感器直致力于為客戶提供高精度、高可靠性的傳感器解決方案。然而,在產品的具體使用過程中,難免會遇到些疑問或問題。為了更好地服務大家
    的頭像 發表于 10-22 08:02 ?214次閱讀
    智能讀碼器Q&amp;amp;A |  常見疑問解答,<b class='flag-5'>你想知道</b>的都在這!

    關于公路邊坡安全監測,你想知道的都在這里!

    截至2023年底,全國公路里程543.68萬公里。同時,據估計公路邊坡有870余萬座,但目前公路邊坡大多依賴人工檢測,缺乏主動預防和有效的智能化監測手段,災害隱蔽性強,對公路基礎設施和過往人車安全威脅大,公路邊坡安全監測智能化水平亟待提升。 2024年,交通行業聚焦高速公路防災減災工作。交通運輸部、國家防災減災委員會等發布多個政策文件,針對公路邊坡滑坡、崩塌、沉陷和塌陷、水1.毀和泥石流等地質災害,全面開展風險隱患排查處置,
    的頭像 發表于 10-09 15:30 ?213次閱讀
    <b class='flag-5'>關于</b>公路邊坡安全監測,<b class='flag-5'>你想知道</b>的都在這里!

    定華雷達儀表學堂:雷達液位計,還有什么是你想知道的呢?

    中發揮越來越重要的作用。雷達液位計,還有什么是我們不知道的呢? 液位的測量技術、方法多種多樣,從而相應的測量工具有磁翻板液位計、浮球液位計、鋼帶液位計、雷達物位計、磁致伸縮液位計、射頻導納液位計、音叉物位計
    的頭像 發表于 08-23 14:50 ?242次閱讀

    你想知道的玻璃轉子流量計的安裝方法都在這!

    流量計
    jzyb
    發布于 :2024年08月12日 09:42:07

    關于定位系統技術你知道多少?

    定位系統在如今這個沒有隱私的社會,已不是稀奇的技術。 不管是你在大街上走還是在商場里逛, 只要想知道,你的行蹤就被定位系統鎖定了。就像我們看的西部大片,罪犯在這邊打電話,FBI在那邊定位,唧唧幾聲
    的頭像 發表于 07-12 11:16 ?345次閱讀
    <b class='flag-5'>關于</b>定位系統技術你<b class='flag-5'>知道</b>多少?

    切分去核機物聯網監控管理系統解決方案

    切分去核機是種用于水果或蔬菜加工的機械設備,主要用于將果實切分并去除果核在食品加工行業中非常常見,可以連續工作,減少人工成本,可以大大提高生產效率和產品質量。隨著物聯網技術的日新月異,構建
    的頭像 發表于 07-03 13:47 ?197次閱讀

    TLE9867使用定序器讀取模擬輸入數據,只想知道在讀取ADC1數據時,中斷方式和定序器方式有何不同?

    親愛的團隊, 我正在使用定序器讀取模擬輸入數據,只想知道在讀取 ADC1 數據時,中斷方式和定序器方式有何不同
    發表于 05-22 08:23

    求助,關于ADC和觸發器的基本問題求解

    我有關于 ADC 觸發器的問題。 我知道我們可以使用同個 gtm-adc-trigger 從個原子定時器觸發多個 ADC 組轉換。
    發表于 05-20 06:54

    幀CANFD報文由多少個位組成?

    想知道CANFD報文由多少個位組成,那么我們就要了解CANFD幀結構,知道每個段占用位數從而得出CANFD報文位數。
    的頭像 發表于 04-27 06:08 ?4455次閱讀
    <b class='flag-5'>一</b>幀CANFD報文由多少個位組成?

    關于ESS和BMS,您需要了解的一切

    操作條件下其功能仍然可以安全和可靠的運行。個優秀的BMS除了能保證電池安全運行以外,還可幫助電池實現最大化電池容量使和最長可達十年以上的電池使用壽命。關于BMS技
    的頭像 發表于 03-23 08:22 ?689次閱讀
    <b class='flag-5'>關于</b>ESS和BMS,您需要了解的<b class='flag-5'>一切</b>

    你想知道手持激光焊接設備價格嗎?這里告訴你!@壹晨激光

    激光焊接
    壹晨激光
    發布于 :2024年01月24日 13:57:06

    高速PCB的銅箔選用指南—外層避坑設計

    客戶說PCB內有高速信號,為了降低損耗,必須用HVLP銅箔,信號完整性能確實很完美,結果生產加工時,分層起泡,你想知道原因嗎,請點開今天的文章,定有意想不到的收獲。
    的頭像 發表于 01-10 11:53 ?1460次閱讀
    高速PCB的銅箔選用指南—外層避坑設計
    主站蜘蛛池模板: 国产午夜永久福利视频在线观看| 快播苍井空| 日韩 亚洲 欧美 中文 高清| 爱情岛论坛网亚洲品质| 日本乱hd高清videos| 国产精品一区二区三区免费| 亚洲中文字幕一二三四区苍井空| 免费高清在线影片一区| 俄罗斯性xxxx| 一本道中文无码亚洲| 欧美人妇无码精品久久| 久久久无码精品亚洲A片软件| 中文字幕视频免费在线观看| 美女扒开尿口让男生添动态图| 爱做久久久久久| 亚洲成年人影院| 国产日韩欧美另类| 最近中文字幕在线看免费完整版| 热热久久超碰精品中文字幕| 99久久伊人一区二区yy5o99| 天天槽任我槽免费| 老女人与小伙子露脸对白| 粗大分开挺进内射| 伊人久久久久久久久久| 九九热精品在线| yellow免费观看完整版直播| 亚洲精品嫩草研究院久久| 欧美乱码伦视频免费66网| 好男人好资源视频高清| 成人18视频在线| 中国明星16xxxxhd| 邪恶肉肉全彩色无遮琉璃神社| 国产亚洲精品久久777777| 99久热精品免费观看| 亚洲精品另类有吗中文字幕| 青青草在线视频| 旧里番6080在线观看| 国产探花在线精品一区二区| 扒开老师粉嫩的泬10P| 中文字幕国产在线观看| 亚婷婷洲AV久久蜜臀无码|