tft每日頭條

 > 科技

 > 數據倉庫具有四個特點

數據倉庫具有四個特點

科技 更新时间:2024-07-01 00:49:14

閱讀文本大概需要 3 分鐘。

數據庫我們大家都知道,在平時的 Web 開發中用到的比較多。但是數據倉庫是什麼呢?他倆有啥區别呢?在開始之前先分享一個小故事:

1.

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

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

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

這個故事告訴我們:數據庫和數據倉庫之間的關系。

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

2.

什麼是數據倉庫?

給一個定義?

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

看到這裡你可能還不是很清楚他到底是幹嘛的,但是你得明确一個方向,它是面向決策的。

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

數據倉庫具有四個特點(什麼是數據倉庫)1

那麼,數據倉庫都有什麼特點呢?

1.主題性

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

這裡的主題怎麼來理解呢?比如對于城市,“天氣濕度分析”就是一個主題,對于淘寶,“用戶點擊行為分析”就是一個主題。

2.集成性

數據倉庫中存儲的數據是來源于多個數據源的集成,原始數據來自不同的數據源,存儲方式各不相同。要整合成為最終的數據集合,需要從數據源經過一系列抽取、清洗、轉換的過程。大家從上圖也可以看到,數據來源于 Mysql 、MongoDB、其他第三方數據源。

3.穩定性

數據倉庫中保存的數據是一系列曆史快照,不允許被修改。用戶隻能通過分析工具進行查詢和分析。這裡說明一點,數據倉庫基本上是不許允許用戶進行修改,删除操作的。大多數的場景是用來查詢分析數據。

4.時變性

數據倉庫會定期接收新的集成數據,反應出最新的數據變化。這和特點并不矛盾。注意,這裡與實時性不同。

3.

主流的開源數據倉庫:Hive

數據倉庫具有四個特點(什麼是數據倉庫)2

在大數據應用中,Hive 用的比較多一些,因為啥?免費啊。性能也算可以。至于其他的商業數據數據倉庫,性能要比 Hive 高出很多,但是中小公司沒必要去花大量成本去使用商業數據倉庫了。

這個 Hive 作為數據倉庫,具體做了什麼呢?

一句話:Hive 的主要作用就是講結構化的數據映射為 Hive 數據庫表,并提供 HQL 查詢語句,可以将 HQL 語句轉化為 MapReduce 任務運行。

确切地說,Hive是基于Hadoop的數據倉庫工具,可以對存儲在HDFS上的文件數據集進行查詢和分析處理。Hive對外提供了類似于SQL語言的查詢語言 HiveQL,在做查詢時将HQL語句轉換成MapReduce任務,在Hadoop層進行執行。

數據倉庫具有四個特點(什麼是數據倉庫)3

換一個角度,就是一個不懂編程語言的 DBA 也可以使用 Hive 編寫 HQL 語句進行數據統計。給數據分析帶來跟大的便宜性。

上面出現的名詞解釋:

1.HDFS

Hadoop的分布式文件系統,在這裡作為數據倉庫的存儲層。圖中的Data Node就是HDFS的衆多工作節點。

2.MapReduce

一種針對海量數據的離線分布式并行計算模型,可以簡單理解為對多個數據分片的數據轉換和合并。

3.Hbase

HBase – Hadoop Database,是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統,是一個開源數據庫。利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲集群。

4.

上面是從原理角度講了數據倉庫以及數據倉庫其中一款開源工具 Hive 。

實際中,我們的目的做數據處理。要知道數據處理大緻可以分成兩大類:聯機事務處理OLTP(on-line transaction processing)、聯機分析處理OLAP(On-Line Analytical Processing)。OLTP是傳統的關系型數據庫的主要應用,主要是基本的、日常的事務處理,例如銀行交易。OLAP是數據倉庫系統的主要應用,支持複雜的分析操作,側重決策支持,并且提供直觀易懂的查詢結果。

下圖是兩種數據處理方式的對比,這裡你可以具體到數據庫和數據倉庫的對比。

數據倉庫具有四個特點(什麼是數據倉庫)4

通過兩種對比,可以看出傳統數據庫和數據倉庫分别使用的場景。

要求實時性(秒級以及更快的場景)業務需求,使用的數據庫(OLTP)模型。

整合曆史數據以及大量數據源數據的場景,且不要求響應時間的,使用數據倉庫(OLAP)。

5.

在實際的使用中,Hive 也要結合關系型數據庫進行使用。Hive 運行時,元數據信息是保存在關系中數據庫中,一般使用 Mysql 數據庫存儲。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved