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