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

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

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

3天內不再提示

一文詳解實時數據倉庫的發(fā)展、架構和趨勢

數據分析與開發(fā) ? 來源:子和 ? 作者:子和 ? 2021-04-29 16:55 ? 次閱讀

數據處理現狀:當前基于Hive的離線數據倉庫已經非常成熟,數據中臺體系也基本上是圍繞離線數倉進行建設。但是隨著實時計算引擎的不斷發(fā)展以及業(yè)務對于實時報表的產出需求不斷膨脹,業(yè)界最近幾年就一直聚焦并探索于兩個相關的熱點問題:實時數倉建設和大數據架構的批流一體建設。

1實時數倉建設:實時數倉1.0

傳統(tǒng)意義上我們通常將數據處理分為離線數據處理和實時數據處理。對于實時處理場景,我們一般又可以分為兩類,一類諸如監(jiān)控報警類、大屏展示類場景要求秒級甚至毫秒級;另一類諸如大部分實時報表的需求通常沒有非常高的時效性要求,一般分鐘級別,比如10分鐘甚至30分鐘以內都可以接受。

對于第一類實時數據場景來說,業(yè)界通常的做法比較簡單粗暴,一般也不需要非常仔細地進行數據分層,數據直接通過Flink計算或者聚合之后將結果寫入MySQL/ES/HBASE/Druid/Kudu等,直接提供應用查詢或者多維分析。如下所示:

a08ed0e2-a8c8-11eb-9728-12bb97331649.png

而對于后者來說,通常做法會按照數倉結構進行設計,我們稱后者這種應用場景為實時數倉,將作為本篇文章討論的重點。從業(yè)界情況來看,當前主流的實時數倉架構基本都是基于Kafka+Flink的架構(為了行文方便,就稱為實時數倉1.0)。下圖是基于業(yè)界各大公司分享的實時數倉架構抽象的一個方案:

a12b4f94-a8c8-11eb-9728-12bb97331649.png

這套架構總體依然遵循標準的數倉分層結構,各種數據首先匯聚于ODS數據接入層。再接著經過這些來源明細數據的數據清洗、過濾等操作,完成多來源同類明細數據的融合,形成面向業(yè)務主題的DWD數據明細層。在此基礎上進行輕度的匯總操作,形成一定程度上方便查詢的DWS輕度匯總層(注:這里沒有畫出DIM維度層,一般選型為Redis/HBase,下文架構圖中同樣沒有畫出DIM維度層,在此說明)。最后再面向業(yè)務需求,在DWS層基礎上進一步對數據進行組織進入ADS數據應用層,業(yè)務在數據應用層的基礎上支持用戶畫像、用戶報表等業(yè)務場景。

基于Kafka+Flink的這套架構方案很好的解決了實時數倉對于時效性的業(yè)務訴求,通常延遲可以做到秒級甚至更短。基于上圖所示實時數倉架構方案,筆者整理了一個目前業(yè)界比較主流的整體數倉架構方案:

a1636c58-a8c8-11eb-9728-12bb97331649.png

上圖中上層鏈路是離線數倉數據流轉鏈路,下層鏈路是實時數倉數據流轉鏈路,當然實際情況可能是很多公司在實時數倉建設中并沒有嚴格按照數倉分層結構進行分層,與上圖稍有不同。

然而基于Kafka+Flink的實時數倉方案有幾個非常明顯的缺陷:

(1)Kafka無法支持海量數據存儲。對于海量數據量的業(yè)務線來說,Kafka一般只能存儲非常短時間的數據,比如最近一周,甚至最近一天;

(2)Kafka無法支持高效的OLAP查詢。大多數業(yè)務都希望能在DWDDWS層支持即席查詢的,但是Kafka無法非常友好地支持這樣的需求;

(3)無法復用目前已經非常成熟的基于離線數倉的數據血緣、數據質量管理體系。需要重新實現一套數據血緣、數據質量管理體系;

(4)Lambad架構維護成本很高。很顯然,這種架構下數據存在兩份、schema不統(tǒng)一、 數據處理邏輯不統(tǒng)一,整個數倉系統(tǒng)維護成本很高;

