99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

3天內不再提示

一文學會ByteHouse搭建數倉最佳實踐

jf_ro2CN3Fa ? 來源:芋道源碼 ? 作者:芋道源碼 ? 2022-12-16 11:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著數據的應用場景越來越豐富,企業(yè)對數據價值反饋到業(yè)務中的時效性要求也越來越高,很早就有人提出過一個概念:數據的價值在于數據的在線化。實時計算起源于對數據加工時效性的嚴苛需求:數據的業(yè)務價值隨著時間的流逝會迅速降低,因此在數據產生后必須盡快對其進行計算和處理,從而最大效率實現數據價值轉化,對實時數倉的建設需求自然而然的誕生了。而建設好實時數倉需要解決如下幾個問題:

一、穩(wěn)定性:實時數倉對數據的實時處理必須是可靠的、穩(wěn)定的;

二、高效數據集成:流式數據的集成必須方便高效,要求能進行高并發(fā)、大數據量的寫入;

三、極致性能要求:實時數倉不能僅限于簡單查詢,需要支持復雜計算能力,且計算結果可秒級返回;

四、靈活查詢:需要具備自助分析的能力,為業(yè)務分析提供靈活的、自助式的匯總和明細查詢服務;

五、彈性擴縮:需要具備良好的擴展性, 必須架構統(tǒng)一具備擴展性,可為IT建設提供靈活性。

針對以上問題,火山引擎不斷在業(yè)務中摸索,總結了基于 ByteHouse 建設實時數倉的經驗。

選擇ByteHouse構建實時數倉的原因

ByteHouse 是火山引擎在 ClickHouse 的基礎上自研并大規(guī)模實踐的一款高性能、高可用企業(yè)級分析性數據庫,支持用戶交互式分析 PB 級別數據。其自研的表引擎,靈活支持各類數據分析和保證實時數據高效落盤,實現了熱數據按生命周自動冷存,緩解存儲空間壓力;同時引擎內置了圖形化運維界面,可輕松對集群服務狀態(tài)進行運維;整體架構采用多主對等架構設計,架構安全可靠穩(wěn)定,可確保單點無故障瓶頸。

ByteHouse 的架構簡潔,采用了全面向量化引擎,并配備全新設計的優(yōu)化器,查詢速度有數量級提升(尤其是多表關聯查詢)。

用戶使用 ByteHouse 可以靈活構建包括大寬表、星型模型、雪花模型在內的各類模型。

ByteHouse 可以滿足企業(yè)級用戶的多種分析需求,包括 OLAP 多維分析、定制報表、實時數據分析和 Ad-hoc 數據分析等各種應用場景。

ByteHouse 優(yōu)勢一:實時數據高吞吐的接入能力

面對業(yè)務大數據量的產生,需要高效可靠實時數據的接入能力,為此我們自研了 Kafka 數據源接入表引擎 HaKafka ,該表引擎可高效的將 Kafka 的數據接入 ByteHouse ,具有有如下特性:

數據接入高吞吐性,支持了多線消費 Kafka topic 對應 Partition 的數據,滿足大數據量實時數據接入的需求。

數據接入高可靠性,通過 Zookeeper 來實現主備消費節(jié)點管理,比如,當線上出現某個節(jié)點出現故障或無法提供服務時,可以通過 Zookeeper 心跳感知機制自動切換到另一個節(jié)點提供服務,以此來保障業(yè)務的穩(wěn)定性。

數據接入原子性,引擎自行管理 Kafka offset ,將 offset 和 parts 進行綁定在一起,來實現單批次消費寫入的原子性,當中途消費寫入失敗,會自動將綁定的 parts 撤銷,從而實現數據消費的穩(wěn)定性。

具體流程原理如下圖所示

aef11e28-7ce9-11ed-8abf-dac502259ad0.png

ByteHouse 優(yōu)勢二:基于主鍵高頻數據更新能力

隨著實時數據分析場景的發(fā)展,對實時數據更新的分析需求也越來越多,比如在如下的業(yè)務場景就需要實時更新數據能力:

