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