數(shù)據(jù)熱圖與內(nèi)存計(jì)算自動(dòng)化協(xié)同優(yōu)化
timization(ADO)選件,該選件基本上可以做到磁盤(pán)間移動(dòng)、壓縮等數(shù)據(jù)生命周期管理動(dòng)作。除內(nèi)存計(jì)算的數(shù)據(jù)生命周期管理外,其他磁盤(pán)與壓縮類(lèi)操作可以通過(guò)策略引擎直接配合ADO完成。如果不采用ADO基于策略引擎的規(guī)則,開(kāi)發(fā)自定義JOB完成在線數(shù)據(jù)移動(dòng)也非常方便,所以,問(wèn)題的重點(diǎn)是內(nèi)存計(jì)算的數(shù)據(jù)生命周期管理。
內(nèi)存計(jì)算的數(shù)據(jù)生命周期管理組件模型如
任務(wù)管理模塊負(fù)責(zé)接收決策引擎的請(qǐng)求,并負(fù)責(zé)整個(gè)執(zhí)行過(guò)程的監(jiān)控管理。數(shù)據(jù)操作模塊是對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)移動(dòng)操作的模塊,該模塊可以對(duì)接OracleADO選件,完成數(shù)據(jù)在磁盤(pán)存儲(chǔ)上的壓縮、存儲(chǔ)分級(jí)等操作[12]。本文中主要研究的是通過(guò)策略引擎驅(qū)動(dòng),將數(shù)據(jù)加載到內(nèi)存中完成內(nèi)存計(jì)算。
4 自動(dòng)化協(xié)同算法實(shí)現(xiàn)
自動(dòng)化協(xié)同具體的實(shí)現(xiàn)基于Oracle Database12.1.0.2,該版本引入了Oracle Database In-Memory,支持混合分析和事務(wù)性工作負(fù)載。代碼的開(kāi)發(fā)基于Oracle Database Stored Procedure,系統(tǒng)層面數(shù)據(jù)收集采用Bash結(jié)合Oracle Database External Tables的方式。
4.1 策略引擎算法實(shí)現(xiàn)建模
策略引擎是關(guān)鍵的部分,解析策略并將策略與數(shù)據(jù)模型或數(shù)據(jù)工作負(fù)載關(guān)聯(lián)起來(lái),以及通過(guò)元數(shù)據(jù)傳遞策略和模型,策略引擎不僅是挑戰(zhàn)的難點(diǎn),也是實(shí)現(xiàn)最大價(jià)值的關(guān)鍵所在。
策略引擎實(shí)現(xiàn)建模如
策略引擎工作的前提是在關(guān)系型數(shù)據(jù)庫(kù)Oracle Database12.2.0.1中打開(kāi)Heat Map。
altersystemsetheat_map=on;
對(duì)照熱圖數(shù)據(jù),檢索策略庫(kù),觸發(fā)條件后將request提交至數(shù)據(jù)生命周期管理引擎;考慮到策略引擎與數(shù)據(jù)生命周期管理引擎之間接口的強(qiáng)壯性,request進(jìn)入隊(duì)列后采用3次重試的方式,3次都失敗后計(jì)入建議表,等待人工介入進(jìn)行故障處理。
策略引擎中的各項(xiàng)閾值根據(jù)需要可以進(jìn)行調(diào)整,包括冷熱數(shù)據(jù)的標(biāo)準(zhǔn)。策略引擎的調(diào)度依據(jù)也與數(shù)據(jù)集的大小有密切關(guān)系,不同的數(shù)據(jù)量決定了數(shù)據(jù)的存儲(chǔ)位置。
4.2 數(shù)據(jù)生命周期管理引擎算法實(shí)現(xiàn)
數(shù)據(jù)庫(kù)生命周期管理是管理數(shù)據(jù)庫(kù)和數(shù)據(jù)資產(chǎn)的基于策略的方法,不是一種產(chǎn)品,而是一種用于管理數(shù)據(jù)庫(kù)應(yīng)用程序的數(shù)據(jù)庫(kù)模式及數(shù)據(jù)和元數(shù)據(jù)的方法。數(shù)據(jù)生命周期管理引擎采用主動(dòng)的方法使組織管理數(shù)據(jù),在滿足性能要求的情況下,保證可用性和節(jié)省成本[13-14]。
數(shù)據(jù)生命周期管理引擎負(fù)責(zé)策略的執(zhí)行,在不同存儲(chǔ)層級(jí)之間遷移數(shù)據(jù),數(shù)據(jù)生命周期管理引擎實(shí)現(xiàn)建模如
數(shù)據(jù)生命周期管理引擎收到策略引擎的request后,首先判斷是否滿足自動(dòng)執(zhí)行的條件,是否能自動(dòng)執(zhí)行取決于用戶的預(yù)定義參數(shù)。然后檢查系統(tǒng)狀態(tài)是否滿足執(zhí)行條件,如系統(tǒng)負(fù)載、文件系統(tǒng)空間。
操作系統(tǒng)的狀態(tài)監(jiān)控本文采用外部表的方式。首先把需要執(zhí)行的命令編寫(xiě)為腳本文件,然后將結(jié)果輸出成文本文件,以外部表形式掛接到數(shù)據(jù)庫(kù)。以文件系統(tǒng)空間監(jiān)控為例,創(chuàng)建df腳本,創(chuàng)建外
部表:
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.
在數(shù)據(jù)庫(kù)內(nèi)部通過(guò)查詢(xún)語(yǔ)句即可獲得空間監(jiān)控?cái)?shù)據(jù):
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
按照上面的例子,可以同理開(kāi)發(fā)出其他系統(tǒng)CPU、內(nèi)存等各種監(jiān)控,其他如內(nèi)存列式緩存區(qū)域大小都可以通過(guò)Oracle SQL獲得。
5 驗(yàn)證測(cè)試
為驗(yàn)證本文方案可行性,在電能計(jì)量系統(tǒng)(用電信息采集系統(tǒng))的3個(gè)關(guān)鍵場(chǎng)景進(jìn)行了測(cè)試。通
過(guò)自動(dòng)優(yōu)化引擎優(yōu)化后的3個(gè)查詢(xún)業(yè)務(wù)均得到大幅度的提升。優(yōu)化之后系統(tǒng)壓力顯著下降,CPU空閑率從40%提升到90%(見(jiàn)
對(duì)比3個(gè)關(guān)鍵業(yè)務(wù)的查詢(xún)時(shí)間,查詢(xún)效率明顯提升,業(yè)務(wù)響應(yīng)時(shí)間對(duì)比如
6 結(jié)語(yǔ)
本方案整合數(shù)據(jù)熱圖、數(shù)據(jù)生命周期管理和數(shù)據(jù)存儲(chǔ)技術(shù),與內(nèi)存計(jì)算相結(jié)合,主要用于關(guān)系型數(shù)據(jù)庫(kù),優(yōu)化分析類(lèi)操作業(yè)務(wù)。在關(guān)系型數(shù)據(jù)庫(kù)內(nèi)部建模,通過(guò)數(shù)據(jù)熱圖跟蹤數(shù)據(jù)使用情況,進(jìn)而建立數(shù)據(jù)訪問(wèn)模型,由決策引擎根據(jù)策略庫(kù)計(jì)算得到內(nèi)存技術(shù)優(yōu)化方案;由數(shù)據(jù)生命周期管理引擎完成數(shù)據(jù)移動(dòng)的具體操作。
通過(guò)對(duì)數(shù)據(jù)使用的特點(diǎn)進(jìn)行分析,從而選擇出最適合加載到內(nèi)存中進(jìn)行內(nèi)存計(jì)算的數(shù)據(jù)。通過(guò)最優(yōu)化的內(nèi)存使用方案,使得內(nèi)存的使用效率達(dá)到最佳,在節(jié)約硬件成本的同時(shí),提高系統(tǒng)處理效率。由于可以實(shí)時(shí)優(yōu)化,避免了以往優(yōu)化工作滯后的問(wèn)題,同時(shí)可以減少優(yōu)化的工作量,節(jié)省人力物力,降低了成本。
(編輯:張京娜)
參考文獻(xiàn)
[1]
責(zé)任編輯:售電衡衡
-
權(quán)威發(fā)布 | 新能源汽車(chē)產(chǎn)業(yè)頂層設(shè)計(jì)落地:鼓勵(lì)“光儲(chǔ)充放”,有序推進(jìn)氫燃料供給體系建設(shè)
2020-11-03新能源,汽車(chē),產(chǎn)業(yè),設(shè)計(jì) -
中國(guó)自主研制的“人造太陽(yáng)”重力支撐設(shè)備正式啟運(yùn)
2020-09-14核聚變,ITER,核電 -
探索 | 既耗能又可供能的數(shù)據(jù)中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務(wù),新能源消納,能源互聯(lián)網(wǎng)
-
新基建助推 數(shù)據(jù)中心建設(shè)將迎爆發(fā)期
2020-06-16數(shù)據(jù)中心,能源互聯(lián)網(wǎng),電力新基建 -
泛在電力物聯(lián)網(wǎng)建設(shè)下看電網(wǎng)企業(yè)數(shù)據(jù)變現(xiàn)之路
2019-11-12泛在電力物聯(lián)網(wǎng) -
泛在電力物聯(lián)網(wǎng)建設(shè)典型實(shí)踐案例
2019-10-15泛在電力物聯(lián)網(wǎng)案例
-
新基建之充電樁“火”了 想進(jìn)這個(gè)行業(yè)要“心里有底”
2020-06-16充電樁,充電基礎(chǔ)設(shè)施,電力新基建 -
燃料電池汽車(chē)駛?cè)雽こ0傩占疫€要多久?
-
備戰(zhàn)全面電動(dòng)化 多部委及央企“定調(diào)”充電樁配套節(jié)奏
-
權(quán)威發(fā)布 | 新能源汽車(chē)產(chǎn)業(yè)頂層設(shè)計(jì)落地:鼓勵(lì)“光儲(chǔ)充放”,有序推進(jìn)氫燃料供給體系建設(shè)
2020-11-03新能源,汽車(chē),產(chǎn)業(yè),設(shè)計(jì) -
中國(guó)自主研制的“人造太陽(yáng)”重力支撐設(shè)備正式啟運(yùn)
2020-09-14核聚變,ITER,核電 -
能源革命和電改政策紅利將長(zhǎng)期助力儲(chǔ)能行業(yè)發(fā)展
-
探索 | 既耗能又可供能的數(shù)據(jù)中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務(wù),新能源消納,能源互聯(lián)網(wǎng) -
5G新基建助力智能電網(wǎng)發(fā)展
2020-06-125G,智能電網(wǎng),配電網(wǎng) -
從智能電網(wǎng)到智能城市
-
山西省首座電力與通信共享電力鐵塔試點(diǎn)成功
-
中國(guó)電建公司公共資源交易服務(wù)平臺(tái)摘得電力創(chuàng)新大獎(jiǎng)
-
電力系統(tǒng)對(duì)UPS的技術(shù)要求