tez什麼意思 傳統數倉和大資料數倉的區別是什麼?

2021-10-14 00:26:17 字數 3220 閱讀 8160

概念與容器

為什麼先說這個,其實很簡單:因為絕大多數人都把這兩個概念混為一談。然後就會出現各種各樣的問題:oracle不是資料庫麼,怎麼又是資料倉儲?hive不是資料倉儲麼?怎麼又是資料庫?

資料倉儲、資料庫是乙個概念,是一些技術的集合。類同於切菜刀法和雕刻刀法;

oracel、db2、mysql、hive是乙個容器,是一種工具。類同於一把刀。

當我們在說資料倉儲的時候,我們在說什麼?說的是你用的mysql還是oracle?用的是hive還是kylin?用的是druid還是doris?都不是!因為這些是實現資料倉儲的工具!

我們在實現資料倉儲的時候,需要用到資料倉儲設計(資料庫設計工具)、資料儲存技術(資料庫工具)、資料處理技術(etl工具、監控報警)、資料管理技術(元資料、資料地圖、血緣關係)等等技術。

而oracle、mysql、hadoop等都只是資料儲存技術中的一種而已。

資料倉儲發展歷史

1、資料倉儲概念誕生

資料倉儲概念公認最早的定義者,是資料倉儲之父比爾·恩門(bill inmon)在1991提出的。在此之前,所有的業務運算元據和分析資料都是存在乙個資料庫中的,並沒有分開。

這個inmon就是inmon、kimball建倉方**的inmon,是不是很熟悉?

如同絕大多數新概念一樣,剛誕生的資料倉儲同樣遭受到了巨大的失敗。inmon的建設理念是自上而下,這個上指的是資料的上游,不是資料分層的上層。

大家都是做數倉的,你肯定理解為什麼一開始資料倉儲概念會慘敗。因為自上而下太難見效,得把所有的業務理清楚,把所有系統的資料理清楚,然後分主題分層一點點的設計,然後按照這個設計一層層的建。而且一旦其中有任何變動,整個設計全廢。所以第一批吃螃蟹的那些公司基本上都是小白鼠。

2、資料集市概念誕生

這個時候,有個英雄站出來了,這就是kimball,他寫了一本書《the datawarehouse toolkit》,開啟了資料集市的狂潮,也開創了另一種資料倉儲建設的流派-kimball的自下而上流派。這個上、下也是上下游的意思。kimball建議,百鳥在林,不如一鳥在手。先搞乙個銷售部門,摸清銷售部門的需求,等於把下游的需求先鎖死。然後再順藤摸瓜,把數倉的每一層設計好,最後再摸到業務系統(crm+erp+人力系統),找業務系統的資料,這樣就建立了乙個銷售部門級的資料集市。

由於這種方法的需求少了,設計工作少,難度也就低了,對應的建設難度和工作量也少,建設速度就快,見效也就快啊,非常利於工作的開展。所以資料集市大行其道。

3、dwdm融合

兩派吵了很久很久,各自都有死忠,也都有對的理由,各自也都說服不了對方。雙方也明白了:「one size fits all」一碼通用是不可能的。終於在2023年, inmon提出了新的bi架構cif(corporationinformation factory,企業資訊工廠)。

上面這張圖就是inmon老爺子畫的,看上去很亂對吧?其實按照咱現在的視角看就很清晰了:

這個架構是不是很熟悉?對!這個架構從2023年到現在,就沒變過!而且也是所有資料倉儲建設的框架性指南。

4、實時數倉

一直到最近兩年,實時處理技術的飛速發展,才將資料倉儲的架構往前又推了一步,出現了實時數倉。實時數倉又分為批資料+流資料、批流一體兩種架構。從這裡開始,也就正式進入了大資料環境下的資料倉儲範疇。

大資料環境下的資料倉儲

1、脫機數倉

剛轉到大資料環境中的哥們會很奇怪,為啥有乙個數倉叫脫機數倉?從來沒聽過啊!

其實脫機數倉就是咱以前做的傳統數倉,資料以t+1的形式計算好放在那裡,給前台的各種分析應用提供算好的資料。這也被稱為「大資料的批處理」。只不過原本的單體環境工具(oracle、informatica等)基本都被替換成了大資料體系內(hadoop、hive、sqoop、oozie等)的工具而已。

大資料環境中工具清單:

2、實時計算

就是因為有實時資料處理,所以才會有離線資料處理。相對應的也就有實時數倉和脫機數倉。實時數倉最開始是在日誌資料分析業務中被廣泛使用,後來在各種實時戰報大屏的推動,實時數倉開始應用。

與離線計算相比,實時計算這邊減少了資料落地,替換了資料計算引擎,目前純流式資料處理基本上就只有spark streaming了。storm會丟資料,flink是批流一體的。實時資料計算好結果後,可以落地到各種資料庫中,也可以直接對接到大屏進行展示。

大資料環境下的資料倉儲架構

1、lambda 架構

lambda架構核心就三個:批資料處理層、流資料處理層和服務層。批資料處理層應對歷史長時間資料計算,流資料處理層應對短時間實時資料計算。如果乙個需求要歷史到當前所有資料的累加結果,那就在服務層將兩部分資料進行累加就好了。

因為所有資料都存在kafka,上面接flink批流一體資料處理引擎將kafka的資料計算好存在服務層的table n中。如果需求有變化了,就講kafka的offset調整一下,flink則重啟乙個任務重新計算,存在table n+1中,當n+1的資料進度趕上table n了,就停掉table n的任務。

總結綜上所述,傳統數倉和大資料環境下的數倉還是有很多區別的:

建議傳統資料倉儲工程師的轉型路線:

tez什麼意思 傳統數倉和大資料數倉的區別是什麼?

概念與容器 為什麼先說這個,其實很簡單 因為絕大多數人都把這兩個概念混為一談。然後就會出現各種各樣的問題 oracle不是資料庫麼,怎麼又是資料倉儲?hive不是資料倉儲麼?怎麼又是資料庫?資料倉儲 資料庫是乙個概念,是一些技術的集合。類同於切菜刀法和雕刻刀法 oracel db2 mysql hi...

大資料平台與傳統數倉的區別

基於關聯式資料庫的傳統數倉 基本特點 資料來源 關聯式資料庫 如oracle db2 mysql等 資料倉儲和資料集市 關聯式資料庫或mpp 如teradata vertica greenplum 資料型別 結構化資料 資料規模 gb tb級 資料分析 用sql進行簡單的統計報表分析 資料規模巨大 ...

大資料是什麼意思?就業前景如何?

大資料行業近幾年頻頻出現在人們的視野中,許多高校也相繼開設了與其相關的專業,但大資料究竟是什麼意思呢,我們一起來學習一下吧。1 大資料是什麼意思大資料 big data 是指無法在一定時間範圍內用常規軟體工具進行捕捉 管理和處理的資料集合,是需要新處理模式才能具有更強的決策力 洞察發現力和流程優化能...