亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

個人經驗總結:數據倉庫的數據存儲和實現

2024-07-21 02:44:06
字體:
來源:轉載
供稿:網友

當面對大量的數據,而且是各種各樣類型的數據,還可能有的數據單元(粒度)很大,單純靠數據庫是不易解決,為了解決這些問題,提高系統后臺的效率,就需要引進數據倉庫。

有關數據倉庫的數據存儲的幾個基本問題:

1、數據存儲的方式?

數據倉庫的數據由兩種存儲方式:一種是存儲在關系數據庫中,另一種是按多維的方式存儲,也就是多維數組。

2、存儲何種數據?

數據倉庫中存在不同的綜合級別的數據。一般把數據分成四個級別,早期細節級數據,當前細節級數據,輕度綜合級,高度綜合級。不同的綜合級別一般稱為粒度。粒度越大,表示細節程度越低,綜合程度越高。級別的劃分是根據粒度進行的。

數據倉庫中還有一種是元數據,也就是關于數據的數據。傳統數據庫中的數據字典或者系統目錄都是元數據,在數據倉庫中 元數據表現為兩種形式:一種是為了從操作型環境向數據倉庫環境轉換而建立的元數據,它包含了數據源的各種屬性以及轉換時的各種屬性;另一種元數據是用來與多維模型和前端工具建立映射用的。

3、粒度與分割

粒度是對數據倉庫中的數據的綜合程度高低的一個衡量。粒度越小,細節程度越高,綜合程度越低,回答查詢的種類越多;反之粒度越大,細節程度越低,綜合程度越高,回答查詢的種類越少。

分割是將數據分散到各自的物理單元中去以便能分別獨立處理,以提高數據處理的效率。數據分割后的數據單元成為分片。數據分割的標準可以根據實際情況來確定,通常可選擇按日期、地域或者業務領域等進行分割,也可以按照多個標準組合分割。

4、追加時數據的組織方式

這里說一種比較簡單的情況,輪轉綜合文件。比如:數據存儲單位被分為日、周、季度、年等幾個級別。每天將數據記錄在日記錄集中;然后七天的數據被綜合存放在周記錄集中,每隔一季度周記錄集中的數據被存放到季度記錄集中,依此類推……這種方法把越早期的記錄存放的綜合程度越高,也就是粒度越大。


B<>數據倉庫的實現步驟:

一般地,設計和創建數據倉庫的步驟是:


1.確定用戶需求

確定終端用戶的需要,為數據倉庫中存儲的數據建立模型。通過數據模型,可以得到企業完整而清晰的描述信息。數據模型是面向主題建立的,同時又為多個面向應用的數據源的集成提供了統一的標準。數據倉庫的數據模型一般包括:企業的各個主題域、主題域之間的聯系、描述主題的碼和屬性組。

深入地分析企業的數據源,記錄數據源系統的功能與處理過程。一般地,設計數據倉庫最重要的一步便是要理解商業動作的規律,只有了解數據是如何被處理的,才能分解商業處理過程,從中獲取數據元素。

利用現有系統的信息,確定從源數據到數據倉庫的數據模型所必須的轉化/綜合邏輯。這涉及到應該合并轉化多少數據;是綜合所有的數據文件還是綜合發生變化的操作系統文件;轉化/綜合過程應該多長時間執行一次等問題。決定數據轉化與更新頻率是重要的商業事件。無論數據倉庫的更新是采用事件驅動還是時間驅動,都必須讓數據倉庫知道當某種事件發生時就需要更新數據。

在數據倉庫建立之前,應該寫一個詳細的方案和實現規劃。這種方案和實現規劃包括:建立商業案例、收集用戶需求、確定技術需求。建立商業案例包括由該方案解決的商業需求、方案的成本和投資的收益。收集用戶需求主要是調查用戶建立數據倉庫的意圖。用戶需求可以確定這些內容:數據需求(粒度級)、企業經營系統包含的數據、這些數據遵循的商業規則、需要提供給用戶的查詢、用戶需要的標準報告、將要使用的客戶應用程序工具。確定技術要求包括下列內容:硬件體系結構和框架(例如,鏈接到數據市場所在的地理位置)、備份和恢復機制、安全性限制、從經營系統到數據倉庫加載數據和轉換數據的方法。


2.設計和建立數據庫

