內存計算初探_第1頁
內存計算初探_第2頁
內存計算初探_第3頁
內存計算初探_第4頁
內存計算初探_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

內存計算初探

2014-09-13大綱PPT模板下載:/moban/

行業(yè)PPT模板:/hangye/

節(jié)日PPT模板:/jieri/PPT素材下載:/sucai/PPT背景圖片:/beijing/PPT圖表下載:/tubiao/

優(yōu)秀PPT下載:/xiazai/PPT教程:/powerpoint/

Word教程:/word/Excel教程:/excel/

資料下載:/ziliao/PPT課件下載:/kejian/

范文下載:/fanwen/

試卷下載:/shiti/

教案下載:/jiaoan/

內存計算WHYHOWWHENWHATWHY?SCQA

數據量越來越大運算越來越復雜響應時間要求越來越短性能越來越慢

用戶體驗越來越差傳統(tǒng)磁盤讀取速度ms級內存讀取速度ns級內存計算WHAT?內存計算:將數據放在內存中進行處理,并在內存中進行大量的數據分析和計算。軟硬件一體的集成設備SAPHANAOracleExalyticsEMC固態(tài)硬盤其他sqllite、Altibase、eXtremeDB、fastDB等內存數據庫產品,開源的鍵值對內存數據庫Redis、微軟公司的圖數據計算系統(tǒng)Trinity、ApacheSparkSAPHANAExalytics總述靈活、多用途、與數據源無關的一套內存工具,是一個交易型關系數據庫管理系統(tǒng)。一體化的集成系統(tǒng),可看做大的緩存設備,對目前Oracle數據庫和Exadate是一個很好的補充。共同點1.都使用內存數據庫技術2.都是軟硬件集成設備3.都用來處理分析工作負載使用建議全新數據庫,超過原有Oracle性能10倍甚至100倍。在原有Oracle數據庫中添加一個智能緩存。WHAT?缺點優(yōu)點高效快速數據分配到各終端時帶寬的限制散熱問題緩存大量占用,如何清理問題針對內存攻擊的信息安全問題原系統(tǒng)SAPHANA性能提升農夫山泉運行運費報表24h37s2335倍遼寧電力物資項目管理15h4.8s11250倍遼寧電力訂單到付款分析30天28s92571倍特點一:加速數據訪問

“到2012年,70%的全球1000強企業(yè)會將明系數據導入內存,以提升商務智能應用的性能?!? -Gartner傳統(tǒng)數據庫磁盤讀取5毫秒內存數據庫磁盤讀取5納秒特點二:數據分而治之數據內存本地化:把大數據量和計算量分散到不同處理器并行處理:不同的服務器之間也共享同一組數據容災性:單一的服務器的DOWN機將不影響任何計算特點三:最小化數據傳輸When?適合:1.處理海量數據,及實時獲得結果的數據;2.模擬數據分析的結果,實現對市場未來發(fā)展的預測。理論上:內存計算是一種在體系結構層面上的解決方案,因此可以適用于不同的計算模式:1.基本的數據查詢分析計算2.批處理計算3.流式計算4.迭代計算5.圖計算。尋找應用場景:分析哪些需求需要這種快速分析的能力,能夠給業(yè)務帶來新的價值和競爭力。確定適用性:實際操作中其他因素的制約,考慮提速本身是否能夠影響到最終決策過程。(木桶短木板原理)HOW?—SAPHANASourceSystemSAPIn-memoryDatabaseALL?/Which?HOW?Spaceenough?Parts?Keytechnology?1.HANA運行時不是把所有的磁盤上的所有的數據都加載到內存上。而是看你要用到哪些。2.HANA數據表的存儲是分行表和列表的。在工作的時候,行表需要全部load到內存里,而列表因為可以分片,所以有時只需要把所需要的部分load到內存里面就可以。加載的時間還可以,看表的大小及結構,大表的話應該也是毫秒級的,完全可以接受。

