內存計算在DSP中的應用分析
1 內存計算:對海量數據進行實時處理
今天,許多企業已經面臨越來越多的數據要處理,而且對這些數據需要進行實時的分析。為此,SAP一直在重新構想數據倉庫的運行模式,并提出了內存計算的理念。那么什么是內存計算呢,我們不妨從兩個角度來理解。
首先,從計算存儲技術的角度看,由于服務器在處理數據時,CPU首先會從其緩存中找數據,緩存中找不到,再從內存中找,內存里沒有,再從硬盤上讀取。在傳統數據庫查詢中,磁盤訪問時間是一個主要的瓶頸。研究發現,如果讓查詢在讀寫速度快很多倍的內存中進行,而不用訪問物理磁盤,將會大大提升處理性能。試想一下,對于商業智能應用而言,由于數據庫一般都較大,少則幾個GB,多則成百上千個GB,如果把整個數據庫都搬到內存中去運行,又會怎樣呢?
因此,所謂“內存計算”,實質上就是CPU直接從內存而不是硬盤上讀取數據,進行計算、分析,是對傳統數據處理方式的一種加速。內存計算非常適合處理海量的數據,以及需要實時獲得結果的數據,比如可以將一個企業近十年幾乎所有的財務、營銷、市場等各方面的數據一次性地保存在內存里,并在此基礎上進行數據的分析。當企業需要做快速的賬務分析,或要對市場進行分析時,內存計算就能夠快速的按照需求完成。
其次,從應用的角度來看,在商業智能方案中,在線交易處理(OLTP)和在線分析處理(OLAP)是兩種不同的應用,其中OLTP系統需要對發生的業務進行實時記錄,因此要處理的是大量簡單、小規模、同時發生的交易;而OLAP系統是對OLTP提供的數據進行分析,以支持業務決策,因此處理的交易數量相對較少,但更為復雜。使用內存計算的SAP HANA的交易型和分析型引擎能夠同時應對這兩種應用,內存計算技術實際上是把現在交易型的數據庫和分析型的數據庫合并為一個內存數據庫,其結構如下圖所示:

談到SAP HANA的具體應用場景,SAP中國區首席技術官張俠曾對媒體舉過這樣一個例子:航空公司。航空公司的主要特點就是信息量大,且有很多實時信息,一般會有這樣兩個系統:一是客戶相關的系統,里面有各種客戶的信息,如誰是金卡會員,誰希望坐在靠窗或者靠走道的座位,商務旅客與私人休閑旅客的不同偏好等等;另一個是定票系統,定票系統會把每個航班對應的飛機型號、座位數量、飛機維修、天氣等等信息綜合在一起。高速的內存計算技術能夠綜合所有以上這些情況,根據不同場景進行更好的匹配。比如,利用高速分析的能力對航班晚點的情況進行調配,通過分析發現某些型號的飛機可以在某個飛機轉場。這樣就能把天氣等各種影響降至最低,使客戶盡可能坐在他喜歡坐的位置上,并設計好定價策略做到既能滿足客戶的需求,又能為航空公司帶來更好效益。
據了解,SAP BusinessObjects戰略性人力規劃是HANA中的第一款新產品,使企業管理者可以實時模擬相關業務場景,快速分析復雜數據關系并審視被建議的組織結構調整對企業業務產生的影響。企業管理者和人力資源高管可以使用預測性建模功能模擬企業人員總數需怎樣增長、人員配置應如何變化等,這使他們能就人員配置或調整做出基于數據的明智決策,尤其是在企業一項收購行為完成以后或者是當企業要進入一個新市場領域的時期。
2 X86服務器如何滿足內存計算需求
通過上面的分析,我們知道,為優化海量數據實時處理的內存計算模式對于底層服務器提出了更高的要求:CPU夠不夠快?內存夠不夠大?系統夠不夠穩定可靠?實際上,英特爾與SAP早在10多年前就已經開始合作,不斷共同推動IA架構服務器上SAP應用的性能。下面我們就來看看最新的英特爾至強E7又是如何針對SAP HANA進行優化的。

評論