(5)Kafka不支持update/upsert。目前Kafka僅支持append。實際場景中在DWS輕度匯聚層很多時候是需要更新的,DWD明細層到DWS輕度匯聚層一般會根據時間粒度以及維度進行一定的聚合,用于減少數據量,提升查詢性能。假如原始數據是秒級數據,聚合窗口是1分鐘,那就有可能產生某些延遲的數據經過時間窗口聚合之后需要更新之前數據的需求。這部分更新需求無法使用Kafka實現。

所以實時數倉發(fā)展到現在的架構,一定程度上解決了數據報表時效性問題,但是這樣的架構依然存在不少問題,隨著技術的發(fā)展,相信基于Kafka+Flink的實時數倉架構也會進一步往前發(fā)展。那會往哪里發(fā)展呢?

大數據架構的批流一體建設。

帶著上面的問題我們再來接著聊一聊最近一兩年和實時數倉一樣很火的另一個概念:批流一體。對于批流一體的理解,筆者發(fā)現有很多種解讀,比如有些業(yè)界前輩認為批和流在開發(fā)層面上都統(tǒng)一到相同的SQL上是批流一體,又有些前輩認為在計算引擎層面上批和流可以集成在同一個計算引擎是批流一體,比如Spark/Spark Structured Streaming就算一個在計算引擎層面實現了批流一體的計算框架,與此同時另一個計算引擎Flink,目前在流處理方面已經做了很多的工作而且在業(yè)界得到了普遍的認可,但在批處理方面還有一定的路要走。

2實時數倉2.0

筆者認為無論是業(yè)務SQL使用上的統(tǒng)一還是計算引擎上的統(tǒng)一,都是批流一體的一個方面。除此之外,批流一體還有一個最核心的方面,那就是存儲層面上的統(tǒng)一。在這個方面業(yè)界也有一些走在前面的技術,比如最近一段時間開始流行起來的數據湖三劍客-- delta/hudi/iceberg,就在往這個方向走。存儲一旦能夠做到統(tǒng)一,上述數據倉庫架構就會變成如下模樣(以Iceberg數據湖作為統(tǒng)一存儲為例),稱為實時數倉2.0:

a1f4ec5a-a8c8-11eb-9728-12bb97331649.png

這套架構中無論是流處理還是批處理,數據存儲都統(tǒng)一到數據湖Iceberg上。那這么一套架構將存儲統(tǒng)一后有什么好處呢?很明顯,可以解決Kafka+Flink架構實時數倉存在的前面4個問題:

(1)可以解決Kafka存儲數據量少的問題。目前所有數據湖基本思路都是基于HDFS之上實現的一個文件管理系統(tǒng),所以數據體量可以很大。

(2)DW層數據依然可以支持OLAP查詢。同樣數據湖基于HDFS之上實現,只需要當前的OLAP查詢引擎做一些適配就可以進行OLAP查詢。

(3)批流存儲都基于Iceberg/HDFS存儲之后,就完全可以復用一套相同的數據血緣、數據質量管理體系。

(4)Kappa架構相比Lambad架構來說,schema統(tǒng)一,數據處理邏輯統(tǒng)一,用戶不再需要維護兩份數據。

有的同學說了,這不,你直接解決了前4個問題嘛,還有第5個問題呢?對,第5個問題下文會講到。

又有的同學會說了,上述架構確實解決了Lambad架構的諸多問題,但是這套架構看起來就像是一條離線處理鏈路,它是怎么做到報表實時產出呢?確實,上述架構圖主要將離線處理鏈路上的HDFS換成了數據湖Iceberg,就號稱可以實現實時數倉,聽起來容易讓人迷糊。這里的關鍵就是數據湖Iceberg,它到底有什么魔力?