? 第一類是業(yè)務需要對它的交易類數據進行實時分析,需要把數據流同步到 ByteHouse 這類 OLAP 數據庫中。大家知道,業(yè)務數據諸如訂單數據天生是存在更新的,所以需要 OLAP 數據庫去支持實時更新。

? 第二個場景和第一類比較類似,業(yè)務希望把TP數據庫的表實時同步到 ByteHouse,然后借助 ByteHouse 強大的分析能力進行實時分析,這就需要支持實時的更新和刪除。

? 最后一類場景的數據雖然不存在更新,但需要去重。大家知道在開發(fā)實時數據的時候,很難保證數據流里沒有重復數據,因此通常需要存儲系統(tǒng)支持數據的冪等寫入。

基于以上業(yè)務場景的需求,我們自研了基于主鍵更新數據的表引擎 HaUniqueMergeTree,該表引擎即滿足高效查詢性能要求,又支持基于主鍵更新數據的表引擎,有如下特性:

通過定義 Unique Key 唯一鍵,來提供數據實時更新的語義,唯一鍵的選擇支持多字段和表達式的模式;

支持分區(qū)級別數據唯一和表級別數據唯一兩種模式;

支持多副本高可靠部署,實測數據去重寫入吞吐達每秒10萬行以上(10w+/s),很好的解決了社區(qū)版 ReplacingMergreTree 不能高效更新數據的痛點。

具體流程原理如下圖所示

af0368d0-7ce9-11ed-8abf-dac502259ad0.png

具體的原理細節(jié)可查閱之前發(fā)布的文章 干貨 | ClickHouse增強計劃之“Upsert”

ByteHouse 優(yōu)勢三:多表 Join 查詢能力

在構建實時數據分析的場景中,我們常在數據加工的過程中,將多張表通過一些關聯字段打平成一張寬表,通過一張表對外提供分析能力,即大寬表模型。其實大寬表依然有它的局限性,一是,生成每一張大寬表都需要數據開發(fā)人員不小的工作量,而且生成過程也需要一定的時間;二是,生成寬表會產生大量的數據冗余。針對寬表模型的局限性,我們從0到1自研實現了查詢優(yōu)化器,非常好的支持復雜查詢的需求,有如下特性:

兼容兩種 SQL 語法,支持 ANSI SQL 和原生 CLICKHOUSE SQL ;

支持基于RBO優(yōu)化能力,即支持:列裁剪、分區(qū)裁剪、表達式簡化、子查詢解關聯、謂詞下推、冗余算子消除、Outer-JOIN 轉 INNER-JOIN、算子下推存儲、分布式算子拆分等常見的啟發(fā)式優(yōu)化能力;

支持基于 CBO 優(yōu)化能力,基于 Cascade 搜索框架,實現了高效的 Join 枚舉算法,以及基于 Histogram 的代價估算,對 10 表全連接級別規(guī)模的 Join Reorder 問題,能夠全量枚舉并尋求最優(yōu)解,同時針對大于10表規(guī)模的 Join Reorder 支持啟發(fā)式枚舉并尋求最優(yōu)解。CBO 支持基于規(guī)則擴展搜索空間,除了常見的 Join Reorder 問題以外,還支持 Outer-Join/Join Reorder,Magic Set Placement 等相關優(yōu)化能力;

分布式計劃優(yōu)化,面向分布式 MPP 數據庫,生成分布式查詢計劃,并且和 CBO 結合在一起。相對業(yè)界主流實現:分為兩個階段,首先尋求最優(yōu)的單機版計劃,然后將其分布式化。我們的方案則是將這兩個階段融合在一起,在整個 CBO 尋求最優(yōu)解的過程中,會結合分布式計劃的訴求,從代價的角度選擇最優(yōu)的分布式計劃。對于 Join/Aggregate 的還支持 Partition 屬性展開。

高階優(yōu)化能力,實現了 Dynamic Filter pushdown、單表物化視圖改寫、基于代價的 CTE (公共表達式共享)。

af1cb1aa-7ce9-11ed-8abf-dac502259ad0.png

具體的原理細節(jié)可查閱之前發(fā)布的文章 干貨 | ClickHouse增強計劃之“查詢優(yōu)化器”

