雲和恩墨獨家搶先測試In-Memory Option 特性!
2014年6月,在Oracle 12c的12.1.0.2版本中,Oracle正式釋出和引入了基於記憶體和列式計算的In-Memory Option,這距離Larry在2013年OOW上釋出這一特性已經過去了近10個月。
2014年7月22日,Oracle正式提供了12.1.0.2版本的資料庫產品下載,在OTN上可找到下載連結。
In-Memory Option (以下簡稱IMO)是在Oracle DB
12c中新新增的選件。它支援兩種方式的資料儲存格式,即傳統的行式儲存,以及新的列式儲存(Column Store)。針對同一個資料和表,Oracle記憶體資料庫能夠同時以兩種格式進行儲存,並同時進行更新(增刪改)並保持一致性。比如增加一行資料到一張表,以列式儲存的資料也會同步更新。而通過記憶體中處理的列式資料,針對分析與報表的效能將提升100倍以上。而在解答為何新的列式儲存還能夠提升OLTP效能時,Larry解釋說它可以刪除大量原來用於統計的索引,間接提升了OLTP效能。
下圖是IMO特性的原理圖,通過在記憶體中開闢一塊獨立的區域,Oracle將指定的表或者分割槽以列式記憶體儲存,但是在儲存上,仍然以一份行式儲存,這就需要額外的記憶體空間。
IMO特性原理圖
當然,記憶體對於Oracle來說從來都不是問題,為了配合IMO特性,Oracle此前已經推出了SuperCluster M6-32一體機(如下圖),該伺服器滿配可以配置32 TB記憶體,這是一個記憶體快速擴充套件的時代。
![](https://i.iter01.com/images/c0d3d4aeabbe09b7bad9165e6d8baf7db76b74cf3265929fbd23e200f0ce2f8c.jpg)
Oracle SuperCluster M6-32
Oracle 12c新特性:IMO快取
對於Oracle廣為關注的這一新特性,雲和恩墨在第一時間進行了測試:
我們通過測試來演示一下In-Memory表的查詢效能,以下執行計劃中的INMEMORY意味著這是一個IMO查詢,邏輯讀僅為7,較常規表大大縮減:
![](https://i.iter01.com/images/eb62a54bc9890951592d79d286f3d11eb3c1cc6d3a3733f4f235b4aae3ea8055.jpg)
如果我們將該表移出IMO記憶體,可以看到其邏輯讀變成了4076,執行效率也肯定大大下降:
Oracle 12c新特性:IMO列存與壓縮
在12c的In-Memory Option之中,資料在記憶體的獨立區域中按照列式儲存,資料是被壓縮存放的,記憶體與列式壓縮可以極大提升查詢的效能,下圖是IMO的示意圖:
接下來我們來驗證一下列存的壓縮比率和查詢效能。
首先檢視IMO的記憶體分配情況,初始啟動資料庫,可以看到1MB Pool分配了大約3M的記憶體空間:
接下來將一張資料表設定到記憶體中,並且通過查詢載入。在載入過程中,記憶體使用增加,直至完成:
由此我們可以根據資料表的大小和記憶體分配空間,計算出記憶體列式的壓縮比率。
BILL表共使用記憶體大約300M:
而該表在行式儲存上佔用了 952 MB:
這意味著使用列存,使得儲存空間壓縮到了原來的30%,這是一個計費的測試資料表,在使用IMO查詢,全表掃描僅用了80ms就完成了查詢:
在以下測試中,我們建立一個非IMO物件,基於一個欄位進行Distinct查詢,在查詢結果中,響應時間分別為1320 ms(行存)和70 ms(列存),也有19倍的響應差距:
備註:經原作者同意,參考(引用)文章如下
《Oracle 12c新特性:IN-Memory Option - 快取與引數》蓋國強
《Oracle 12c新特性:IN-Memory Option - 列存與壓縮》蓋國強
《記憶體資料庫搭配記憶體一體機 甲骨文再度發力記憶體計算》孫瑞
《關於DB In-Memory Option你必須知道的17個問題》張樂奕
![](https://i.iter01.com/images/efc92ab52333d90a054902237c234b6294b53d2d9b8234ff416e0a91950b84b6.jpg)
雲和恩墨
國內資料服務行業領導者
整合·優化·諮詢
聯絡我們
電話:010-59003186-8019
郵件:marketing@enmotech.com
新浪微博:雲和恩墨 騰訊微信:enmotech
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29119536/viewspace-1247727/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 《雲和恩墨技術通訊-2020.03》.pdf
- 2021DTCC專訪視訊雲和恩墨
- 直播預告丨先睹為快!Oracle 20c新特性解析 - 2020雲和恩墨大講堂Oracle
- 搶先測試如何改變遊戲產業遊戲產業
- Oracle 12C新特性In-MemoryOracle
- Oracle 20c 的 In-Memory 新特性 Spatial 和 Text 支援Oracle
- SphereEx 亮相 openGauss Summit 2021,同雲和恩墨簽訂戰略合作協議MIT協議
- 雲和恩墨蓋國強:2020,這是資料庫最好的時代!資料庫
- 頻發:故障排除之又見 ORA-4031丨雲和恩墨技術通訊
- 侍神令百度雲(內部獨家搶先版)網盤【HD1080p中英雙字】完整資源已分享
- 漫談測試人生:軟體測試的墨菲定律、二八定律和木桶定律…
- 從Oracle DBA出發,走進GaussDB的世界 - 雲和恩墨大講堂GaussDB專題Oracle
- 深度參與 openGauss Developer Day 2022,雲和恩墨在多項活動中展風采Developer
- .NET 9 最佳化,搶先體驗 C# 13 新特性C#
- 墨者安全淺談音樂版權的獨家與共享
- Oracle 18c新特性詳解:In-Memory 專題Oracle
- 擁抱國產信創化!思邁特與雲和恩墨完成產品相容認證
- 資料庫廠商雲和恩墨加入龍蜥社群,打造安穩易用的 IT 執行環境資料庫
- 12C新特性___In-Memory列式儲存的總結
- 軟體測試-各個特性常用特性
- Oracle 20c 新特性:自主的 In-Memory 管理 - Self-ManagingOracle
- 軟體測試質量的六大特性和27個子特性
- 雲和恩墨與SphereEx達成戰略合作,MogDB與ShardingSphere聯合解決方案帶來全新體驗
- 直播回顧 | 雲和恩墨範計傑:Oracle DBA的SQL編寫技能提升寶典(含SQL資源)OracleSQL
- 直播就在今晚!PostgreSQL專題 【恩墨面對面】SQL
- 【恩墨學院】5 分鐘帶你看懂 DockerDocker
- 它們瘋搶獨立遊戲和團隊遊戲
- 《孤島先鋒》公測定檔7月26日 新內容搶先揭祕
- “蜃樓測試”搶先啟動!《秦時明月世界》手遊新版六大亮點曝光
- mysql8.0.11新特性測試MySql
- mysql 8.0.17 分割槽特性測試MySql
- 直播預告丨一名PGer帶你走進PostgreSQL的世界 - 雲和恩墨大講堂PG系列分享(1)SQL
- 5G芝麻雲遊戲平臺開測 華東地區搶先一步體驗遊戲
- jquery獲得option的值和對option進行操作jQuery
- Project Loom搶先體驗版ProjectOOM
- 小度牽手騰訊先鋒雲遊戲,成為賽事智慧音響獨家合作伙伴遊戲
- 【恩墨學院】阿里雲資料庫CloudDBA的自動運維與智慧最佳化探索阿里資料庫Cloud運維
- Vue 3.0 全家桶搶先體驗Vue
- 搶先體驗 Ubuntu 22.04 Jammy JellyfishUbuntu