什麼是聯機分析處理(OLAP)與聯機事務處理(OLTP)

當今的數據處理大體能夠分紅兩大類:聯機事務處理OLTP(On-Line Transaction Processing)、聯機分析處理OLAP(On-Line Analytical Processing)。OLTP是傳統的關係型數據庫的主要應用,主要是基本的、平常的事務處理,例如銀行交易。OLAP是數據倉庫系統的主要應用,支持複雜的分析操做,側重決策支持,而且提供直觀易懂的查詢結果。下表列出了OLTP與OLAP之間的比較。
 前端

聯機分析處理 (OLAP) 的概念最先是由關係數據庫之父E.F.Codd於1993年提出的,他同時提出了關於OLAP的12條準則。OLAP的提出引發了很大的反響,OLAP做爲一類產品同聯機事務處理 (OLTP) 明顯區分開來。數據庫

         OLAP是使分析人員、管理人員或執行人員可以從多角度對信息進行快速、一致、交互地存取,從而得到對數據的更深刻了解的一類軟件技術。OLAP的目標是知足決策支持或者知足在多維環境下特定的查詢和報表需求,它的技術核心是"維"這個概念。

      「維」是人們觀察客觀世界的角度,是一種高層次的類型劃分。「維」通常包含着層次關係,這種層次關係有時會至關複雜。經過把一個實體的多項重要的屬性定義爲多個維(dimension),使用戶能對不一樣維上的數據進行比較。所以OLAP也能夠說是多維數據分析工具的集合。

      OLAP的基本多維分析操做有鑽取(roll up和drill down)、切片(slice)和切塊(dice)、以及旋轉(pivot)、drill across、drill through等。

      ·鑽取是改變維的層次,變換分析的粒度。它包括向上鑽取(roll up)和向下鑽取(drill down)。roll up是在某一維上將低層次的細節數據歸納到高層次的彙總數據,或者減小維數;而drill down則相反,它從彙總數據深刻到細節數據進行觀察或增長新維。
      ·切片和切塊是在一部分維上選定值後,關心度量數據在剩餘維上的分佈。若是剩餘的維只有兩個,則是切片;若是有三個,則是切塊。
      ·旋轉是變換維的方向,即在表格中從新安排維的放置(例如行列互換)。
數組

      OLAP有多種實現方法,根據存儲數據的方式不一樣能夠分爲ROLAP、MOLAP、HOLAP。

      ROLAP表示基於關係數據庫的OLAP實現(Relational OLAP)。以關係數據庫爲核心,以關係型結構進行多維數據的表示和存儲。ROLAP將多維數據庫的多維結構劃分爲兩類表:一類是事實表,用來存儲數據和維關鍵字;另外一類是維表,即對每一個維至少使用一個表來存放維的層次、成員類別等維的描述信息。維表和事實表經過主關鍵字和外關鍵字聯繫在一塊兒,造成了"星型模式"。對於層次複雜的維,爲避免冗餘數據佔用過大的存儲空間,可使用多個表來描述,這種星型模式的擴展稱爲"雪花模式"。

      MOLAP表示基於多維數據組織的OLAP實現(Multidimensional OLAP)。以多維數據組織方式爲核心,也就是說,MOLAP使用多維數組存儲數據。多維數據在存儲中將造成"立方塊(Cube)"的結構,在MOLAP中對"立方塊"的"旋轉"、"切塊"、"切片"是產生多維數據報表的主要技術。

      HOLAP表示基於混合數據組織的OLAP實現(Hybrid OLAP)。如低層是關係型的,高層是多維矩陣型的。這種方式具備更好的靈活性。

      還有其餘的一些實現OLAP的方法,如提供一個專用的SQL Server,對某些存儲模式(如星型、雪片型)提供對SQL查詢的特殊支持。

      OLAP工具是針對特定問題的聯機數據訪問與分析。它經過多維的方式對數據進行分析、查詢和報表。維是人們觀察數據的特定角度。例如,一個企業在考慮產品的銷售狀況時,一般從時間、地區和產品的不一樣角度來深刻觀察產品的銷售狀況。這裏的時間、地區和產品就是維。而這些維的不一樣組合和所考察的度量指標構成的多維數組則是OLAP分析的基礎,可形式化表示爲(維1,維2,……,維n,度量指標),如(地區、時間、產品、銷售額)。多維分析是指對以多維形式組織起來的數據採起切片(Slice)、切塊(Dice)、鑽取(Drill-down和Roll-up)、旋轉(Pivot)等各類分析動做,以求剖析數據,使用戶能從多個角度、多側面地觀察數據庫中的數據,從而深刻理解包含在數據中的信息。

      根據綜合性數據的組織方式的不一樣,目前常見的OLAP主要有基於多維數據庫的MOLAP及基於關係數據庫的ROLAP兩種。MOLAP是以多維的方式組織和存儲數據,ROLAP則利用現有的關係數據庫技術來模擬多維數據。在數據倉庫應用中,OLAP應用通常是數據倉庫應用的前端工具,同時OLAP工具還能夠同數據挖掘工具、統計分析工具配合使用,加強決策分析功能。