設計和建立數據庫是成功地創建數據倉庫的一個關鍵步驟。這一步通常由有經驗的數據庫設計人員使用,因為這一步涉及的數據來自多種數據源并且要把它們合并成一個單獨的邏輯模型。不象OLTP系統那樣以高度的正規化形式存儲數據,數據倉庫中存儲的數據以一種非常非正規化的形式存儲數據以便提高查詢的性能。數據倉庫常常使用星型模式和雪花型模式來存儲數據,作為OLAP工具管理的合計基礎,以便盡可能快地響應復雜查詢。

星型模式是最流行的實現數據倉庫的設計結構。星型模式通過使用一個包含主題的事實表和多個包含事實的非正規化描述的維度表來執行典型的決策支持查詢。一旦創建了事實表,那么可以使用OLAP工具預先計算常用的訪問信息。星型模式是一種關系型數據庫結構,在該模式的中間是事實表,周圍是次要的表,數據在事實表中維護,維度數據在維度表中維護。每一個維度表通過一個關鍵字直接與事實表關聯。維度是組織數據倉庫數據的分類信息,例如時間、地理位置、組織等等。維度用于父層和子層這類分層結構。例如,地理位置維度可以包含國家、城市等數據。因此,在該維度表中,緯度由所有的國家、所有的城市組成。為了支持這種分層結構,在維度表中需要包括每一個成員與更高層次上緯度的關系。維度關鍵字是用于查詢中心事實表數據的唯一標識符。維度關鍵字就像主鍵一樣,把一個維度表與事實表中的一行鏈接起來。這種結構使得很容易構造復雜的查詢語句并且支持決策支持系統中向下挖掘式的分析。事實表包含了描述商業特定事件的數據。例如銀行業務或者產品銷售。事實表還包含了任何數據合計,例如每一個地區每月的銷售情況。一般地,事實表中的數據是不允許修改的,新數據只是簡單地增加進去。維度表包含了用于參考存儲在事實表中數據的數據,例如產品描述、客戶姓名和地址、供應商信息等。把特征信息和特定的事件分開,可以通過減少在事實表中掃描的數據量提高查詢性能。維度表不包含與事實表同樣多的數據,維度數據可以改變,例如客戶的地址或者電話號碼改變了。

通過降低需要從磁盤讀取數據的數據量,星型模式設計有助于提高查詢性能。查詢語句分析比較小的維度表中的數據來獲取維度關鍵字以便在中心的事實表中索引,可以降低掃描的數據行。

在轉換OLTP數據庫模式到星型模式時,涉及的步驟如下:

確定事實表和維度表

設計事實表

設計維度表

實現數據庫設計

(1)確定事實表和維度表

確認在OLTP系統中現有的表和數據包含了將要用在事實表和維度表中的數據,是非常重要的。如果確認不正確,那么數據倉庫的性能就比較差,在以后可能需要重新設計。重新設計一個可能包含了大量數據的數據倉庫是一項耗費很大的任務。確定事實表和維度表的結構和組成的過程比較難,特別是當涉及多個OLTP系統時。


(2)設計事實表

設計事實表的主要目標是最小化表的大小。事實表是數據庫中最大的表,因為它們包含了基本的商業事務的詳細信息。然而,一定要考慮存儲和維護這些大表的成本。例如,大表的處理時間比較長、備份和恢復的時間比較長、執行查詢的時間也比較長。降低事實表大小的最簡單方法如下:降低列的數量、盡可能地降低每一個列的大小、把歷史數據歸檔到單獨的事實表等。


(3)設計維度表

設計維度表的主要目標是非正規化那么參考事實表的數據到一個單獨的表。最常用的維度數據應該直接參考事實表,而不是通過其他維度表間接參考維度表。這種方法可以最小化表連接的數量,提高系統的性能。


(4)實現數據庫設計

當事實表和維度表設計之后,最后一步是在Microsoft SQL Server中物理地實現數據庫。當創建數據庫時,考慮分區策略,可以使用由SQL Server提供的可以并行處理數據的文件組。當創建用于存儲事實和維度的表時,應該盡可能地考慮數據庫的分區策略,把事實表分別存儲在不同的文件組上。索引可以加速數據倉庫的檢索,應該在每一個維度表的關鍵字列上創建一個索引。


3.提取和加載數據


把經營系統中數據提取出來然后加載到數據倉庫中,隨著復雜性的變化而變化。如果在數據源中的數據和將要出現在數據倉庫中的數據是直接關聯,那么這個進程非常簡單。這個進程也可能非常地復雜,例如數據源的數據駐留在多個異構系統中,并且在加載數據之前需要大量的轉變格式和修改。提取和加載數據的進程如下:

