您好,登錄后才能下訂單哦!
本篇文章為大家展示了大數據OLAP系統的概念怎么理解 ,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
OLAP(OnLine Analytical Processing),即聯機分析處理。OLAP對業務數據執行多維分析,并提供復雜計算,趨勢分析和復雜數據建模的能力。它主要用于支持企業決策管理分析,是許多商務智能(BI)應用程序背后的技術。OLAP使最終用戶可以對多個維度的數據進行即席分析,從而獲取他們所需知識,以便更好地制定決策。OLAP技術已被定義為實現“快速訪問共享的多維信息”的能力。
業務其實是一個多維活動。企業通過考慮許多變量來跟蹤其業務活動,在電子表格上跟蹤這些變量時,將它們設置在軸(x和y)上。例如,可以在一年的時間內按月跟蹤銷售額,其中可以在y軸上顯示銷售指標,而在x軸上可以顯示月份。而要分析業務的健康狀況并計劃未來的活動,必須連續跟蹤許多變量組或參數。例如,一個業務至少要考慮以下方面:客戶,地點,期間,銷售人員和產品。這些維度構成了公司計劃,分析和報告活動的基礎。它們共同代表了“整個”業務狀況,為所有業務計劃、分析和報告活動奠定了基礎。
OLAP這個名詞最早是在1993年,由被稱為“關系數據庫之父”的Edgar F. Codd在他的白皮書《Providing OLAP to User-Analysts: An IT Mandate》中首次提出的。在這個白皮書中,他為OLAP產品建立了12條評估規則:
Multidimensional Conceptual View(多維概念視圖):在用戶分析師看來,企業天然是多維的。例如,可以按地區,產品,時間段或方案(例如實際,預算或預測)查看利潤。多維數據模型使用戶能夠更直接,更直觀地處理數據,包括“分片和分塊”。
Transparency(透明性準則):OLAP應該是開放系統體系結構的一部分,該體系結構可以嵌入到用戶期望的任何位置,而不會影響宿主工具的功能。不應把OLAP工具的數據源暴露給用戶,數據源可能是同構的或異構的。
Accessibility(存取能力推測):OLAP工具應該能夠應用自己的邏輯結構來訪問異構數據源,并執行向用戶呈現連貫視圖所需的任何轉換。工具(而不是用戶)應關注物理數據的來源。
Consistent Reporting Performance(穩定的報表性能):隨著維度數量的增加,OLAP工具的性能不會受到顯著影響。
Client-Server Architecture(客戶/服務器架構):OLAP工具的服務器組件應該足夠智能,各種客戶端可以輕松地連接它。服務器應該能夠在不同的數據庫之間映射和合并數據。
Generic Dimensionalityc(維的等同性準則):每個數據維度的結構和操作能力都應相同。
Dynamic Sparse Matrix Handling(動態的稀疏矩陣處理準則):OLAP服務器的物理結構應具有最佳的稀疏矩陣處理。
Multi-User Support(多用戶支持能力準則):OLAP工具必須提供并發檢索和更新訪問,完整性和安全性。
Unrestricted Cross-dimensional Operations(非受限的跨維操作):計算設施必須允許跨任意數量的數據維度進行計算和數據處理,并且不得限制數據單元之間的任何關系。
Intuitive Data Manipulation(直觀的數據操作):合并路徑中固有的數據操作,例如向下鉆取或縮小,應通過對分析模型單元的直接操作來完成,而不需要使用菜單或跨用戶界面多次行程。
Flexible Reporting(靈活的報告生成):報告工具應以用戶想要查看的任何方式顯示信息。
Unlimited Dimensions and Aggregation Levels(不受限的維度和聚合層次)。
雖然OLAP的概念是在1993年才提出來的,但是支持OLAP相關產品的發展歷史,最早可追溯到1975年:
第一款OLAP產品Express于1975年問世,隨著被Oracle收購后繁榮發展了30余年,最后由繼任者Oracle 9i替代。
1979年,第一個電子表格應用程序VisiCalc投放市場。VisiCalc具有當今大多數電子表格應用程序中標準的基本行和列結構。
1982年,Comshare開發了一種新的決策支持系統軟件(System W),這是第一個金融領域的OLAP工具,也是第一個在其多維建模中應用hypercube方法的工具。
1983年,IBM推出了Lotus 1-2-3。它的結構類似于Visicalc,并迅速取代了Visicalc。Lotus 1-2-3成為Windows之前的主流電子表格應用程序。
1984年,第一款ROLAP產品Metaphor發布。該多維產品建立了新概念,例如客戶/服務器計算,關系數據的多維處理,工作組處理,面向對象的開發等。
1985年,Excel 1.0誕生。微軟在Excel中集成了數據透視表功能可能是Excel產品最重要的增強功能之一,因為數據透視表已成為多維分析中最流行和使用最廣泛的工具。
1989年,SQL語言標準誕生,它可以從關系數據庫中提取和處理業務數據。這可能是個轉折點。在1980‘s年代,電子表格在OLAP應用中占絕對主導地位;而1990’s年代以后,越來越多的基于數據庫的OLAP應用開始出現:
1992年:Hyperion Solution發布Essbase(擴展電子表格數據庫),在1997年成為市場上主要的OLAP服務器產品。
1997年:PARIS Technologies推出PowerOLAP:集成電子表格和事務數據庫,以便在電子表格應用程序(例如Excel)中即時更新數據。
1999年:Microsoft OLAP服務發布,并于2000年成為Microsoft Analysis Services
2012年:PARIS Technologies發布了OLATION,它將關系和多維數據庫技術(在SQL Server,SAP HANA,Oracle等中)融合在一起,確保對實際數據和計劃數據進行“真正的在線”數據更新。
維度(Dimension):維度是描述與業務主題相關的一組屬性,單個屬性或屬性集合可以構成一個維。如時間、地理位置、年齡和性別等都是維度。
維的層次(Level of Dimension):一個維往往可以具有多個層次,例如時間維度分為年、季度、月和日等層次,地區維可以是國家、地區、省、市等層次。這里的層次表示數據細化程度,對應概念分層。后面介紹的上卷操作就是由低層概念映射到高層概念。概念分層除了可以根據概念的全序和偏序關系確定外,還可以通過對數據進行離散化和分組實現。
維的成員(Member of Dimension):若維是多層次的,則不同的層次的取值構成一個維成員。部分維層次同樣可以構成維成員,例如“某年某季度”、“某季某月”等都可以是時間維的成員。
度量(Measure):表示事實在某一個維成員上的取值。例如開發部門漢族男性有39人,就表示在部門、民族、性別三個維度上,企業人數的事實度量。
OLAP的操作是以查詢——也就是數據庫的SELECT操作為主,但是查詢可以很復雜,比如基于關系數據庫的查詢可以多表關聯,可以使用COUNT、SUM、AVG等聚合函數。OLAP正是基于多維模型定義了一些常見的面向分析的操作類型是這些操作顯得更加直觀。
OLAP的多維分析操作包括:鉆取(Drill-down)、上卷(Roll-up)、切片(Slice)、切塊(Dice)以及旋轉(Pivot)**,下面還是以數據立方體為例來逐一解釋下:
鉆取(Drill-down):在維的不同層次間的變化,從上層降到下一層,或者說是將匯總數據拆分到更細節的數據,比如通過對2010年第二季度的總銷售數據進行鉆取來查看2010年第二季度4、5、6每個月的消費數據,如上圖;當然也可以鉆取浙江省來查看杭州市、寧波市、溫州市……這些城市的銷售數據。
上卷(Roll-up):鉆取的逆操作,即從細粒度數據向高層的聚合,如將江蘇省、上海市和浙江省的銷售數據進行匯總來查看江浙滬地區的銷售數據,如上圖。
切片(Slice):選擇維中特定的值進行分析,比如只選擇電子產品的銷售數據,或者2010年第二季度的數據。
切塊(Dice):選擇維中特定區間的數據或者某批特定值進行分析,比如選擇2010年第一季度到2010年第二季度的銷售數據,或者是電子產品和日用品的銷售數據。
旋轉(Pivot):即維的位置的互換,就像是二維表的行列轉換,如圖中通過旋轉實現產品維和地域維的互換。
按數據存儲方式分類,可分為MOLAP、ROLAP、HOLAP。
MOLAP是OLAP的經典形式。MOLAP將數據存儲在優化的多維數組中,而不是關系數據庫中。維的屬性值被映射成多維數組的下標值或下標的范圍,而度量數據作為多維數組的值存儲在數組的單元中。由于MOLAP采用了新的存儲結構,從物理層實現,因此又稱為物理OLAP(PhysicalOLAP);而 ROLAP主要通過一些軟件工具或中間軟件實現,物理層仍采用關系數據庫的存儲結構,因此稱為虛擬OLAP(VirtualOLAP)。
一些MOLAP工具要求對數據進行預計算和存儲,這樣的MOLAP工具通常利用被稱為“數據立方體”的預先計算的數據集。數據立方體包含給定范圍的問題的所有可能答案。因此,它們對查詢的響應非常快。另一方面,根據預計算的程度,更新可能需要很長時間。預計算也可能導致所謂的數據爆炸。
ROLAP將分析用的多維數據存儲在關系數據庫中。這種方式依賴SQL語言實現傳統OLAP的切片和切塊功能,本質上,切片和切塊等動作都等同于在SQL語句中添加“ WHERE”子句。ROLAP工具不使用預先計算的多維數據集,而是對標準關系數據庫及其表進行查詢,以獲取回答問題所需的數據。ROLAP工具具有詢問任何問題的能力,因為該方法(SQL)不僅限于多維數據集的內容。
盡管ROLAP使用關系數據庫作為底層存儲,但這些數據庫一般要針對ROLAP進行相應優化,比如并行存儲、并行查詢、并行數據管理、基于成本的查詢優化、位圖索引、SQL的OLAP擴展(cube,rollup)等等。專為OLTP設計的數據庫不能像ROLAP數據庫一樣正常工作。
由于MOLAP和ROLAP有著各自的優點和缺點,且它們的結構迥然不同,這給分析人員設計OLAP結構提出了難題。為此一個新的OLAP 結構——混合型OLAP(HOLAP)被提出,這種工具通過允許同時使用多維數據庫(MDDB)和關系數據庫(RDBMS)作為數據存儲來彌合這兩種產品的技術差距。它允許模型設計者決定將哪些數據存儲在MDDB中,哪些存儲在RDBMS中, 例如,將大量詳單數據存儲在關系表中,而預先計算的聚合數據存儲在多維數據集中。目前整個行業對于“混合OLAP”的還沒有達成明確的共識。
兩者設計的目標是完全不同的:
OLTP(On-Line Transaction Processing),聯機事務處理,一般用于業務系統。OLTP對事務性處理的要求非常高,一般都是高可用的在線系統,主要基于傳統的關系型數據庫。其上的應用,一般以小的事務以及小的查詢為主。評估其系統的時候,一般看其每秒執行的Transaction以及SQL的數量。在這樣的系統中,單個數據庫每秒處理的Transaction(增、刪、改)往往達到幾百上千個,Select查詢語句的執行量每秒幾千甚至幾萬個。典型的OLTP系統有電子商務系統、銀行交易系統、證券交易系統等。
OLAP,一般用于分析系統。其上的應用,一般以大數據量的查詢為主,修改和刪除的操作較少。在這樣的系統中,SQL語句的執行量不是考核指標,因為一條語句的執行時間可能會很長,讀取的數據也非常多。所以,評估其系統的時候,往往是看系統的吞吐量、復雜查詢響應時間、數據裝載性能等。
二者詳細對比如下:
數據倉庫的建模方式有多種:
ER模型(實體-關系模型)
Data Vault模型
Anchor模型
維度模型
前面三種模型主要致力將各個業務系統中的數據整合到統一的數據倉庫中,并進行一致性處理,提供滿足第三范式或更高范式的數據模型和原子數據。這種數據倉庫被稱為CIF(Corporate Information Factory,企業信息工廠)架構下的企業數據倉庫。這種數據倉庫架構是數據倉庫之父Inmon所推崇的。但由于使用了規范化模型,這使得對這些原子數據進行查詢變得很困難,這種架構并不能很好地直接用于支撐分析決策。為了更好的支持分析,在這種架構下,通常需要在數據倉庫的基礎上,按主題建立一些數據子集,也就是數據集市。這些數據集市通常采用維度模型,OLAP工具就可以基于數據集市而工作。數據集市通常就是基于OLAP系統而構建。
第四種模型(維度模型)是另一位數據倉庫領域的大師Kimball提出的,是目前數據倉庫領域最流行的建模方式。維度模型可以很好地支撐分析決策需求,同時還有較好的大規模復雜查詢的響應性能。維度模型可以直接使用OLAP工具與其對接。Kimball所推崇的數據倉庫架構如下,基于這種架構建立的數據倉庫,可以直接提供OLAP能力。這樣建立的數據倉庫本身也就成為了一個OLAP系統。
BI是Business Intelligence的英文縮寫,中文解釋為商務智能,是利用數據提高決策質量的技術集合,是從大量的數據中鉆取信息與知識的過程。OLAP和BI常常在一起出現,OLAP是BI工具的一種底層技術。BI工具通常可以對接OLAP系統,但不限于此,也可以直接與其他數據庫、存儲系統對接。
Ad hoc是一個拉丁文常用短語,意思是“特設的、特定目的的(地)、臨時的、專案的”。即席查詢(Ad Hoc Queries)是指用戶根據自己的需求動態創建的查詢,與預定義查詢相反。
即席查詢對數據模型沒有要求,只要能提供動態查詢的能力即可;而OLAP系統,一般要求數據模型是多維數據模型。對于ROLAP系統,通常都能提供即席查詢能力,二者之間差別很小,所以經常混用。
上述內容就是大數據OLAP系統的概念怎么理解 ,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。