数据仓库经验小结(转)
以主題域規(guī)劃DW
?????? 主題域包含了某方面決策者關(guān)注的事物。一個(gè)主題域通常會(huì)覆蓋多個(gè)業(yè)務(wù)部門(mén),例如產(chǎn)品主題域涉及到銷(xiāo)售、財(cái)務(wù)、物流、采購(gòu)等部門(mén)。
主題域下包括了主題,例如產(chǎn)品主題
域中包括成本、發(fā)運(yùn)、庫(kù)存等主題。
主題域模型是對(duì)業(yè)務(wù)模型的抽象,需要從決策者和管理者的角度反映企業(yè)業(yè)務(wù)模型。決策者不需要了解每個(gè)部門(mén)詳細(xì)的業(yè)務(wù)細(xì)節(jié);銷(xiāo)售部門(mén)的管理者需要知道產(chǎn)品的庫(kù)存和采購(gòu)計(jì)劃以安排銷(xiāo)售,但是他不知道物流部和采購(gòu)部的業(yè)務(wù)流程。因此在整合多業(yè)務(wù)部門(mén)數(shù)據(jù)同時(shí),盡量減少OLTP數(shù)據(jù)庫(kù)中的具體業(yè)務(wù)邏輯,以實(shí)現(xiàn)數(shù)據(jù)交付時(shí)更易于理解、更具效率。
EDW開(kāi)發(fā)
?????? 在開(kāi)發(fā)模式上,一種是逐個(gè)開(kāi)發(fā)多個(gè)數(shù)據(jù)集市,然后將這些數(shù)據(jù)集市合并成數(shù)據(jù)倉(cāng)庫(kù)。這種方法的優(yōu)點(diǎn)是在初期效率高、見(jiàn)效快,但由于這些數(shù)據(jù)集市獨(dú)立運(yùn)作,后期的管理、整合就會(huì)碰到問(wèn)題,最后往往成為一種Hub的形式,多個(gè)數(shù)據(jù)集市支撐著一個(gè)中心數(shù)據(jù)集市。
?????? 另一種開(kāi)發(fā)模式是,先開(kāi)發(fā)統(tǒng)一的數(shù)據(jù)倉(cāng)庫(kù),然后由數(shù)據(jù)倉(cāng)庫(kù)支撐多個(gè)數(shù)據(jù)集市。但這種方式在大型企業(yè)實(shí)施困難,甚至是難以實(shí)現(xiàn)的。
?????? 實(shí)際上比較可行的是平行開(kāi)發(fā),每開(kāi)始著手新的數(shù)據(jù)集市同時(shí),調(diào)整數(shù)據(jù)倉(cāng)庫(kù),將新的內(nèi)容加入到數(shù)據(jù)倉(cāng)庫(kù)中。這種模式需要一定經(jīng)驗(yàn)和對(duì)企業(yè)整體的了解,以便為數(shù)據(jù)倉(cāng)庫(kù)的下一次調(diào)整和擴(kuò)充留下空間和彈性。
?
熟悉Business Applications
企業(yè)中通常會(huì)有多種商業(yè)應(yīng)用程序,比如ERP、OA、CRM、eHR、e-Business、PDM等等,這些BA會(huì)成為數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)源,盡管不同公司的業(yè)務(wù)模式和流程是不同的,但BA的基本概念和數(shù)據(jù)模型是差不多的。雖然已有不少的EAI(Enterprise Applications Integration)工具,但對(duì)ETL開(kāi)發(fā)人員來(lái)說(shuō),了解BA的數(shù)據(jù)模型是非常必要的。如果有機(jī)會(huì)的話,多接觸接觸SAP、Oracle的各種商業(yè)應(yīng)用程序。
?
ETL:性能與質(zhì)量的平衡
ETL過(guò)程最重要的兩點(diǎn):一是效能,二是質(zhì)量。
同樣一個(gè)ETL步驟,可以這樣做:
也可以這樣做:
?
?
前者是重視ETL性能的方法,而后者是重視數(shù)據(jù)質(zhì)量的方法,不同的行業(yè)在ETL過(guò)程中有不同的要求。比如電信行業(yè),其數(shù)據(jù)多由機(jī)器采集,數(shù)據(jù)量巨大,但質(zhì)量好,這時(shí)應(yīng)該采用重視性能的方法;反之,某些企業(yè)存在多種信息系統(tǒng),不同部門(mén)業(yè)務(wù)人員或者企業(yè)外部客戶在這些系統(tǒng)上作業(yè),往往會(huì)產(chǎn)生不規(guī)范的數(shù)據(jù),要保證數(shù)據(jù)質(zhì)量,就要在ETL過(guò)程中,加入大量審核步驟,必然使ETL過(guò)程復(fù)雜化,性能也會(huì)下降。
ETL要在不同的環(huán)境、不同的應(yīng)用中,采用不同的策略,盡量達(dá)到性能與質(zhì)量的平衡。
?
數(shù)據(jù)倉(cāng)庫(kù)優(yōu)化小技巧
1.??? 多重粒度。數(shù)據(jù)倉(cāng)庫(kù)中需要保存最細(xì)粒度的數(shù)據(jù),而在數(shù)據(jù)集市可以保存粗粒度的數(shù)據(jù),這樣的話從數(shù)據(jù)集市中查詢數(shù)據(jù)的性能優(yōu)于數(shù)據(jù)倉(cāng)庫(kù)。
2.??? 分區(qū)。分區(qū)一方面可以利用存儲(chǔ)設(shè)備的硬件性能;另一方面分區(qū)可獨(dú)立管理和備份,降低風(fēng)險(xiǎn)。
3.??? 索引。Oracle的索引表,SQL Server的聚類(lèi)索引決定了數(shù)據(jù)物理存放方式,不同于OLTP數(shù)據(jù)庫(kù),數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)是每日更新的,一般不會(huì)改寫(xiě)歷史數(shù)據(jù)。可以使用日期字段作為數(shù)據(jù)物理存放方式,增強(qiáng)數(shù)據(jù)寫(xiě)入性能。
?
元數(shù)據(jù)管理
?????? 元數(shù)據(jù)的目是讓數(shù)據(jù)更容易理解。其作用有兩方面。
?????? 一方面,IT人員開(kāi)發(fā)好DW,將數(shù)據(jù)交付給用戶時(shí),需要讓用戶知道這些數(shù)據(jù)代表甚麼意思。比如說(shuō),當(dāng)用戶看到產(chǎn)品銷(xiāo)售金額時(shí),可能搞不清這個(gè)金額是開(kāi)出銷(xiāo)售單時(shí)的金額,還是已經(jīng)發(fā)運(yùn)產(chǎn)品的金額,或是應(yīng)收帳回籠的金額。另一方面,IT人員在開(kāi)發(fā)好DW后,過(guò)了一段時(shí)間再回審DW中的數(shù)據(jù)時(shí),可能已經(jīng)忘記這些數(shù)據(jù)來(lái)自何種數(shù)據(jù)源,經(jīng)過(guò)怎樣的ETL過(guò)程到達(dá)DW中;或者是開(kāi)發(fā)人員A完成部分工作,然后將項(xiàng)目移交給另開(kāi)發(fā)人員B時(shí),B可能搞不懂A對(duì)數(shù)據(jù)進(jìn)行了哪些處理和轉(zhuǎn)換。
?????? 元數(shù)據(jù)的實(shí)現(xiàn)一是靠寫(xiě)文檔;二是靠工具,比如ETL工具中的元數(shù)據(jù)管理模塊讓開(kāi)發(fā)人員理解數(shù)據(jù),OLAP數(shù)據(jù)庫(kù)中為字段加入友名和描述,用戶使用BI客戶端連接到OLAP數(shù)據(jù)庫(kù)就能明白數(shù)據(jù)的意思,而不必詢問(wèn)IT人員。
?????? 元數(shù)據(jù)使數(shù)據(jù)更易于理解,前提是元數(shù)據(jù)自身能讓人容易理解。在一個(gè)項(xiàng)目中會(huì)有多種元數(shù)據(jù),比如ETL元數(shù)據(jù)、DW元數(shù)據(jù)、OLAP元數(shù)據(jù)、報(bào)表元數(shù)據(jù)……,最好將這些元數(shù)據(jù)制成文檔統(tǒng)一管理。
轉(zhuǎn)載于:https://www.cnblogs.com/Bany/archive/2011/03/02/1969182.html
總結(jié)
以上是生活随笔為你收集整理的数据仓库经验小结(转)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 你为谁活?
- 下一篇: arcgis开发常用源码