DW2.0下一代資料倉儲架構_第15章 DW2.0和效能(讀書筆記)

thamsyangsw發表於2014-10-24

版權宣告:該系列文章(DW2.0下一代資料倉儲架構)內容系作者學習用筆記,
                 歡迎共同學習,所載內容版權歸原書作(譯)者所有,請勿轉載商用。               

    好的效能對於一個有效的DW2.0資料倉儲至關重要,並且在整個DW2.0環境中都很有必要。
    在DW2.0中,有很多適用的效能。互動區有線上響應效能或者OLTP效能,OLTP是以秒來度量的。在整合區有分析效能,對於
不同的分析活動,相應時間可能以秒或者分鐘來度量。在歸檔區,相應時間則是以天來度量的。相應時間是相對的。響應時間的
度量單位和期望值隨著人物的內容和地點不同而不同。但是在整個DW2.0環境下響應時間都是很重要的。

線上響應時間
    線上響應時間的正常期望值是2-3秒,通常又常被稱為實時響應時間,它是在互動區中完成的。
    線上響應時間:從使用者按下向計算機傳送事務的鍵開始到返回使用者的第一個響應之間的時間。
    線上響應過程:
    1、事務被傳輸至網路,到應用系統;
    2、事務在系統佇列中等待,直到執行該事務的系統資源可用;
    3、應用伺服器處理事務的應用部分;
    4、應用伺服器呼叫DBMS完成資料的操作;
    5、事務執行完成,離開應用;
    6、結果透過網路傳輸至使用者;
    為了達到好的響應時間,這些操作必須在幾秒之內完成。
    影響事務效能的因素包括:
    1、冗長的活動,比如網路傳輸;
    2、資料庫的輸入和輸出;
    3、在佇列或其他地方的等待;
    4、事務本身大的的任務量;

分析響應時間
    分析響應時間問題涉及到整合區、歸檔區,偶爾也和近線區相關。分析響應時間的期望值一般在10秒和一小時之間。
    分析環境相較於事務處理環境:
    1、做出的決策的戰略性要強於戰術性;
    2、分析型處理所需的資料量要遠多於事務型處理所需的資料量;
    3、在整天中可預知的資料流動相對較少;

資料的流動
    整個系統中的資料流大體和事務處理中所描述的相同。兩者資料流關鍵的不同在於:
    1、分析性處理所需的資料量要顯著多於事務型處理所需的資料量。收集大量的資料用於分析需要大量的資料輸入和輸出,而
       這樣的輸入和輸出操作會明顯減慢計算機的速度。
    2、分析型事務的排隊等待時間取決於在佇列中等待被執行的其他分析活動。對於分析活動,在佇列中的時間是不可預知的,
       並且時間會很長。
    因此對於分析活動,響應時間一般相較於事務型的事務不可預知。

    當事務型處理的效能變差時,將會在公司於客戶互動的地方隊公司的業務產生影響,如佇列等待。真正對事務響應時間產生
消極影響的不是已給事務的執行,而是等待佇列中等待執行的事務的積累效應。事務處理效能較差以及長時間的佇列等待時間所
帶來的最壞的問題就是這種影響已經被公司的使用者直接感知。
    在分析型環境中,低下的效能表現同樣也會產生消極影響,它影響分析者為管理層準備訊息的效率。

啟發式處理
    分析型事務較差的效能對於分析團隊的消極影響主要是因為分析型處理的實現方式是啟發式進行的。這種方式使得分析活動
幾乎沒有任何計劃安排。因為啟發式分析中的每個步驟都需要完全依賴上一步驟的完成效果。所以,在啟發式處理時,分析過程
是沒有組織、沒有計劃路徑。

分析的生產率和響應時間
    啟發式分析完成的速率完全取決於分析型處理完成的快慢。分析型處理完成的越快,就能越快的得到最終結果。
    事務處理效能差可以直接被公司的顧客直接感受到;而分析型事務效能差會在公司內部本分析人員感受到,對於公司而言,事務型
響應時間差在短期內更具有破壞性。

上面分析了資料倉儲的事務型響應時間和分析型響應時間差對公司的影響,下面注重講如何提高DW2.0資料倉儲的響應時間

一、索引
    針對資料倉儲效能的一個最簡單的設計方法是建立索引。如果建立了索引,系統就不用為了定位和獲取所需資訊而對所有資料進行
順序查詢。
    對於已經建立了索引的資料庫,當一個人在資料庫中查詢某些資料記錄時,它首先會查閱索引。如果在索引中可以直接查詢到
對應的資料資訊,就可以直接訪問它,這樣就極大地減少了資料庫的訪問時間。
    對資料庫中的所有資料建立索引是件好事,但是這是由代價的,索引需要空間,並且當資料庫的資料在不斷更新,維護索引的代價也
相當大。因此索引的建立也要折中。

