資料倉儲是乙個面向主題的(subject oriented)、整合的(integrate)、相對穩定的(non-volatile)、反映歷史變化(time variant)的資料集合,用於支援管理決策。
資料倉儲是伴隨著企業資訊化發展起來的,在企業資訊化的過程中,隨著資訊化工具的公升級和新工具的應用,資料量變的越來越大,資料格式越來越多,決策要求越來越苛刻,資料倉儲技術也在不停的發展。
資料倉儲的趨勢:資料倉儲的體系結構通常包含四個層次:資料來源、資料儲存和管理、資料服務、資料應用:
資料來源:是資料倉儲的資料**,包括了外部資料、現有業務系統和文件資料等;
資料整合:完成資料的抽取、清洗、轉換和載入任務,資料來源中的資料採用 etl 工具以固定的週期載入到資料倉儲中;
資料儲存和管理:這一層次主要涉及對資料的儲存和管理,包括資料倉儲、資料集市、資料倉儲檢測、執行與維護工具和元資料管理等;
資料服務:為前端工具和應用提供資料服務,可以直接從資料倉儲中獲取資料供前端應用使用,也可以通過 olap 伺服器為前端應用提供更加複雜的資料服務。 olap伺服器提供了不同聚集粒度的多維資料集合,使得應用不需要直接訪問資料倉儲中的底層細節資料,大大減少了資料計算量,提高了查詢響應速度。 olap 伺服器還支援針對多維資料集的上鑽、下探、切片、切塊和旋轉等操作,增強了多維資料分析能力;
資料應用:這一層次直接面向終端使用者,包括資料查詢工具、自由報表工具、資料分析工具、資料探勘工具和各類應用系統。
oltp的全稱是 online transaction processing, oltp主要用傳統的關係型資料庫來進行事務處理。oltp最核心的需求是業務資料的高效快速處理,索引技術、分庫分表等最根本的訴求就是解決此問題。
olap的全稱是 online analytical processing,olap能夠處理和統計大量的資料,不像oltp資料庫需要考慮資料的增刪改查和併發控制等,olap資料一般只需要處理資料查詢請求、資料批量匯入等,因此通過列儲存,列壓縮和點陣圖索引等技術可以大大加快響應請求的速度。
olap支援以多維度的方式分析資料,並且能彈性地提供上捲(roll-up)、下鑽(drill-down)和透視分析(pivot)等操作。
維度建模用於決策制定,並側重於業務如何表示和理解資料。基本的維度模型由維度和度量兩類物件組成。
維度建模嘗試以邏輯、可理解的方式呈現資料,以使得資料的訪問更加直觀。維度設計的重點是簡化資料和加快查詢。
事實表(fact table)
是指儲存事實記錄的表,如系統日誌、銷售記錄等,並且是維度模型中的主表,代表著鍵和度量的集合。事實表的記錄會不斷地動態增長,所以它的體積通常遠大於其他表,通常事實表佔據資料倉儲中90%或更多的空間。
維度表(dimension table),也稱維表或查詢表(lookup table)
,是與事實表相對應的一種表。維度表的目的是將業務含義和上下文。
新增到資料倉儲中的事實表和度量中。緯度表是事實表的入口點,緯度表實現了資料倉儲的業務介面。它們基本上是事實表中鍵引用的查詢表。
常見的緯度表有:日期表(儲存日期對應的周、月、季度等屬性)
使用緯度表的好處如下:
1.減小了事實表的大小;
2.便於緯度的管理和維護,增加、刪除和修改緯度的屬性時,不必對事實表的大量記錄進行改動
3.緯度表可以為多個事實表同時使用,減少重複工作
根據事實表和緯度表的關係,又可以將常見的模型分為星型模型和雪花模型。在設計邏輯型資料的模型的時候,就應考慮資料是按照星型模型還是雪花型模型進行組織。
當所有緯度表都直接連到「事實表」上時,整個圖形就像星星一樣,故將該模型稱為型模型,如圖所示。
星型模型是一種非正規化的結構,多維資料集的每乙個緯度都直接與事實表相連線,不存在漸變緯度,所以資料有一定的冗餘,如在地域緯度表中,存在國家a省b的城市c,以及國家a省b的城市d兩條記錄,那麼國家a省b的資訊分別儲存了兩次,即存在冗餘。
當有乙個或多個緯度沒有直接連線到事實表上,而是通過其它緯度表連線到事實表上時,其**就像多個雪花連線在一起,故城雪花模型,雪花模型是對星型模型的擴充套件,它對星型模型的緯度表進一步層次化,原有的各緯度表可能被擴充套件為小的事實表,形成一些區域性的「層次」區域,這些被分解
的表都連線到緯度表而不是事實表。
將地域表又分解為國家,省份,城市等緯度。它的優點是:通過最大限度的減少資料儲存量以及聯合較小的緯度表來改善查詢效能。雪花型結構去除了資料冗餘。
根據專案經驗,一般建議使用星型模型,因為在實際專案中,往往最關注的是查詢效能問題,至於磁碟空間一般都不是問題。當然,在緯度表數量較大,需要節省儲存空間的情況下,或者業務邏輯比較複雜,必須要體現清晰的層次概念情況下,可以使用雪花型模型
前面有介紹過緯度和度量的概念,這裡再次回顧下這個基本概念
緯度:即觀察資料的角度
緯度是人們觀察資料的特定角度,是考慮問題時的一類屬性。它通常是資料記錄的乙個特徵,如時間、地點等。同時,緯度具有層級概念,可能存在細節程度不同的描述方面,如日期、月份、季度、年份等。
度量:即被聚合(觀察)的統計值,也就是聚合運算的結果
在資料倉儲中,可以在數學上求和的事實屬性稱為度量。例如,可以對度量進行總計、平均、以百分比形式使用等。度量是緯度模型的核心。通常,在單個查詢中檢索數千個或數百萬個事實行,其中對結果集進行數數學方程。
在乙個sql查詢中,group by的屬性通常就是緯度,而其所計算的值則是度量。
緯度的基數(cardinality)指的是該緯度在資料集**現的不同值的個數。例如,」國家「是乙個緯度,有200個不同的值,那麼此緯度的基數是200.通常,乙個緯度的基數為幾十到幾萬,個別緯度如「使用者id」的基數會超過百萬甚至千萬,基礎超過一百萬的緯度通常稱為超過基數緯度(ultra high cardinality,uhc),需要引起設計者的注意。
cube中所有緯度的基數可以體現cube的複雜度,如果乙個cube中有多個超高基數緯度,那麼這個cube膨脹的機率就會很高,在建立cube前對所有緯度的基數做乙個了解,可以幫助設計合理的cube。
大資料倉儲hive初識簡介
hive是facebook實現並開源的用於解決海量結構化日誌的資料統計,是為了解決mapreduce程式設計的不便性以及成本高的問題,可以簡化操作 什麼是hive 處理的資料儲存在hdfs上 底層分析資料的實現是mapreduce 執行程式執行在yarn上 hive是基於hadoop的乙個資料倉儲工...
資料倉儲 資料倉儲部署
1 首先用下面的語句查詢是否有要建立的表空間 hospdw tab 和 hospdw idx 如果沒有,則把d database zyhip改為對應的路徑,有的話直接建立使用者 select tablespace name,file name,round bytes 1024 1024 0 size...
資料倉儲與知識發現(一)初識
這學期學院開設了 資料倉儲與知識發現 這門專業課,作為課程筆記複習鞏固之用,將上課所學記錄在部落格中,同時也希望得到不足之處與指正,作為交流學習。資料倉儲與知識發現 這個標題裡提到 資料 和 知識 兩個概念,那什麼是資料?什麼是知識?data 資料 我們可以輕易得到很多資料,但這些資料對我們來說是沒...