實時數倉建設方案

借助Flink 出色流批一體的能力,ByteHouse極致的查詢性能,為用戶構建實時數倉,滿足業(yè)務實時分析需求。

af382a3e-7ce9-11ed-8abf-dac502259ad0.png

Flink 作為流式數據處理引擎,使用Flink SQL為整個實時數倉數據提供數據轉化與清洗;

Kafka作為流式數據臨時存儲層,同時為Flink SQL 數據轉化與清洗提供緩沖作用,提高數據穩(wěn)定性;

ByteHouse 作為流式數據持久化存儲層,使用 ByteHouse HaKafka 、HaUniqueMergeTree 表引擎可將 Kafka 臨時數據高效穩(wěn)定接入儲存到 ByteHouse ,為后端應用提供極速統(tǒng)一的數據集市查詢服務。具體的數據鏈路如下圖所示

af4a3940-7ce9-11ed-8abf-dac502259ad0.png

實時數倉各邏輯層功能職責如下:

ODS 層(Operational Data Store)

把生產系統(tǒng)的數據導入消息隊列,原則上不做任何清洗操作,字段信息跟數據源保持一致。目的是為了對數據源做收斂管理,數據排查上也好做溯源回查。

DWD 層(Data Warehouse Detail)

DWD 層采用維度建模理論,針對業(yè)務內容梳理業(yè)務實體的維表信息和事實表信息,設計 DWD 明細寬表模型,根據設計好的邏輯模型對 ODS 層的數據進行數據清洗,重定義和整合,整合主要包含多流 join 和維度擴充兩部分內容, 建設能表達該業(yè)務主題下具體業(yè)務過程的多維明細寬表流。每一份 DWD 表從業(yè)務梳理->模型設計->數據流圖->任務開發(fā)鏈接->數據校驗結果->數據落地信息->常用使用場景歸納。

DWS 層(Data Warehouse Summary)

該層級主要在 DWD 層明細數據的基礎上針對業(yè)務實體跨業(yè)務主題域建設匯總指標,根據統(tǒng)計場景,設計匯總指標模型。

APP 層(Application)

作為對接具體應用的數倉層級,由 ByteHouse 提供統(tǒng)一的數據服務,是基于 DWD 和 DWS 層對外提供一些定制化實時流。

ByteHouse 已經在火山引擎上全面對外服務,并且提供各種版本以滿足不同類型用戶的需求。

審核編輯 :李倩

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

    關注

    8

    文章

    7256

    瀏覽量

    91858
  • 數據庫
    +關注

    關注

    7

    文章

    3926

    瀏覽量

    66215
  • 數據分析
    +關注

    關注

    2

    文章

    1473

    瀏覽量

    35034

原文標題:一文學會 ByteHouse 搭建數倉最佳實踐

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    天馬榮獲新財富雜志“2024 ESG最佳實踐獎”

    天馬可持續(xù)發(fā)展?ESG表現再獲認可,上榜2024年新財富雜志最佳上市公司評選“ESG最佳實踐榜單”。
    的頭像 發(fā)表于 05-21 14:43 ?355次閱讀

    曙光存儲入選2025年中國先進存力最佳應用實踐

    近日,國際權威分析機構沙利(Frost & Sullivan)聯合頭豹研究院發(fā)布《2025年中國先進存力最佳應用實踐》,以閃存為標志的先進存力已在各行業(yè)落地,尤其是AI、金融、通信等行業(yè),先進存力占比均超過30%。
    的頭像 發(fā)表于 04-10 09:55 ?522次閱讀

    SOLIDWORKS 2025教育版:緊密的產學研合作,搭建理論與實踐的橋梁

    在工程技術教育領域,理論與實踐的結合直是培養(yǎng)高素質人才的關鍵。SOLIDWORKS 2025教育版作為款CAD軟件,通過緊密的產學研合作,成功搭建起了理論與
    的頭像 發(fā)表于 03-26 17:21 ?347次閱讀
    SOLIDWORKS 2025教育版:緊密的產學研合作,<b class='flag-5'>搭建</b>理論與<b class='flag-5'>實踐</b>的橋梁

    兆芯最佳實踐應用場景解決方案發(fā)布

    《兆芯最佳實踐應用場景解決方案》現已正式發(fā)布,掃描下方二維碼或點擊閱讀原文即可獲取下載。
    的頭像 發(fā)表于 01-13 14:45 ?588次閱讀

    4G模組之UDP應用的最佳實踐!

    今天說的是4G模組之UDP應用,展示最佳實踐,送你參考。
    的頭像 發(fā)表于 11-08 09:24 ?1116次閱讀
    4G模組之UDP應用的<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>!

    MES系統(tǒng)的最佳實踐案例

    效率、降低成本、保證產品質量。 MES系統(tǒng)的最佳實踐案例 引言 在當今競爭激烈的制造業(yè)環(huán)境中,企業(yè)必須不斷尋求創(chuàng)新和改進的方法來保持競爭力。MES系統(tǒng)作為種關鍵的信息技術工具,已經被廣泛應用于各種制造行業(yè),以實現生產過程的優(yōu)化
    的頭像 發(fā)表于 10-27 09:33 ?2952次閱讀

    邊緣計算架構設計最佳實踐

    邊緣計算架構設計最佳實踐涉及多個方面,以下是些關鍵要素和最佳實踐建議: 、核心組件與架構設計
    的頭像 發(fā)表于 10-24 14:17 ?1105次閱讀

    云計算平臺的最佳實踐

    云計算平臺的最佳實踐涉及多個方面,以確保高效、安全、可擴展和成本優(yōu)化的云環(huán)境。以下是些關鍵的最佳實踐
    的頭像 發(fā)表于 10-24 09:17 ?713次閱讀

    TMCS110x 布局挑戰(zhàn)和最佳實踐

    電子發(fā)燒友網站提供《TMCS110x 布局挑戰(zhàn)和最佳實踐.pdf》資料免費下載
    發(fā)表于 09-12 09:23 ?0次下載
    TMCS110x 布局挑戰(zhàn)和<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>

    衰減 AMC3301 系列輻射發(fā)射 EMI 的最佳實踐

    電子發(fā)燒友網站提供《衰減 AMC3301 系列輻射發(fā)射 EMI 的最佳實踐.pdf》資料免費下載
    發(fā)表于 09-11 09:59 ?0次下載
    衰減 AMC3301 系列輻射發(fā)射 EMI 的<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>

    毫米波雷達器件的放置和角度最佳實踐應用

    電子發(fā)燒友網站提供《毫米波雷達器件的放置和角度最佳實踐應用.pdf》資料免費下載
    發(fā)表于 09-09 09:57 ?2次下載
    毫米波雷達器件的放置和角度<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>應用

    電機驅動器電路板布局的最佳實踐

    電子發(fā)燒友網站提供《電機驅動器電路板布局的最佳實踐.pdf》資料免費下載
    發(fā)表于 09-05 11:33 ?18次下載
    電機驅動器電路板布局的<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>

    電科金智未來,國產數據庫大有可為

    幾十年來積累的技術底蘊,加之在眾多行業(yè)中的實踐驗證與落地,為金數據庫的持續(xù)發(fā)展奠定了堅實的基礎。同時,金還以其專業(yè)的服務體系、完善的生態(tài)構建以及對人才發(fā)展的不懈追求,構筑起了道堅
    的頭像 發(fā)表于 09-03 13:58 ?466次閱讀
    電科金<b class='flag-5'>倉</b>:<b class='flag-5'>數</b>智未來,國產數據庫大有可為

    MSP430 FRAM技術–使用方法和最佳實踐

    電子發(fā)燒友網站提供《MSP430 FRAM技術–使用方法和最佳實踐.pdf》資料免費下載
    發(fā)表于 08-23 09:23 ?0次下載
    MSP430 FRAM技術–使用方法和<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>

    RTOS開發(fā)最佳實踐

    基于RTOS編寫應用程序時,有些要注意事項。在本節(jié)中,您將學習RTOS開發(fā)最佳實踐,例如POSIX合規(guī)性、安全性和功能安全認證。
    的頭像 發(fā)表于 08-20 11:24 ?846次閱讀