原文標(biāo)題是How SAP HANA Is Such a Fast Database,不過作者的觀點(diǎn)是HANA的快主要源自硬件的發(fā)展,而且HANA并非適合所有的應(yīng)用場(chǎng)景。 不過我關(guān)注的恰好是結(jié)論之外的部分。 數(shù)據(jù)訪問模式的變化 存儲(chǔ)硬件的提升,從物理磁盤到SSD, 內(nèi)存,相應(yīng)的數(shù)據(jù)庫(kù)查詢方式
原文標(biāo)題是How SAP HANA Is Such a Fast Database,不過作者的觀點(diǎn)是HANA的快主要源自硬件的發(fā)展,而且HANA并非適合所有的應(yīng)用場(chǎng)景。
不過我關(guān)注的恰好是結(jié)論之外的部分。
存儲(chǔ)硬件的提升,從物理磁盤到SSD, 內(nèi)存,相應(yīng)的數(shù)據(jù)庫(kù)查詢方式也發(fā)生了變化。
當(dāng)數(shù)據(jù)庫(kù)使用傳統(tǒng)的物理磁盤,如果在一個(gè)具有10列的表中讀取3列,你也必須讀取全部10列。
如果表為100M,100萬行,那么必須讀取整個(gè)表來完成查詢,在涉及多表Join時(shí),情況更加嚴(yán)重。
如果數(shù)據(jù)庫(kù)存儲(chǔ)在SSD或內(nèi)存這些隨機(jī)訪問型存儲(chǔ)上,你需要3列,就只需讀取3列。
傳統(tǒng)的存于磁盤的數(shù)據(jù)庫(kù)需要花費(fèi)大量的時(shí)間來進(jìn)行Swapping,即將數(shù)據(jù)讀入緩存,處理后隨后又將數(shù)據(jù)寫回磁盤,周而復(fù)始,生生不息, :)。
而內(nèi)存數(shù)據(jù)庫(kù)則消除了這種數(shù)據(jù)交換(Swapping),因?yàn)樗械臄?shù)據(jù)都在內(nèi)存中操作,需要存儲(chǔ)的唯一目的就是為了數(shù)據(jù)持久化和備份。
其實(shí)這解釋了即使將數(shù)據(jù)全部Cache到內(nèi)存,仍然不如內(nèi)存數(shù)據(jù)庫(kù)快的原因,無論是列式數(shù)據(jù)庫(kù)如HANA, 還是行式數(shù)據(jù)庫(kù)如TimesTen。
列式數(shù)據(jù)庫(kù)有速度的優(yōu)勢(shì),但不是萬能的優(yōu)勢(shì),盡管SAP希望將HANA作為一體適用的平臺(tái),不過One Size Does Not Fit All, 此數(shù)據(jù)庫(kù)的原理來說,HANA非常適合BW這樣的分析性應(yīng)用,對(duì)于ERP這樣的OLTP的應(yīng)用,我們還是拭目以待,看看S/4 HANA的作為吧。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com