歡迎光臨
每天分享高質量文章

漫畫:什麼是資料倉庫?

來自:程式員小灰(微信號:chengxuyuanxiaohui)

一個故事


在很久很久以前,世界上生活著許多種族,有人類,有矮人,有精靈……他們有著不同的信仰,不同的文化,彼此相安無事。可是,有一個猥瑣男卻偏偏想要統治整個世界。



如何統治這麼多不同文化信仰的種族呢?猥瑣男想出一個餿主意,打造出幾枚擁有魔力的戒指,免費送給不同種族的領袖,讓他們可以更好地統治各自的族人。


當各個種族的領袖美滋滋地戴上各自的魔戒,走上人生巔峰的時候,猥瑣男又打造出一枚獨一無二的至尊魔戒。他利用至尊魔戒的力量控制了所有的魔戒,從而控制了各個種族的領袖,繼而控制了整個世界。

這個故事告訴我們:資料庫和資料倉庫之間的關係。

如果說,那個世界的每一個生命個體都是一條資料記錄,那麼普通的魔戒的地位就好比是資料庫,而至尊魔戒的地位就好比是資料倉庫。

什麼是資料倉庫?


資料倉庫,英文名稱Data Warehouse,簡寫為DW。資料倉庫顧名思義,是一個很大的資料儲存集合,出於企業的分析性報告和決策支持目的而創建,對多樣的業務資料進行篩選與整合。它為企業提供一定的BI(商業智慧)能力,指導業務流程改進、監視時間、成本、質量以及控制。


資料倉庫的輸入方是各種各樣的資料源,最終的輸出用於企業的資料分析、資料挖掘、資料報表等方向。



 



那麼,資料倉庫都有什麼特點呢?


1.主題性

不同於傳統資料庫對應於某一個或多個專案,資料倉庫根據使用者實際需求,將不同資料源的資料在一個較高的抽象層次上做整合,所有資料都圍繞某一主題來組織。

這裡的主題怎麼來理解呢?比如對於滴滴出行,“司機行為分析”就是一個主題,對於鏈家網,“成交分析”就是一個主題。


2.集成性

資料倉庫中儲存的資料是來源於多個資料源的集成,原始資料來自不同的資料源,儲存方式各不相同。要整合成為最終的資料集合,需要從資料源經過一系列抽取、清洗、轉換的過程。


3.穩定性

資料倉庫中儲存的資料是一系列歷史快照,不允許被修改。用戶只能通過分析工具進行查詢和分析。


4.時變性

資料倉庫會定期接收新的集成資料,反應出最新的資料變化。這和特點並不矛盾。





什麼是ETL?

ETL的英文全稱是 Extract-Transform-Load 的縮寫,用來描述將資料從來源遷移到標的的幾個過程:


1.Extract,資料抽取,也就是把資料從資料源讀出來。


2.Transform,資料轉換,把原始資料轉換成期望的格式和維度。如果用在資料倉庫的場景下,Transform也包含資料清洗,清洗掉噪音資料。


3.Load  資料加載,把處理後的資料加載到標的處,比如資料倉庫。


主流的資料倉庫有哪些?

這個Hive又是何方神聖呢?

確切地說,Hive是基於Hadoop的資料倉庫工具,可以對儲存在HDFS上的檔案資料集進行查詢和分析處理。Hive對外提供了類似於SQL語言的查詢語言 HiveQL,在做查詢時將HQL陳述句轉換成MapReduce任務,在Hadoop層進行執行。


這裡有幾個名詞需要解釋:


1.HDFS

Hadoop的分佈式檔案系統,在這裡作為資料倉庫的儲存層。圖中的Data Node就是HDFS的眾多工作節點。


2.MapReduce

一種針對海量資料的並行計算模型,可以簡單理解為對多個資料分片的資料轉換和合併。

關於HDFS和MapReduce的具體知識,這一期暫時不做展開,小灰會在後續的漫畫中詳細介紹。




Teradata資料倉庫配備性能最高、最可靠的大規模並行處理 (MPP) 平臺,能夠高速處理海量資料,其性能遠遠高於Hive。


它使得企業可以專註於業務,無需花費大量精力管理技術,因而可以更加快速地做出明智的決策,實現 ROI(投資回報率) 最大化。






幾點補充:


1.對於大資料方向,小灰也僅僅瞭解皮毛,漫畫中若存在錯誤或是描述不全面的地方,還請大家多多指正補充。


2.關於Teradata,小灰曾經有幸在這裡工作過,雖然不是從事資料倉庫領域。Teradata 的確是一款很強大的商業資料倉庫,對此有興趣的同學,可以百度學習一下具體知識。



—————END—————


系列文章:

漫畫:什麼是一致性哈希?

漫畫:什麼是B+樹?

漫畫:什麼是B-樹?

漫畫:什麼是跳躍表?

漫畫:什麼是動態規劃?

漫畫:當程式猿遇上智力測試題

漫畫:判斷 2 的乘方

漫畫演算法:最小棧的實現

漫畫:什麼是大資料?

漫畫演算法:無序陣列排序後的最大相鄰差值

漫畫:什麼是Bitmap演算法?

漫畫:Bitmap演算法 進階篇

什麼是A*尋路演算法?

漫畫:當程式員遇上智力題(第四季)

漫畫:什麼是Base64演算法?

漫畫:什麼是MD5演算法?

漫畫:如何破解MD5演算法?

漫畫:什麼是SHA系列演算法?

漫畫:什麼是AES演算法?

漫畫:AES演算法的底層原理

漫畫:什麼是紅黑樹?

漫畫:什麼是HashMap?

漫畫:高併發下的HashMap

漫畫:什麼是單例樣式?(整合版)

漫畫:什麼是架構師

漫畫:什麼是大資料?

漫畫:什麼是微服務?

漫畫: 什麼是人工智慧?


●本文編號287,以後想閱讀這篇文章直接輸入287即可

●輸入m獲取文章目錄

推薦↓↓↓

 

大資料與人工智慧

更多推薦18個技術類微信公眾號

涵蓋:程式人生、演算法與資料結構、黑客技術與網絡安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

赞(0)

分享創造快樂