SAP HANA 的三大特點: 第一:加速數(shù)據(jù)的訪問。 1.把數(shù)據(jù)保存在內(nèi)存中,(Using main memory as the data store)通過下圖我們可以看到內(nèi)存的訪問速度比磁盤快1,000,000倍,傳統(tǒng)磁盤讀取是5毫秒,內(nèi)存讀取是5納秒。比SSD和閃存快1000倍。雖然寄存器和Cache的讀取數(shù)據(jù)的速度比內(nèi)存快,但在實際的數(shù)據(jù)處理中它們的使用是有限的。 根據(jù)計算機組成原理我們知道數(shù)據(jù)是從 磁盤----> 通過數(shù)據(jù)總線和控制器(RAID,I/O hub等)--->內(nèi)存--->CPU Cache --->CPU進(jìn)行數(shù)據(jù)處理(CPU寄存器)。 內(nèi)存是直接與CPU cache進(jìn)行數(shù)據(jù)傳輸?shù)模瑪?shù)據(jù)傳輸速度遠(yuǎn)遠(yuǎn)大于磁盤。所以與數(shù)據(jù)保存在磁盤中相比,數(shù)據(jù)保存在內(nèi)存中可以大大的提高數(shù)據(jù)庫在存取數(shù)據(jù)的時間的性能優(yōu)勢。在傳統(tǒng)的數(shù)據(jù)庫中。由于內(nèi)存存儲的數(shù)據(jù)有易失性,系統(tǒng)掉電或者是重啟內(nèi)存中的數(shù)據(jù)就會丟失,針對這個SAP HAHA有一個后臺的異步進(jìn)程savepoint(Data persistence)定時的把內(nèi)存數(shù)據(jù)存儲到磁盤中。把數(shù)據(jù)存儲在內(nèi)存中解決的傳統(tǒng)數(shù)據(jù)庫在磁盤I/O讀取的性能瓶頸,但是在出現(xiàn)了新的性能瓶頸是把內(nèi)存中的數(shù)據(jù)加載到CPU Cache中,SAP HANA采取多處理器并發(fā)處理。 數(shù)據(jù)持久化(Data persistence) 2.硬件方面:服務(wù)器采用多核架構(gòu)(每個刀片8 x 8 核心 CPU)多刀片大規(guī)模并行擴(kuò)展,刀片服務(wù)器價格低廉,采用64 位地址空間 — 單臺服務(wù)器容量為2 TB ,100 GB / 秒數(shù)據(jù)吞吐量,價格迅速下降,性能迅速提升。 3.軟件方面:數(shù)據(jù)存儲可以選擇行存儲或者是列存儲,同時對數(shù)據(jù)進(jìn)行壓縮。
第二:把數(shù)據(jù)分開處理。 內(nèi)存本地化:把大數(shù)據(jù)量和計算量分散到不同處理器
![]() 并行處理:不同的服務(wù)器之間也共享同一組數(shù)據(jù)
![]() 容災(zāi)性:單一的服務(wù)器的DOWN機將不影響任何計算
第三:最小化數(shù)據(jù)傳輸。(Minimizing data movement) 1.壓縮數(shù)據(jù)。(compress data) 盡管今天的內(nèi)存容量允許把大量的數(shù)據(jù)存儲在內(nèi)存中,把數(shù)據(jù)進(jìn)行壓縮的目的沒有直接用來提高性能,但把內(nèi)存數(shù)據(jù)進(jìn)行壓縮還是可取的,它可以最大限度的減少數(shù)據(jù)從內(nèi)存?zhèn)鬏數(shù)紺PU cache中。SAP HANA 采用數(shù)據(jù)字典的方法對數(shù)據(jù)進(jìn)行壓縮,用整數(shù)來代表相應(yīng)的文本。數(shù)據(jù)庫可以壓縮數(shù)據(jù)和減少數(shù)據(jù)的傳輸。 2.把應(yīng)用邏輯和計算由應(yīng)用層轉(zhuǎn)移到數(shù)據(jù)庫層。(Pushing application logic to the database) 傳統(tǒng)數(shù)據(jù)庫中,一個應(yīng)用程序在處理應(yīng)用邏輯數(shù)據(jù)時,先把數(shù)據(jù)從數(shù)據(jù)庫讀出來,然后再進(jìn)行相應(yīng)的計算處理,最后處理后的數(shù)據(jù)寫回數(shù)據(jù)庫中。在數(shù)據(jù)庫和應(yīng)用程序傳輸數(shù)據(jù)包括在一個網(wǎng)絡(luò)通信,那么網(wǎng)絡(luò)資源的開銷,延時,傳輸速率及及最大吞吐量都對它們之間的通信會產(chǎn)生限制。如果數(shù)據(jù)庫能夠執(zhí)行計算和應(yīng)用邏輯,不需要將數(shù)據(jù)發(fā)送回應(yīng)用程序甚至可能減少數(shù)據(jù)交換的需要。這最大限度地減少傳輸?shù)臄?shù)據(jù)量。 ![]() |
|