HANA数据库为何如此之快
原文標題是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的作為吧。
參考
- How SAP HANA Is Such a Fast Database - SCM Focus’ SAP HANA Blog
總結
以上是生活随笔為你收集整理的HANA数据库为何如此之快的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ABAP OPEN SQL 模糊查询的方
- 下一篇: ABAP计算间隔月份