數據熱圖與內存計算自動化協同優化
timization(ADO)選件,該選件基本上可以做到磁盤間移動、壓縮等數據生命周期管理動作。除內存計算的數據生命周期管理外,其他磁盤與壓縮類操作可以通過策略引擎直接配合ADO完成。如果不采用ADO基于策略引擎的規則,開發自定義JOB完成在線數據移動也非常方便,所以,問題的重點是內存計算的數據生命周期管理。
內存計算的數據生命周期管理組件模型如
圖6 數據生命周期管理組件模型Fig.6 Data lifecycle management component model
任務管理模塊負責接收決策引擎的請求,并負責整個執行過程的監控管理。數據操作模塊是對數據庫進行數據移動操作的模塊,該模塊可以對接OracleADO選件,完成數據在磁盤存儲上的壓縮、存儲分級等操作[12]。本文中主要研究的是通過策略引擎驅動,將數據加載到內存中完成內存計算。
4 自動化協同算法實現
自動化協同具體的實現基于Oracle Database12.1.0.2,該版本引入了Oracle Database In-Memory,支持混合分析和事務性工作負載。代碼的開發基于Oracle Database Stored Procedure,系統層面數據收集采用Bash結合Oracle Database External Tables的方式。
4.1 策略引擎算法實現建模
策略引擎是關鍵的部分,解析策略并將策略與數據模型或數據工作負載關聯起來,以及通過元數據傳遞策略和模型,策略引擎不僅是挑戰的難點,也是實現最大價值的關鍵所在。
策略引擎實現建模如
圖7 策略引擎實現建模Fig.7 Rule engine application model
策略引擎工作的前提是在關系型數據庫Oracle Database12.2.0.1中打開Heat Map。
altersystemsetheat_map=on;
對照熱圖數據,檢索策略庫,觸發條件后將request提交至數據生命周期管理引擎;考慮到策略引擎與數據生命周期管理引擎之間接口的強壯性,request進入隊列后采用3次重試的方式,3次都失敗后計入建議表,等待人工介入進行故障處理。
策略引擎中的各項閾值根據需要可以進行調整,包括冷熱數據的標準。策略引擎的調度依據也與數據集的大小有密切關系,不同的數據量決定了數據的存儲位置。
4.2 數據生命周期管理引擎算法實現
數據庫生命周期管理是管理數據庫和數據資產的基于策略的方法,不是一種產品,而是一種用于管理數據庫應用程序的數據庫模式及數據和元數據的方法。數據生命周期管理引擎采用主動的方法使組織管理數據,在滿足性能要求的情況下,保證可用性和節省成本[13-14]。
數據生命周期管理引擎負責策略的執行,在不同存儲層級之間遷移數據,數據生命周期管理引擎實現建模如
圖8 數據生命周期管理引擎實現建模Fig.8 ILM engine application model
數據生命周期管理引擎收到策略引擎的request后,首先判斷是否滿足自動執行的條件,是否能自動執行取決于用戶的預定義參數。然后檢查系統狀態是否滿足執行條件,如系統負載、文件系統空間。
操作系統的狀態監控本文采用外部表的方式。首先把需要執行的命令編寫為腳本文件,然后將結果輸出成文本文件,以外部表形式掛接到數據庫。以文件系統空間監控為例,創建df腳本,創建外
部表:
create table df
2 (
3 fsname varchar2(100),
4 blocks number,
5 used number,
6 avail number,
7 capacity varchar2(10),
8 mount varchar2(100)
9 )
10 organization external
11 (
12 type oracle_loader
13 default directory exec_dir
14 access parameters
15 (
16 records delimited
17 by newline
18 preprocessor
19 exec_dir:’run_df.bsh’
20 skip 1
21 fields terminated by
22 whitespace ldrtrim
23 )
24 location
25 (
26 exec_dir:’run_df.bsh’
27 )
28 )
29 /
Table created.
在數據庫內部通過查詢語句即可獲得空間監控數據:
SQL> select * from df;
FSNAME BLOCKS USED AVAIL CAPACITY MOUNT
------------------------------ -----------
orapool1/ora01 629145600 382371882 246773718 61% /ora01
orapool2/ora02 629145600 429901326 199244274 69% /ora02
orapool1/ora03 629145600 415189808 213955792 66% /ora03
orapool2/ora04 629145600 343152974 285992626 55% /ora04
按照上面的例子,可以同理開發出其他系統CPU、內存等各種監控,其他如內存列式緩存區域大小都可以通過Oracle SQL獲得。
5 驗證測試
為驗證本文方案可行性,在電能計量系統(用電信息采集系統)的3個關鍵場景進行了測試。通
過自動優化引擎優化后的3個查詢業務均得到大幅度的提升。優化之后系統壓力顯著下降,CPU空閑率從40%提升到90%(見
對比3個關鍵業務的查詢時間,查詢效率明顯提升,業務響應時間對比如
圖10 業務響應時間對比Fig.10 Business response time
6 結語
本方案整合數據熱圖、數據生命周期管理和數據存儲技術,與內存計算相結合,主要用于關系型數據庫,優化分析類操作業務。在關系型數據庫內部建模,通過數據熱圖跟蹤數據使用情況,進而建立數據訪問模型,由決策引擎根據策略庫計算得到內存技術優化方案;由數據生命周期管理引擎完成數據移動的具體操作。
通過對數據使用的特點進行分析,從而選擇出最適合加載到內存中進行內存計算的數據。通過最優化的內存使用方案,使得內存的使用效率達到最佳,在節約硬件成本的同時,提高系統處理效率。由于可以實時優化,避免了以往優化工作滯后的問題,同時可以減少優化的工作量,節省人力物力,降低了成本。
(編輯:張京娜)
參考文獻
[1]
[2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]

責任編輯:售電衡衡
-
權威發布 | 新能源汽車產業頂層設計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設
2020-11-03新能源,汽車,產業,設計 -
中國自主研制的“人造太陽”重力支撐設備正式啟運
2020-09-14核聚變,ITER,核電 -
探索 | 既耗能又可供能的數據中心 打造融合型綜合能源系統
2020-06-16綜合能源服務,新能源消納,能源互聯網
-
新基建助推 數據中心建設將迎爆發期
2020-06-16數據中心,能源互聯網,電力新基建 -
泛在電力物聯網建設下看電網企業數據變現之路
2019-11-12泛在電力物聯網 -
泛在電力物聯網建設典型實踐案例
2019-10-15泛在電力物聯網案例
-
權威發布 | 新能源汽車產業頂層設計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設
2020-11-03新能源,汽車,產業,設計 -
中國自主研制的“人造太陽”重力支撐設備正式啟運
2020-09-14核聚變,ITER,核電 -
能源革命和電改政策紅利將長期助力儲能行業發展
-
探索 | 既耗能又可供能的數據中心 打造融合型綜合能源系統
2020-06-16綜合能源服務,新能源消納,能源互聯網 -
5G新基建助力智能電網發展
2020-06-125G,智能電網,配電網 -
從智能電網到智能城市