校驗經營系統中的數據

從經營系統中提取數據

凈化數據

把數據轉換和遷移到數據倉庫中

(1)校驗數據

在數據從OLTP系統提取之前,確保數據是完全有效的是非常必要的。應該由商業分析人員在數據源確定是有效的。對數據的任何變化應該在經營系統中改變,而不是在數據倉庫中。校驗數據是非常耗時的,通過寫存儲過程來檢查數據的域完整性來自動化校驗進程。然而,手工校驗數據也是必要的。如果發現了無效的數據,應該盡力找到錯誤發生的原因和更正這些錯誤。


(2)遷移數據

從經營系統中遷移數據一般是在數據拷貝到數據倉庫之前,把數據拷貝到一個中間數據庫中。如果數據需要凈化,那么把數據拷貝到中間數據庫中是必要的。應該在OLTP系統中活動比較低的時候拷貝數據,否則會降低系統的性能。另外,如果該數據倉庫是由來自多個相關經營系統中的數據構成,應該確保數據遷移發生在系統同步的時候。如果經營系統不同步,那么數據倉庫中的數據可能會產生預想不到的錯誤。在Microsoft SQL Server 7中,Microsoft SQL Server Data Transformation Services Import and Export wizards可以用來創建一系列任務,可以把數據從異構經營系統中拷貝到一個運行SQL Server的中間數據庫中。


(3)數據凈化

數據凈化就是使數據達到一致性。在多個經營系統中,可能有相同的數據。例如,一個名稱為ABC CoOperation的公司可能被寫成ABC Co、ABC、ABC Cooperation等。如果這些名稱不一致,那么在查詢的時候就會將這個公司作為兩個不同的公司處理。如果在數據倉庫中的數據生成一致的信息,那么該公司的名稱必須完全一致。

數據凈化可以通過下面幾種方法得到:

在從OLTP系統拷貝到中間數據庫或者數據倉庫時,使用SQL Server的數據轉換服務的數據引入引出向導修改數據

寫一個連接數據源的Microsoft ActiveX腳本或者Visual C++程序,由DTS API程序執行,來凈化數據

例如,在定單系統中,這些數據需要凈化:State(必須總是兩個字符的值)以及PRoductName(必須是產品的完整名稱,不能使用縮寫)。那么,在拷貝數據的進程中,可以使用數據轉換服務的引入引出向導檢查State的值,使其為兩個字符的值,通過寫Visual C++程序可以保證產品的名稱為完整的名稱。一旦數據凈化之后,就可以把數據移動到數據倉庫中。


(4)轉換數據