為了回答這個問題,筆者就上述架構以及數據湖技術本身做一個簡單的介紹(接下來也會基于Iceberg出一個專題深入介紹數據湖技術)。上述架構圖中有兩條數據處理鏈路,一條是基于Flink的實時數據鏈路,一條是基于Spark的離線數據鏈路。通常數據都是直接走實時鏈路處理,而離線鏈路則更多的應用于數據修正等非常規(guī)場景。這樣的架構要成為一個可以落地的實時數倉方案,數據湖Iceberg是需要滿足如下幾個要求的:

(1)支持流式寫入-增量拉取。流式寫入其實現在基于Flink就可以實現,無非是將checkpoint間隔設置的短一點,比如1分鐘,就意味每分鐘生成的文件就可以寫入到HDFS,這就是流式寫入。沒錯,但是這里有兩個問題,第一個問題是小文件很多,但這不是最關鍵的,第二個問題才是最致命的,就是上游每分鐘提交了很多文件到HDFS上,下游消費的Flink是不知道哪些文件是最新提交的,因此下游Flink就不知道應該去消費處理哪些文件。這個問題才是離線數倉做不到實時的最關鍵原因之一,離線數倉的玩法是說上游將數據全部導入完成了,告訴下游說這波數據全部導完了,你可以消費處理了,這樣的話就做不到實時處理。

數據湖就解決了這個問題。實時數據鏈路處理的時候上游Flink寫入的文件進來之后,下游就可以將數據文件一致性地讀走。這里強調一致性地讀,就是不能多讀一個文件也不能少讀一個文件。上游這段時間寫了多少文件,下游就要讀走多少文件。我們稱這樣的讀取叫增量拉取。

(2)解決小文件多的問題。數據湖實現了相關合并小文件的接口,Spark/Flink上層引擎可以周期性地調用接口進行小文件合并。

(3)支持批量以及流式的Upsert(Delete)功能。批量Upsert/Delete功能主要用于離線數據修正。流式upsert場景上文介紹了,主要是流處理場景下經過窗口時間聚合之后有延遲數據到來的話會有更新的需求。這類需求是需要一個可以支持更新的存儲系統(tǒng)的,而離線數倉做更新的話需要全量數據覆蓋,這也是離線數倉做不到實時的關鍵原因之一,數據湖是需要解決掉這個問題的。

(4)支持比較完整的OLAP生態(tài)。比如支持Hive/Spark/Presto/Impala等OLAP查詢引擎,提供高效的多維聚合查詢性能。

這里需要備注一點,目前Iceberg部分功能還在開發(fā)中。具體技術層面Iceberg是怎么解決上述問題的,請持續(xù)關注本號,接下來一篇文章會詳細講解哦。

3實時數倉3.0

按照批流一體上面的探討,如果計算引擎做到了批流一體的統(tǒng)一,就可以做到SQL統(tǒng)一、計算統(tǒng)一以及存儲統(tǒng)一,這時就邁入實時數倉3.0時代。對于以Spark為核心技術棧的公司來說,實時數倉2.0的到來就意味著3.0的到來,因為在計算引擎層面Spark早已做到批流一體。基于Spark/數據湖的3.0架構如下圖:

a23199e8-a8c8-11eb-9728-12bb97331649.png

假如未來Flink在批處理領域成熟到一定程度,基于Flink/數據湖的3.0架構如下圖:

a23e69fc-a8c8-11eb-9728-12bb97331649.png

上面所介紹的,是筆者認為接下來幾年數據倉庫發(fā)展的一個可能路徑。對于業(yè)界目前實時數倉的一個發(fā)展預估,個人覺得目前業(yè)界大多公司都還往實時數倉1.0這個架構上靠;而在接下來1到2年時間隨著數據湖技術的成熟,實時數倉2.0架構會成為越來越多公司的選擇,其實到了2.0時代之后,業(yè)務同學最關心的報表實時性訴求和大數據平臺同學最關心的數據存儲一份訴求都可以解決;隨著計算引擎的成熟,實時數倉3.0可能和實時數倉2.0一起或者略微滯后一些普及。

編輯:jq

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

    關注

    1

    文章

    762

    瀏覽量

    44117
  • 數據倉庫
    +關注

    關注

    0

    文章

    61

    瀏覽量

    10446
  • ODS
    ODS
    +關注

    關注

    0

    文章

    7

    瀏覽量

    9580