二、移除休眠資料
    休眠資料是指那些不再被訪問或者訪問機率很低的資料,它由於妨礙整個系統的執行而嚴重影響系統效能。
    每個計算機系統都有一定量的休眠資料,只有在存在非常大量的休眠資料時,系統的效能才會收到損壞。
    把休眠資料從資料倉儲環境中移除是一個不從的手段。雖然移除休眠資料對互動區已經是很可行的,但與整合區更是非常相關。

三、終端使用者培訓
    在終端使用者開始使用資料倉儲之前要對他們進行培訓,告訴使用者:
    1、資料庫中有什麼資料,這些資料的結構和格式又是怎樣的?
    2、怎麼建立高效的資料查詢?
    終端使用者培訓在整個DW2.0環境下都是適用的,尤其是在整合區和歸檔區。

四、監控環境
    很多人都沒有對重要的資料庫和技術基礎設施進行監控,當問題放生時,效能監控是一個極好的用於檢測和診斷問題的工具,而
當問題不能診斷時,必要的補救措施也只是猜測。與DW2.0環境相關的監控:互動區的事務監控和整合區的資料倉儲監控。事務監控
監測事務處理的速度,事務處理中所用的資源和事務在等待佇列中等待的時間。資料倉儲監控檢視休眠資料以及使用者正在訪問的資料。

五、容量規劃
    容量規劃的目的是主動預測可能出現系統效能變差的時間,這樣就可以在其發生之前採取補救措施。如果沒有容量規劃,直到
容量耗盡前系統效能可能一直很好,但是一旦資源耗盡,由於獲得新裝置以及技術升級不可能很快完成,整個組織都要遭受損失,直到
獲取並實現了更大的容量。
    雖然容量規劃在整個DW2.0環境下都很重要,但與互動區尤為相關。
    容量規劃涉及軟硬體很多方面的升級
    硬體:
    1、更大的主存
    2、更大的快取
    3、更快的內部速度
    4、儲存管理的並行化
    5、額外的資料儲存
    軟體:
    1、更新更快的作業系統的支援
    2、並行軟體的支援
    3、最新軟體的軟體新特性的支援

六、後設資料
    一個可靠的後設資料基礎結構是好的資料倉儲效能必不可少的組成部分。後設資料和效能之間也許沒有明顯的關係,單事實上後設資料
和系統效能有著實際且積極的聯絡。後設資料是可重用性的關鍵。從後設資料中可以清楚的直到那些分析已經完成,避免重複的分析。
 
七、批處理的並行
    處理過程的並行化是一個真正提高效能的好方法。並行處理一個作業會減少完成該作業所需的時間,這種減少是與處理器的數量成比例。
必須注意的是,雖然很多作業時可以被並行處理,但是有些作業時不能夠並行處理的。作業的並行化最為提高效能的一種方法被應用於
整個DW2.0環境。

    事務處理的並行,當事務處理中發生並行時,事務被合併且集中管理,但是資料和用來操作處理的處理能力是分開管理的,這種型別的
作業系統被稱為“無共享環境”,在這種無共享環境中,每個處理器擁有並且管理資料自己的資料,每個事務被完全和其他事務的執行分開
,這樣就產生了極高的吞吐率。

八、工作負荷的管理
    事務的型別,大小,共享相同處理程式的事務數量都對整個資料倉儲所能達到的速度有直接的影響。互動區只允許少量的事務,因此速
度更快,整合區允許不同大小的事務混合在一起,一般期望得到一個綜合響應時間。在歸檔區事務一般都很大,響應時間效能較差。從戰略
的角度來看,資料朝向資料集市移動極大地提高資料倉儲的效能。

九、資料集市
    資料集市是用於滿足一組使用者的分析需求的資料集合。一般情況下,資料集市是依據不同的組織建立起來的。資料集市一般適用於適用
於適用相同的方法檢視資料。透過建立一個資料集市,分析處理就從一個環境轉移到下一個環境。即當資料集市被建立後,針對DW2.0環境的
處理的資料就會減少,其中的一些處理就轉移到資料集市。把資料集市中的處理轉移到幾個物理上相互分離的處理器可以顯著減少公司資料
倉庫中處理成本。資料集市幾乎應用於DW2.0的整合區。

十、探索工具
    探索工具以和資料集市非常相似的方式來提高DW2.0的效能。

十一、將事務分為不同的類
   將事務分為不同的類是提高資料倉儲效能的另外一個號方法。一個組織如何決定一個事務將會是快還是慢?通常,事務需要訪問的資料
越多,速度就會越慢。如果事務將訪問整個資料倉儲,那麼速度將會非常慢,而如果事務只訪問一部分資料,通常需要較短的時間。

十二、服務標準協議
    一旦事務的執行速度被確定後,管理該事務執行的一種方法就是建立所謂的“服務標準協議”。“服務標準協議”是對於服務的所