3.至于內存夠不夠用,應該說夠用。一般都是上百G的內存,而且也許數據表很大,也上百個G,但是如果是像列表這樣的,它有時是部分load進內存的,不是全部,所以可以接受。HOW?--SAPHANA行列存儲行列存儲列式數據存儲的優(yōu)勢優(yōu)化的數據上載到中央處理器高效的數據壓縮快速的數據聚合可以與行式數據存儲的表關聯A10€B35$C2€D40€E12$ABCDE103524012€$€€$memoryaddress行式的數據組織列式的數據組織A10€B35$C2€D40€E12$概念視圖映射到內存數據壓縮S:內存容量–增長C:數據全部存儲–依舊昂貴A:大多企業(yè)解決方案----數據壓縮優(yōu)勢:列式數據有著相同的數據類型,更適合數據壓縮;減少CPU和主存之間傳輸的數據量,提高傳輸效率。分類:Lightweight:prefix/run-length/cluster/indirect/DeltaencodingHeavyweight:更高的壓縮率,同樣編碼和解碼代價也很昂貴。前綴編碼S:一列數據包含占主導地位(predominant)的值和其余的值C:在非壓縮存儲中需要存儲大量相同的值A:前綴編碼可以很好解決這個問題前提:數據根據主值進行列存儲且特征向量以主值開始Table:世界人口表按國家人口數降序排列column:國家1.4billionDirectaccess前綴編碼—壓縮率分析Table:世界人口表按國家人口數降序排列column:國家1.4billion存儲200個國家需要的bit數:log2(200)->8壓縮前數據:特征向量存儲每個8bit共8billion次:8billion*8bit=8billionByte=7.45GB壓縮后數據:用額外的31bit存儲重復次數(log2(1.4billion)->31)特征向量存儲空間:(8billion-1.4billion)*8bit+31bit+8bit=6.15G壓縮率:(7.45GB-6.15GB)/7.45GB=17%行程編碼S:特征數量包含少數特定值C:特定值出現的次數非常大A:行程編碼可以很好解決這個問題前提:為獲得最大壓縮率,列存儲需要排序,因此相同元素相鄰Table:世界人口表按國家人口數降序排列column:國家Directaccess行程編碼—壓縮率分析Table:世界人口表按國家人口數降序排列column:國家存儲200個國家需要的bit數:log2(200)->8壓縮前數據:7.45GB壓縮后數據:存儲所有特定值(國家):200*8bit存儲起始位置:200*33bit(log2(8billion)->33bit)

額外33bit存儲最后一個值出現的次數

總存儲:200*(33bit+8bit)+33bit≈1KB壓縮率:(7.45GB-1KB)/7.45GB另一種:NumberofoccurrencesIndirectaccess集群編碼一列分成相等大小的block,特征向量被分成固定大?。?024)的N個blocks。如果一個cluster包含的數據值相同,則用一個值來替換這個cluster中的所有值;否則保持不變。同時,用額外的一個長度為N的bitvector表示各個block是否被替換過。Table:世界人口表按國家、城市排序column:城市Indirectaccess集群編碼—壓縮率分析存儲1million個城市需要的bit數:log2(1million)->20壓縮前數據:8billion*20bit=18.6GB壓縮后數據:每個block1024個元素,共N=8billion/1024=7.8million個block最壞情況下,每一個城市對應了一個未壓縮的block。incompressibleblocks+compressibleblocks+bitvector=1million*1024*20bit+(7.8-1)million*20bit+7.8million*1bit≈2.4GB壓縮率:(18.6GB-2.4GB)/18.6GB=87%Table:世界人口表按國家、城市排序column:城市集群編碼—計算記錄的位置集群編碼不支持直接訪問記錄。例:計算Berlin城市中有多少男人和女人。先找到berlin所對應的valueID,隨后計算其rowID的范圍為:10-16,最后計算gender的值。間接編碼與集群編碼類似,間接編碼作用于blocks(通常每個block1024個元素)。如果數據blocks有少量的特定值,采用間接編碼比較有效。前提:表中另一列元素已排序,且這兩列有相關性。Directaccess兩個索引:全局字典和本地字典Table:世界人口表按國家排序column:firstname名字間接編碼—壓縮率分析存儲5million個名字需要的bit數:log2(5million)->23壓縮前數據:8billion*23bit=21.4GB壓縮后數據:每個block1024個元素,共N=8billion/1024=7.8million個block為簡化計算,假設同一國家中每1024個人平均有200個不同的名字(log2(200)->8bit),因此只需要用8bit代替23bit。Localdictionaries+compressedattributevector=(200*23bit+64bit)*7.8millionblocks+8million*8bit≈11.8GB壓縮率:(21.4GB-11.8GB)/21.4GB=44%兩個索引:全局字典和本地字典Table:世界人口表按國家排序column:firstname名字每一個block都壓縮了間接編碼—直接訪問間接編碼可以進行直接訪問。例:選擇USA國家中名字為John的生日。先找到USA所對應的recordIDs,然后確定相應的blocks,確定全局字典中John對應的valueID(576),對應于每一個block,globalvalueID(576)都轉化為localvalueID(如3),然后在block中掃描localvalueID,相關的recordsIDs的生日項就可確認。Delta編碼以上壓縮技術是降低特征向量的大小。還有一些壓縮技術降低存儲數據的數量。假設字典中的數據是alpha-numerically排序的,經常有很多的數據是有相同的前綴。Delta編碼可以只將相同的前綴存儲一次。Delta編碼—壓縮率分析以城市為例。存儲1million個城市,假設最長的城市名有49個letter。壓縮前數據:1million*49Byte=46.7MB壓縮后數據:每個block16個值,共1million/16=62500個block。另外假定如下數據以方便計算:城市名字的平均長度為7,重復的字母數為3,最長城市名49letters(log2(49)->6bit總存儲

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論