原文標題:一文了解實時數據倉庫的發(fā)展、架構和趨勢

文章出處:【微信號:DBDevs,微信公眾號:數據分析與開發(fā)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    上位機實時數據處理技術 上位機在智能制造中的應用

    。這種技術對于工業(yè)自動化、智能制造等領域至關重要。 在上位機實時數據處理中,關鍵技術包括數據采集、數據處理、數據可視化、數據存儲和通信協議等
    的頭像 發(fā)表于 12-04 10:29 ?456次閱讀

    波特率對實時數據傳輸的影響

    在現代通信系統(tǒng)中,實時數據傳輸是至關重要的。無論是工業(yè)自動化、遠程醫(yī)療、在線游戲還是物聯網(IoT)應用,都需要快速、可靠的數據傳輸來保證系統(tǒng)的正常運行和用戶體驗。 波特率的定義 波特率,也稱為符號
    的頭像 發(fā)表于 11-22 10:03 ?233次閱讀

    XKCON祥控倉庫存儲環(huán)境溫濕度在線監(jiān)測系統(tǒng)能夠取代人工巡檢,實現遠程倉庫存儲環(huán)境溫濕度變化的實時

    的XKCON祥控倉庫存儲環(huán)境溫濕度在線監(jiān)測系統(tǒng)通過安裝固定式環(huán)境溫濕度檢測儀對倉儲環(huán)境溫濕度實時數據進行采集,并通過主機現場顯示并發(fā)送至遠程監(jiān)管軟件,能夠取代人工巡檢,實現遠程倉庫存儲環(huán)境溫濕度變化的
    的頭像 發(fā)表于 11-20 11:20 ?177次閱讀
    XKCON祥控<b class='flag-5'>倉庫</b>存儲環(huán)境溫濕度在線監(jiān)測系統(tǒng)能夠取代人工巡檢,實現遠程<b class='flag-5'>倉庫</b>存儲環(huán)境溫濕度變化的<b class='flag-5'>實時</b>

    RNN在實時數據分析中的應用

    分析中。 1. RNN的工作原理 RNN是種特殊的神經網絡,它能夠處理序列數據,并且具有記憶功能。RNN的核心思想是將前個時間步的輸出作為下個時間步的輸入,從而實現對序列
    的頭像 發(fā)表于 11-15 10:11 ?280次閱讀

    智慧公交是什么?帶你詳解智慧公交的解決方案!

    智慧公交是什么?帶你詳解智慧公交的解決方案!
    的頭像 發(fā)表于 11-05 12:26 ?271次閱讀
    智慧公交是什么?<b class='flag-5'>一</b><b class='flag-5'>文</b>帶你<b class='flag-5'>詳解</b>智慧公交的解決方案!

    實時數據與數字孿生的關系

    、處理和分析的數據。這種數據的特點是高頻率、高速度和高準確性。在工業(yè)環(huán)境中,實時數據可以來自于各種傳感器、設備、機器和系統(tǒng),它們?yōu)槠髽I(yè)提供了實時
    的頭像 發(fā)表于 10-25 14:42 ?355次閱讀

    實時數據處理的邊緣計算應用

    實時數據處理的邊緣計算應用廣泛,涵蓋了多個行業(yè)和領域。以下是些典型的應用場景: 、工業(yè)制造 在工業(yè)制造領域,邊緣計算技術被廣泛應用于生產線上的設備監(jiān)控、數據處理和
    的頭像 發(fā)表于 10-24 14:11 ?349次閱讀

    天拓四方:工業(yè)數據采集網關在智能邊緣計算與實時數據處理的應用

    在工業(yè)互聯網的浪潮中,工業(yè)數據采集網關作為連接物理世界與數字世界的橋梁,正扮演著日益重要的角色。本文將深入探討工業(yè)數據采集網關在“智能邊緣計算與實時數據處理”這關鍵方面的創(chuàng)新應用與優(yōu)
    的頭像 發(fā)表于 08-09 17:43 ?353次閱讀
    天拓四方:工業(yè)<b class='flag-5'>數據</b>采集網關在智能邊緣計算與<b class='flag-5'>實時數據</b>處理的應用

    數據倉庫數據庫的主要區(qū)別

    區(qū)別。 1. 定義 數據庫(Database) : 數據庫是種存儲和管理數據的系統(tǒng),它允許用戶存儲、檢索和管理數據
    的頭像 發(fā)表于 07-05 14:57 ?519次閱讀

    什么是數據湖?數據湖和數據倉庫有什么區(qū)別?

    從本質上說,數據湖就是個信息資源庫。人們常常將數據湖與數據倉庫混為談,但兩者在架構和滿足的業(yè)
    的頭像 發(fā)表于 05-20 12:38 ?606次閱讀
    什么是<b class='flag-5'>數據</b>湖?<b class='flag-5'>數據</b>湖和<b class='flag-5'>數據倉庫</b>有什么區(qū)別?

    OpenAI推出ChatGPT實時數據分析新功能

    近日,OpenAI在ChatGPT中推出了令人矚目的實時數據分析新功能。這創(chuàng)新功能為用戶提供了前所未有的數據處理體驗,極大地提升了數據處理的便捷性。
    的頭像 發(fā)表于 05-20 11:28 ?600次閱讀

    數據中臺、數據倉庫數據治理與主數據的定位與差異

    在數字化時代,大數據已經成為企業(yè)運營和決策的重要資產。為了更好地管理和利用這些數據數據中臺、數據倉庫數據治理和主
    的頭像 發(fā)表于 05-08 10:40 ?431次閱讀

    構建高效數據生態(tài):數據庫、數據倉庫數據湖、大數據平臺與數據中臺解析_光點科技

    在數字化的浪潮中,套高效的數據管理系統(tǒng)是企業(yè)競爭力的核心。從傳統(tǒng)的數據庫到現代的數據中臺,每種技術都在
    的頭像 發(fā)表于 01-17 10:20 ?368次閱讀

    應用方案:實時數據加密

    應用方案:實時數據加密 利用CPLD設計加密電路方便可行,能夠較好地實現加密功能。AG32系列MCU產品,在芯片內部內置了CPLD邏輯,可以有效地滿足各種數據采集需求,降低了客戶的BOM成本。以下
    發(fā)表于 01-15 08:57

    詳解pcb回流焊溫度選擇與調整

    詳解pcb回流焊溫度選擇與調整
    的頭像 發(fā)表于 12-29 10:20 ?1642次閱讀
    主站蜘蛛池模板: 幺妹视频福利视频| 国产 在线 亚洲 欧美 动漫| 青娱乐在线一区| 好男人好资源在线观看免费视频| 99re6在线视频国产精品欧美| 十大禁止安装的黄台有风险| 久久综合一个色综合网| 国产精品99久久久精品无码| 91综合久久久久婷婷| 亚洲欧美韩国综合色| 十分钟免费视频大全在线| 免费精品一区二区三区AA片| 黄小说免费看| 国产情侣真实露脸在线| 超碰97超碰在线视频哦| 中文字幕成人免费高清在线| 亚洲h视频在线观看| 日韩成人性视频| 女人麻豆国产香蕉久久精品| 精品国产三级a| 国产一区二区三区在线看片| 俄罗斯XBXBXB兽交| 本庄优花aⅴ全部在线影片| 88福利视频| 最近中文字幕2019国语4| 亚洲精品免费在线视频| 先锋影音av资源站av| 色播播电影| 日韩少妇爆乳无码专区| 欧美巨大巨粗黑人性AAAAAA| 美女被C污黄网站免费观看| 久久免费看少妇高潮A片特爽| 狠狠色狠狠色综合曰曰| 国产午夜免费视频片夜色| 国产WW高清大片免费看| 成人无码在线超碰视频| 成年人免费观看视频网站| 成人短片迅雷下载| 超碰免费碰免费视频| 达达兔午夜一级毛片| 俄罗斯性xxxx|