期望的標準的一種宣告。一般情況下,“服務標準協議”是針對事務響應時間和系統可用性的。DW2.0不同的部分有著不同的服務標準協議
例如:互動區有OLTP的響應時間;整合區有多個標準,對於近線區,有資料傳輸的服務標準協議。這樣就有一套可度量的操作引數來概括
終端使用者對於效能和可用性的期望值。服務標準協議定義了IT組織和終端使用者之間的操作邊界。

十三、保護互動區
    直到確定資料不會被訪問之前,互動區的資料不會被移動到整合區。如果過早移入到整合區,對於資料的請求會被轉移到整合區,
而整合區的線上響應時間是不能保障的,這樣在整合區尋找資料會消耗更長的時間,因此如果還有訪問互動區資料的可能,就應該把這些
資料保留在互動區。

十四、資料分割
    資料分割需要在儲存資料時,將資料在物理上分割為多個離散的部分。資料分割保證了不同的資料集可以分開處理,這樣極大地增強了
資料的靈活性。分割方法使用於DW2.0環境下任何儲存著大量資料的部分。

十五、選擇合適的硬體
    在DW2.0環境下,選擇合適的軟硬體對效能有很大的影響。

十六、區分“農民”和“探索者”
    基於資料不同的使用方式來區分處理工作也是最佳化效能的一個方法。“農民”是指從事的分析活動有著規律性和可預見性的終端使用者。
他們在開始查詢資料之前就知道他們想得到什麼。而探索者的活動則很難預測,探測者可能在6個月之內不會做任何分析活動,但突然在一週
之內需要做大量的分析型處理,他們在開始之前並不確切地知道他們想要什麼。農民和探索者都是DW2.0的合法使用者,他們都應該得到資源,
並且都為公司的決策過程做出了頗有價值的貢獻。但是需要區分這兩者是因為這兩種型別的資料倉儲使用者進行分析活動是完全不同的,當
將這兩種不同型別的使用者群體的分析活動分開時,整個資料倉儲環境的效能就提高了。

十七、資料的物理分組
    為提高資料倉儲效能,另一個應該完成的基本活動是:當大多數使用者對資料進行分組使用時,將這些資料在物理上也進行分組。如果
分析者認為95%的情況下這些資料都是一起被訪問的,那對於資料庫設計者來說,將這些資料已其最常見的訪問方式物理地組合起來就很有
意義,以這種方式將資料組合起來,系統就可以有效的獲取資料。像這樣根據資料被訪問和使用的形式來組合資料被認為是資料的非正規化
。通常,資料的非正規化對於公司資料倉儲來說並不是好的資料架構,不推薦使用,除非確定一個極其有必要的、一致的和持久的資料子集
訪問方式。

十八、檢查自動產生的程式碼
    檢查由分析工具產生的程式碼是提高資料倉儲效能一個好的實踐。我們 通常假設分析工具可以並總是自動產生高效且有用的程式碼,
但這並不是一個安全的假設,因為分析工具經常產生低效的程式碼。因此,對於分析者來說有必要確保正在產生的程式碼的效率至少是符合最低
要求的。

    企業使用者的職責是,在系統效能出現效能衰退時通知系統管理員,通常會有服務標準協議,,它能夠加強和檢索企業永使用者和系統管理員之間的對話。企業使用者很少參與對效能的補救工

作,關注DW2.0環境內部出現的問題是系統管理員的職責。有時,企業使用者會要求一個新
級別的效能。只要企業使用者願意 為效能埋單,就確實可以提升效能的級別。


總結:效能問題是整個DW2.0環境必不可少的特徵。有兩種型別的效能--事務型和分析型。當事務型處理的效能出現問題時,公司的操作型
活動會受到影響,而當分析型處理出現效能問題是,公司的分析能力受到影響。良好的效能是多方面共同作用的結果,包括但不侷限於:
    選擇合適的索引
    移除休眠資料
    培訓終端使用者怎麼識別好的和差的程式碼
    監控事務和資料倉儲環境,以便當效能變差時,可以有一個用於判斷到底出現什麼錯誤的起點
    規劃容量以便組織可以預見資源將被用完
    升級、保證正在使用的是最細版本的硬體和軟體
    後設資料,以便利用重用性,最小化所需的工作量
    批處理,減少消耗的時間
    事務並行,有效地處理大的工作負荷量
    工作負荷量管理,保證一項工作不會因為太小而和其他工作衝突。
    資料集市,完成從中央資料倉儲中轉出主要的分析性處理
    探索工具,將統計性處理移動到其他的位置進行
    基於事務所要使用的資源將事務分成不同的類
    服務標準協議,建立量化的指標來衡量效能
    保護互動區來最小化資源的爭奪
    選擇合適的硬體和軟體來實行效能
    區別農民和探索者的工作
    非正規化資料,將經常會被同時訪問的資料物理地放在一起
    檢查由工具(如商業智慧工作)自動產生的程式碼

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26613085/viewspace-1309063/,如需轉載,請註明出處,否則將追究法律責任。

相關文章