Oracle 18c新特性詳解:In-Memory 專題

Sun雪發表於2018-11-09

前面我們分享了Oracle 18c 在多租戶中的新特性,內容回顧:www.jianshu.com/p/4d4fc1d51…

今天我們來看一下在In Memory中有哪些振奮人心的新改變。

新特性1:IN-MEMORY對外部表支援

通過外部表可以透明地訪問資料庫外部的資料。外部表使得Oracle對外部資料操作更加靈活,並且基於記憶體列式儲存壓縮,能夠更快的支援大資料量的運算,對於資料倉儲環境將會是極大的增強。並且由於外部表的資料基本處於靜態,更適合使用In-Memory來處理,Oracle聲稱這一改進將會帶來100倍的提升。

Oracle 18c新特性詳解:In-Memory 專題
新特性2:In-Memory 自動記憶體管理

自動記憶體管理,主要指的是指自動選擇適合In-Memory的物件並壓縮提速等。記憶體表和分割槽藉助熱圖資料(HeatMap Data)列統計資料(column statistic)和其他相關統計資料來自動的管理IM列儲存資料,無需人為干預,系統可以自動挑選熱資料載入,並對記憶體中的冷資料會自動剔除。 由於無需使用者干預,有益於Oracle管理的雲服務,該特性會帶來2x的效能提升。

Oracle 18c新特性詳解:In-Memory 專題
新特性3:In-Memory動態掃描

記憶體中動態掃描提供了同時掃描多個IMCU的功能。 以前,這僅限於並行執行,並且每個並行伺服器程式一次只能掃描一個IMCU(即每個顆粒一個IMCU)。 使用IN-MEMORY動態掃描每個掃描過程,無論是序列還是並行執行都可以使用IN-MEMORY中執行緒掃描多個IMCU。 實質上,這是一種非常有效的並行化IMCU掃描的方法,可以由序列執行查詢和並行執行查詢使用。

通過IN-MEMORY動態掃描,並行化操作使用輕量級執行緒下推到SCAN層,補充靜態PQ計劃,縮短查詢的響應時間更快,實現單執行緒查詢的PQ執行時間,使用資源管理器進行彈性DOP重新平衡

Oracle 18c新特性詳解:In-Memory 專題
動態掃描具有以下優點:

•使用輕量級執行緒,快速並行化掃描

•資源管理器控制活動的執行緒數量

•充分利用CPU資源,最大限度提高列式掃描效能

•最高達到2X效能

新特性4:對XMEM的 支援,並非易失性記憶體(NVRAM)極大擴充套件記憶體容量

XMEM即為eXtended Memory。18c中記憶體演算法擴充套件使用較慢但更高容量的 NVRAM,在使用中將效能關鍵的表放入DRAM,容量關鍵的表放入NVRAM。 XMEM可以有大於3x 列式儲存

Oracle 18c新特性詳解:In-Memory 專題
新特性5:Memoptimized Rowstore

該特性是訪問OLTP工作負載的記憶體優化。在系統全域性區域(SGA)中使用稱為memoptimize池的記憶體區域,該池在啟用快速查詢時儲存表的雜湊索引。MEMOPTIMIZE_POOL_SIZE初始化引數控制memoptimize池的大小。

Oracle 18c新特性詳解:In-Memory 專題
通過Memoptimized Rowstore 能夠實現

1、超快速的基於主鍵的查詢:

可以使用使用新的無鎖記憶體雜湊索引,只需要為讀資料宣告表MEMOPTIMIZE屬性,比如通過在CREATE TABLE或ALTER TABLE語句中包含MEMOPTIMIZE FOR READ子句,可以啟用快速查詢表。

2、新的低延遲客戶端協議,可直接訪問資料引擎Exadirect+RDMA

3、在效能上帶來的提升:對於基於主鍵的檢索,吞吐量增加了4倍;響應時間降低了50%。

新特性6:In-Memory 演算法的優化

Oracle資料庫NUMBER資料型別具有高保真度和高精度。但是由於算術運算無法在硬體中本地執行,因此NUMBER會為查詢帶來顯著的效能開銷。

在18c中對IN-MEMORY的演算法做了一下優化:記憶體優化的NUMBER格式可以使用SIMD硬體進行快速計算,列儲存將NUMBER數值列以原生二進位制表示,通過使用SIMD向量處理,簡單聚合和Group by聚合可以顯著受益。在某些情況下,效能可提高高達9倍。

Oracle 18c新特性詳解:In-Memory 專題
新特性7:Dynamic Capture Window

Capture window用於在填充列儲存中的表示式時,對記憶體中的表達進行評估,在以前的版本中,使用者只能選擇24小時內資料庫中執行過的表示式,或自資料庫建立以來的捕獲間隔兩種選擇。 從18c開始,捕獲視窗更靈活性,能夠動態捕獲,使用者可以根據其工作負載週期進行調整。

Oracle 18c新特性詳解:In-Memory 專題

新特性8:IN-MEMORY效能的提升

在Oracle 18c中,IN-MEMORY在效能上得到了大幅度的提升,主要提升的方面包括:

•增強的混合工作負載效能

–高達2X 效能提升

•聚合計算的效能提升

–聚合計算下放到Exadata

•增強的JSON 處理

•更快的表示式評估

•快速啟動(Fast-Start)效能提升

•增強Join處理能力

•改進了Query

High 級別的壓縮

•TPCH效能 ,快2X

更多新特性請檢視Oracle 18c官方文件。docs.oracle.com/en/database…

關於多租戶新特性:www.jianshu.com/p/4d4fc1d51…

相關文章