在數據的遷移進程中,一般地,經常需要把經營數據轉換成一種單獨的格式,以便適應數據倉庫的設計。例如,轉換數據可以包括下列內容:把所有的字母字符轉變成大寫字母;重新計算匯總數據;把單個數據分解成多個數據,例如把格式為nnnn-description的產品代碼分解成單獨的代碼和描述值;把多個數據合并成一個數據,例如把姓和名合成一個數據姓名;把數據從一種表示形式映射成另外一種表示形式。例如把數據(1, 2, 3, 4)轉換成(I, II, III, IV);由于數據已經被凈化了,所以數據轉換進程發生在遷移進程中,這時數據要么從經營數據庫中要么從中間數據庫中拷貝到數據倉庫中。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情在线观看视频| 中文字幕日韩综合av| 欧美一性一乱一交一视频| 91最新在线免费观看| 精品国产一区二区三区久久狼黑人| 国产精品一区二区三| 久久理论片午夜琪琪电影网| 懂色aⅴ精品一区二区三区蜜月| 亚洲自拍另类欧美丝袜| 久久久av一区| 午夜精品久久久久久久白皮肤| zzijzzij亚洲日本成熟少妇| 美女精品久久久| 欧美性猛交xxxx黑人猛交| 久久精品免费电影| 欧日韩在线观看| 亚洲性69xxxbbb| 久久精品免费播放| 亚洲无亚洲人成网站77777| 亚洲精品久久久久久久久久久久久| 亚洲天堂日韩电影| 92国产精品视频| 国产91精品久久久| 亚洲第一免费网站| 国产精品久久久久久久久久| 亚洲午夜久久久影院| 91sa在线看| 欧美性xxxx| 欧美噜噜久久久xxx| 一区二区三区美女xx视频| 成人午夜激情网| 久久国产加勒比精品无码| 最新的欧美黄色| 国产精品揄拍500视频| 美日韩精品免费视频| 久久99视频精品| 97国产suv精品一区二区62| 午夜精品久久久久久久男人的天堂| 亚洲欧美日韩天堂| 欧美激情女人20p| 91色视频在线观看| 91精品在线观看视频| 欧美中文字幕在线观看| 久久久视频精品| 国产精品18久久久久久麻辣| 欧美日韩高清区| 久久人人爽人人爽人人片av高清| 亚洲一区二区三区在线视频| 亚洲免费成人av电影| 亚洲欧美日韩精品久久亚洲区| 久久高清视频免费| 97视频在线观看免费高清完整版在线观看| 91亚洲国产成人久久精品网站| 国产精品入口日韩视频大尺度| 国产精品激情av电影在线观看| www.亚洲免费视频| 国产一区二区视频在线观看| 精品国产乱码久久久久酒店| 欧洲s码亚洲m码精品一区| 欧美日韩成人在线观看| 国产婷婷97碰碰久久人人蜜臀| 欧美日韩国产综合新一区| 亚洲毛片在线观看.| 国产精品国产三级国产aⅴ9色| 一本久久综合亚洲鲁鲁| 国产精品亚洲视频在线观看| 久久久噜噜噜久久中文字免| 91精品国产91久久| 98精品国产高清在线xxxx天堂| 精品久久久久久久大神国产| 国产一区二区日韩精品欧美精品| 欧美精品久久一区二区| 欧美精品在线极品| 欧美丰满老妇厨房牲生活| 亚洲女人被黑人巨大进入| 亚洲午夜精品久久久久久久久久久久| 成人av.网址在线网站| 国内精品美女av在线播放| 91精品久久久久久久久不口人| 国产99视频精品免视看7| 国产手机视频精品| 精品久久久久久久久久久久| 国产精品一区二区久久久| 欧美日韩国产999| 91日韩在线播放| 成人性生交大片免费看视频直播| 高潮白浆女日韩av免费看| 久久综合久中文字幕青草| 91sao在线观看国产| 57pao成人国产永久免费| 国产在线久久久| 中文字幕国产亚洲2019| 亚洲网在线观看| 成人两性免费视频| 色av吧综合网| 在线性视频日韩欧美| 久久九九精品99国产精品| 中文字幕成人在线| 成人国产精品一区二区| 国产精品久久久久久av福利软件| 色哟哟亚洲精品一区二区| 国产精品极品美女在线观看免费| 亚洲欧美激情一区| 久久国产精品影视| 欧洲美女7788成人免费视频| 欧美成aaa人片免费看| 亚洲国产天堂久久国产91| 欧美日韩亚洲高清| 91九色国产社区在线观看| 国产精品第一页在线| 欧美激情在线播放| 久久精品亚洲精品| 成人久久久久爱| 97视频在线观看免费高清完整版在线观看| 久久久久99精品久久久久| 尤物九九久久国产精品的特点| 久久人人爽人人爽人人片av高请| 伊是香蕉大人久久| 亚洲精品电影网在线观看| 久久久电影免费观看完整版| 精品国内产的精品视频在线观看| 日本久久久a级免费| 久久久在线免费观看| 黄色一区二区在线| 久久午夜a级毛片| 在线日韩第一页| 国产在线精品一区免费香蕉| 欧美另类69精品久久久久9999| 亚洲在线www| 中文字幕亚洲在线| 欧美日韩一区二区三区| 亚洲国产精品久久久久秋霞蜜臀| 日韩欧美在线视频免费观看| 亚洲视频在线视频| 精品久久久久久| 欧美交受高潮1| 91情侣偷在线精品国产| 一区二区三区久久精品| 欧美大片在线影院| 亚洲精品v天堂中文字幕| 国产精品999999| 91久久国产精品91久久性色| 国产亚洲在线播放| 一区二区三区四区精品| 日韩欧美在线观看| 久久久久久国产精品三级玉女聊斋| 色青青草原桃花久久综合| 亚洲欧美国产精品| 欧美激情中文字幕乱码免费| 欧美性xxxx| 亚洲成人黄色网址| 91精品久久久久久久久久久久久| 日韩视频亚洲视频| 深夜成人在线观看| 国产精品手机播放| 亚洲最大福利视频网站| 亚洲人成在线观| 欧美高清激情视频| 日韩动漫免费观看电视剧高清| 亚洲欧美国产精品专区久久| 成人激情在线播放| 国产精品电影在线观看| 亚洲福利视频免费观看| 亚洲专区中文字幕|