安全

 

      聯機事務處理(OLTP)是指利用計算機網絡,將分佈於不一樣地理位置的業務處理計算機設備或網絡與業務管理中心網絡鏈接,以便於在任何一個網絡節點上均可以進行統1、實時的業務處理活動或客戶服務。服務器

     一般在DBMS中,事務是工做的離散單位。例如,一個數據庫事務能夠是修改一個用戶的賬戶平衡或庫存項的寫操做。聯機事務處理系統(OLTP)實時地採集處理與事務相連的數據以及共享數據庫和其它文件的地位的變化。在聯機事務處理中,事務是被當即執行的,這與批處理相反,一批事務被存儲一段時間,而後再被執行。大多數批處理(例如賬目交換)是在夜間進行的。OLTP的結果能夠在這個數據庫中當即得到,這裏假設這些事務能夠完成。聯機事務處理以實時的方式發生。民航定票系統和銀行ATM機是聯機事務處理系統的例子。網絡

      在單一用戶、單一數據庫環境下執行事務是簡單的,這是由於沒有衝突問題或對數據庫間同步的需求。在分佈式環境下,維護多個數據庫的完整性是另一種問題。傳統上,大多數聯機事務處理系統在大型計算機系統上實現,這是因爲它的操做的複雜性,以及須要快速輸入/輸出、禁止和管理的緣由。若是一個事務必須在多個場地進行修改,那麼就須要管理機制來防止重寫數據並提供同步。其它的需求包括具備捲回失效事務的能力、提供安全性特徵,以及若是須要,提供數據恢復的能力。這是經過一個事務處理監督器來處理的。這個監督器保證了事務是徹底完成的或是進行卷回的,於是就能夠保證數據庫狀態的正確性。併發

      在一個分佈式環境下,寫操做常常並行地在多個數據庫服務器上發生。這樣的併發事務處理須要一個「捲回」機制,以保證在一次寫操做中系統失效的狀況下,仍保證數據庫的完整性。事務要麼一塊兒確認,要麼放棄。若是一個或多個與事務有關的系統響應不一致,這意味着系統或通訊可能出現了故障,於是就會放棄一個事務。分佈式

      能夠看出,當多個用戶試圖同時改變數據的同一塊時,就出現了衝突問題。另外,對多個數據庫的寫入操做必須進行同步處理,而且必須保證這個寫入已經確實被全部的數據庫處理完畢了,須要一個監督程序來保證數據的完整性。對在分佈式環境下的事務處理有四種需求,聯合起來稱爲「ACID」。ide

      原子性(Atomicity):定義工做的獨立單元。若是一個事務是分佈的,全部影響分離地點數據的子事務都必須象一個事務那樣被一塊兒執行。爲了保持在多個地點數據的一致性,須要使用下面就將介紹的雙階段承認過程。工具

      一致性(Consistency):一致性基本上是一種數據庫從一個狀態變到同等的另外一個狀態的需求。事務監督器必須檢驗全部被影響的數據都是一致的。

      孤立性(Isolation):事務必須被孤立地執行直到完成,執行期間不受到其它事務的影響。

      持續性(Durability):這個性質是與事務的最終確認一塊兒進行的。一旦一個事務被檢驗爲對全部受影響的系統都是正確的,它就被承認而且再也不須要捲回。

      聯機事務處理在金融、證券、期貨以及信息服務等系統獲得普遍的應用。

      例如金融系統的銀行業務網,經過撥號線、專線、分組交換網和衛星通訊網覆蓋整個國家甚至於全球,能夠實現大範圍的儲蓄業務通存通兌,在任何一個分行、支行進行全國範圍內的資金清算與劃撥。

      在自動提款機網絡上,用戶能夠持信用卡在任何一臺自動提款機上得到提款、存款及轉賬等服務。

      在期貨、證券交易網上,遍及全國的全部會員公司均可以在當地經過計算機進行報價、交易、交割、結算及信息查詢。此外,民航訂售票系統也是典型的聯機事務處理,在全國甚至全球範圍內提供民航機票的預訂和售票服務。

相關文章
相關標籤/搜索