【HANA系列】SAP HANA數據處理的理解與分析一


公眾號: matinal
本文作者: matinal
 

 

前言部分

大家可以關注我的公眾號,公眾號里的排版更好,閱讀更舒適。

正文部分

SAP HANA處理大量數據速度快的機制理解

1:HANA使用列存儲的數據管理優化數據存取

從列去讀取數據庫表,其他忽略

2:對於內存和CPU之間的訪問速度差異,增加內核,壓縮數據

3:使用列存儲技術高效利用CPU的緩存。

行存儲數據的讀取方式容易造成內存的數據讀取及高速緩存的丟失

4:利用新型CPU預讀取的技術夾克數據的讀取

就是讀取一個緩存數據的同時,預讀另一個緩存數據。

HANA采用了行列混合的存儲模式

即在單一數據庫系統中,能支持兩種不同的數據存儲模式。

傳統意義上數據庫表是一個二維表,由行和列組成。

行存儲方式包含一條記錄中所有的數據

而列存儲方式則包含這一列中所有數據。

如下圖演示:

這樣一個數據庫表的話,

行存儲如下:

列存儲如下:

一般認為,列存儲對數據的讀取優於行存儲

行存儲對數據的更新更加好。

所以,列存儲適用於以下情況:

1:大量數據的統計計算和訪問只會在需要訪問的某幾個單列中進行

2:對於需要經常對表結構進行改動的或者擴展的情況

3:對很多行記錄和列字段進行頻繁操作

4:當最主要的列中有很多重復數據的情況,可以對其進行數據壓縮

行存儲使用於以下情況:

1:在某個時間點只處理單行的記錄。

2:需要訪問這一記錄的所有列信息,避免跳躍式訪問讀取。

3:列中包含最主要的不重復數據。

4:沒有快速聚合或進行快速查詢的需要。

5:數據庫表中的記錄不太多的情況。

更多內容,關注我的公眾號吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM