国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Oracle 11g數(shù)據(jù)庫(kù)的OLTP表壓縮評(píng)測(cè)

2013-07-24 18:35
中國(guó)醫(yī)療設(shè)備 2013年5期
關(guān)鍵詞:聯(lián)機(jī)批量評(píng)測(cè)

解放軍總醫(yī)院 計(jì)算機(jī)室,北京 100853

Oracle 11g數(shù)據(jù)庫(kù)的OLTP表壓縮評(píng)測(cè)

史洪飛,劉志敏

解放軍總醫(yī)院 計(jì)算機(jī)室,北京 100853

目的使用量化指標(biāo),對(duì)比壓縮表和非壓縮表的查詢及更新操作性能進(jìn)行評(píng)測(cè),為大型聯(lián)機(jī)事務(wù)處理的數(shù)據(jù)庫(kù)應(yīng)用做技術(shù)準(zhǔn)備。方法進(jìn)行實(shí)驗(yàn)設(shè)計(jì),創(chuàng)建量化平臺(tái),分別在壓縮與非壓縮的數(shù)據(jù)表上執(zhí)行特定的數(shù)據(jù)操縱語(yǔ)句及查詢語(yǔ)句,生成結(jié)構(gòu)化查詢語(yǔ)言(SQL)數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃,記錄運(yùn)行時(shí)間及結(jié)果并進(jìn)行對(duì)比。結(jié)果壓縮表的空間占用較未壓縮表降低1倍多,全表掃描操作的性能提升1倍,而壓縮表與未壓縮表的數(shù)據(jù)更新操作和查詢操作性能無(wú)明顯差異。結(jié)論聯(lián)機(jī)事務(wù)處理的大型應(yīng)用,可以利用Oracle11g數(shù)據(jù)庫(kù)的新特性,采用OLTP表壓縮技術(shù),既不影響操作響應(yīng)時(shí)間還可以明顯降低磁盤(pán)占用空間,從而獲得改善數(shù)據(jù)庫(kù)性能的好處。

Oracle數(shù)據(jù)庫(kù);SQL;表壓縮技術(shù);HIS

1 OLTP表壓縮功能概述

通常在數(shù)據(jù)庫(kù)系統(tǒng)中,事務(wù)是工作的離散單位。聯(lián)機(jī)事務(wù)處理系統(tǒng)(OLTP)實(shí)時(shí)地采集處理與事務(wù)相連的數(shù)據(jù)以及共享數(shù)據(jù)庫(kù)和其他文件的位置變化信息。在聯(lián)機(jī)事務(wù)處理中,事務(wù)是被立即執(zhí)行的。這與批處理相反,一批事務(wù)被存儲(chǔ)一段時(shí)間,然后再被執(zhí)行,大多數(shù)批處理是在夜間進(jìn)行的。聯(lián)機(jī)事務(wù)處理的結(jié)果可以在數(shù)據(jù)庫(kù)中立即獲得,并以實(shí)時(shí)的方式發(fā)生。醫(yī)院信息系統(tǒng)(HIS)中的大量應(yīng)用都是OLTP的典型應(yīng)用,其重要特征就是并發(fā)的用戶多,要求響應(yīng)速度快。隨著計(jì)算機(jī)與通信技術(shù)的快速發(fā)展,HIS的應(yīng)用也越來(lái)越廣泛,用戶數(shù)劇增,數(shù)據(jù)量暴漲,隨之而來(lái)的性能問(wèn)題愈發(fā)突出。

Oracle 11g數(shù)據(jù)庫(kù)[1-2]引入了一個(gè)新的特性——OLTP表壓縮,所謂OLTP表壓縮就是允許在任何類型的數(shù)據(jù)操作過(guò)程中對(duì)數(shù)據(jù)進(jìn)行壓縮,例如通常的數(shù)據(jù)操縱語(yǔ)言(DML)的插入、更新、刪除等。除此之外,表壓縮減少了寫(xiě)操作的相關(guān)壓縮開(kāi)銷,使之適用于OLTP業(yè)務(wù)模型的應(yīng)用環(huán)境。

1.1 OLTP表壓縮

Oracle數(shù)據(jù)庫(kù)的OLTP表壓縮專門(mén)設(shè)計(jì)了一個(gè)“唯一”(Unique)壓縮算法來(lái)處理OLTP應(yīng)用程序。該算法通過(guò)消除同一個(gè)數(shù)據(jù)庫(kù)塊內(nèi)重復(fù)的值(這些值可以是跨越不同列的)來(lái)達(dá)到壓縮的目的。壓縮過(guò)后的塊包含一個(gè)稱為符號(hào)表的結(jié)構(gòu)來(lái)保持壓縮的原數(shù)據(jù)。當(dāng)數(shù)據(jù)庫(kù)塊被壓縮的時(shí)候,首先在符號(hào)表中為重復(fù)值添加一個(gè)副本,然后將這個(gè)重復(fù)值刪除,這樣每一個(gè)重復(fù)的值都可以被一個(gè)指向符號(hào)表中對(duì)應(yīng)條目的一個(gè)更短的引用所替代。

該算法的革新性在于,壓縮后的數(shù)據(jù)在數(shù)據(jù)庫(kù)塊內(nèi)是獨(dú)立的,那些用于將壓縮后的數(shù)據(jù)恢復(fù)到其原始狀態(tài)的原數(shù)據(jù)也存儲(chǔ)在對(duì)應(yīng)數(shù)據(jù)庫(kù)塊中。與那些在全局?jǐn)?shù)據(jù)庫(kù)上維護(hù)一個(gè)符號(hào)表的壓縮算法比較,這個(gè)獨(dú)特的設(shè)計(jì)因?yàn)樵谠L問(wèn)壓縮數(shù)據(jù)的時(shí)候不用引進(jìn)額外的I/O開(kāi)銷而顯著提升了性能。

1.2 OLTP表壓縮的益處

在給定環(huán)境下獲得的壓縮比率取決于給定的數(shù)據(jù)的自身性質(zhì),特別是數(shù)據(jù)自身的基數(shù),如某數(shù)據(jù)的基數(shù)只有0~9這10個(gè)數(shù)字,顯然在同樣情況下相對(duì)于基數(shù)為0~100的數(shù)據(jù),其占用空間少,壓縮效果好。

OLTP表壓縮,不僅僅在于節(jié)省磁盤(pán)存儲(chǔ)空間,一個(gè)顯著的優(yōu)勢(shì)是,在不事先對(duì)數(shù)據(jù)塊進(jìn)行解壓縮就可以直接讀取壓縮數(shù)據(jù)塊的內(nèi)容。因此,也就不會(huì)因?yàn)樵L問(wèn)壓縮數(shù)據(jù)而使性能大幅降低。相反的,由于要訪問(wèn)的數(shù)據(jù)塊數(shù)目少了,從而降低了I/O開(kāi)銷,也會(huì)提高性能。

1.3 最小化性能開(kāi)銷

OLTP表壓縮對(duì)讀取數(shù)據(jù)沒(méi)有產(chǎn)生任何影響,而在寫(xiě)數(shù)據(jù)(即壓縮數(shù)據(jù))的時(shí)候必須做額外的工作,所以寫(xiě)操作的性能開(kāi)銷是不可避免的,因此,Oracle數(shù)據(jù)庫(kù)采用批處理模式壓縮塊而不是每有一個(gè)寫(xiě)操作就進(jìn)行數(shù)據(jù)的壓縮。剛被初始化的數(shù)據(jù)塊在達(dá)到數(shù)據(jù)塊內(nèi)部控制的閾值(80%)之前并不壓縮。當(dāng)一個(gè)事務(wù)導(dǎo)致數(shù)據(jù)塊內(nèi)部達(dá)到設(shè)定的閾值之后,數(shù)據(jù)塊內(nèi)部所有的內(nèi)容都被壓縮,這時(shí)數(shù)據(jù)塊內(nèi)數(shù)據(jù)量會(huì)低于閾值,如果之后的某個(gè)事務(wù)再次導(dǎo)致數(shù)據(jù)塊內(nèi)部達(dá)到設(shè)定的閾值之后就再次對(duì)整個(gè)數(shù)據(jù)塊進(jìn)行壓縮。重復(fù)執(zhí)行這個(gè)過(guò)程,直到Oracle數(shù)據(jù)庫(kù)認(rèn)為進(jìn)一步壓縮不會(huì)獲得合適的收益為止。在整個(gè)過(guò)程中,只有觸發(fā)塊壓縮的事務(wù)就會(huì)有輕微的壓縮開(kāi)銷,因此,大多數(shù)的OLTP事務(wù)的性能在壓縮與未壓縮的數(shù)據(jù)塊上基本相同。

2 評(píng)測(cè)試驗(yàn)?zāi)康?/h2>

在我院的HIS應(yīng)用中,每天都會(huì)不斷產(chǎn)生的大量數(shù)據(jù),這些數(shù)據(jù)占用了大量的磁盤(pán)存儲(chǔ)空間,這也是物理I/O繁忙影響性能的重要因素,如果能夠利用Oracle11g數(shù)據(jù)庫(kù)提供的面向OLTP應(yīng)用的表壓縮技術(shù),勢(shì)必會(huì)在改善數(shù)據(jù)庫(kù)應(yīng)用的性能方面帶來(lái)好處。本次試驗(yàn)的主要目的是應(yīng)用實(shí)際數(shù)據(jù)來(lái)評(píng)測(cè)Oracle 11g數(shù)據(jù)庫(kù)表壓縮技術(shù)在壓縮完成之后對(duì)數(shù)據(jù)庫(kù)性能有多大影響,數(shù)據(jù)的壓縮比是多少。通過(guò)對(duì)未壓縮的表和壓縮過(guò)的表分別進(jìn)行查詢和更新操作,對(duì)比壓縮表與未壓縮表的執(zhí)行計(jì)劃,記錄兩種表對(duì)這些操作的所需時(shí)間,量化兩者聯(lián)機(jī)事務(wù)處理操作對(duì)數(shù)據(jù)庫(kù)性能的影響。另一方面,在試驗(yàn)過(guò)程批量導(dǎo)入數(shù)據(jù)的同時(shí),對(duì)比數(shù)據(jù)批量導(dǎo)入到未壓縮表及壓縮表的所需時(shí)間,量化兩者批量操作對(duì)數(shù)據(jù)庫(kù)性能[3-5]的影響。

3 評(píng)測(cè)試驗(yàn)設(shè)計(jì)及環(huán)境

3.1 評(píng)測(cè)試驗(yàn)設(shè)計(jì)

(1)在同一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器上進(jìn)行試驗(yàn)。為了準(zhǔn)確地反映出壓縮表與未壓縮表之間在查詢及更新方面的性能差異,需要在相同的環(huán)境下執(zhí)行操作并記錄時(shí)間,為了保證試驗(yàn)的準(zhǔn)確性,我們用同一臺(tái)服務(wù)器進(jìn)行試驗(yàn)。

(2)在相同的數(shù)據(jù)庫(kù)內(nèi)存環(huán)境下進(jìn)行試驗(yàn)。為了保證試驗(yàn)的公平性,在每次查詢及更新操作之前,需要清除數(shù)據(jù)庫(kù)高速緩存及共享池里的數(shù)據(jù)。

(3)記錄操作時(shí)間。為保證壓縮表和未壓縮表操作比較的準(zhǔn)確性,在每次執(zhí)行查詢和更新操作前后,都記錄系統(tǒng)時(shí)間。

(4)模擬真實(shí)數(shù)據(jù)。為了更能反映評(píng)測(cè)的真實(shí)性,本次試驗(yàn)的表結(jié)構(gòu)及數(shù)據(jù)采用在用HIS的病人生命體征數(shù)據(jù)采集表。

3.2 評(píng)測(cè)試驗(yàn)環(huán)境[6-7]

本次試驗(yàn)用的服務(wù)器是一臺(tái)4核的PC機(jī),具體配置為:主機(jī)Dell Vostro 260,CPU為Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz,內(nèi)存4G,操作系統(tǒng)為Microsoft Windows 7旗艦版 Service Pack 1,數(shù)據(jù)庫(kù)版本為Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit。

4 評(píng)測(cè)試驗(yàn)過(guò)程

對(duì)比試驗(yàn)過(guò)程如下:① 創(chuàng)建試驗(yàn)表結(jié)構(gòu),包括非壓縮表和壓縮表;② 批量數(shù)據(jù)導(dǎo)入操作,首先向未壓縮表中導(dǎo)入700萬(wàn)行數(shù)據(jù),記錄導(dǎo)入所需的時(shí)間及占用的數(shù)據(jù)塊個(gè)數(shù),然后向壓縮表中同樣導(dǎo)入這700萬(wàn)行數(shù)據(jù),記錄導(dǎo)入所需的時(shí)間及占用的數(shù)據(jù)塊個(gè)數(shù),對(duì)比兩種方式的性能差異;③ 在沒(méi)有索引的環(huán)境中,執(zhí)行更新操作,對(duì)比兩種方式的性能差異;④ 創(chuàng)建索引;⑤ 在有索引的環(huán)境中,執(zhí)行更新操作,對(duì)比兩種方式的性能[6-7]差異;⑥ 查詢操作,對(duì)壓縮表和未壓縮表分別進(jìn)行全表掃描和普通查詢,對(duì)比兩種方式的性能差異。

5 評(píng)測(cè)試驗(yàn)結(jié)果及分析

通過(guò)本次試驗(yàn)記錄,得到壓縮表與未壓縮表的各項(xiàng)試驗(yàn)操作的執(zhí)行時(shí)間,綜合對(duì)比數(shù)據(jù)匯總,見(jiàn)表1。

表1 壓縮表與未壓縮表的各項(xiàng)試驗(yàn)操作及執(zhí)行時(shí)間綜合對(duì)比數(shù)據(jù)匯總

從表1數(shù)據(jù)的對(duì)比可以看出,在相同的試驗(yàn)環(huán)境下,對(duì)于批量插入操作,壓縮表比未壓縮表慢92.59 s,性能降低了76.62%;對(duì)于全表掃描操作,壓縮表比未壓縮表快1.17 s,性能提升了1倍;對(duì)于空間占用數(shù)據(jù)量,壓縮表比未壓縮表少占用23789個(gè)數(shù)據(jù)塊,空間占用率下降111%;對(duì)于數(shù)據(jù)更新操作和數(shù)據(jù)查詢操作,不論加還是不加索引,壓縮表與未壓縮表在時(shí)間上相差不大,由此可見(jiàn),兩種表對(duì)于數(shù)據(jù)更新操作和數(shù)據(jù)查詢操作無(wú)明顯差異。

6 評(píng)測(cè)小結(jié)

OLTP表壓縮功能是Oracle 11g數(shù)據(jù)庫(kù)的新特性,當(dāng)執(zhí)行批量插入數(shù)據(jù)的同時(shí),對(duì)表數(shù)據(jù)進(jìn)行壓縮,試驗(yàn)結(jié)果表明,表壓縮對(duì)批量插入操作的性能影響比較大,導(dǎo)致性能明顯下降,而對(duì)于數(shù)據(jù)的查詢與更新操作,數(shù)據(jù)壓縮與不壓縮,基本無(wú)明顯差異,而對(duì)于全表掃描的查詢操作,由于壓縮表占用的數(shù)據(jù)塊減少1倍,由此使得查詢性能可以提升1倍。

通過(guò)試驗(yàn)證明,HIS中大型聯(lián)機(jī)事務(wù)處理的應(yīng)用數(shù)據(jù),可以考慮利用Oracle 11g數(shù)據(jù)庫(kù)的新特性,采用OLTP表壓縮技術(shù),在不影響運(yùn)行性能的前提下,盡可能減少數(shù)據(jù)的磁盤(pán)占用空間,從而獲得數(shù)據(jù)庫(kù)性能進(jìn)一步改善的好處。

[1] 劉志敏.Oracle數(shù)據(jù)庫(kù)應(yīng)用管理解決方案[M].北京:電子工業(yè)出版社,2002.

[2] Thomas Kyte.Oracle Database 9i/10g/11g編程藝術(shù):深入數(shù)據(jù)庫(kù)體系結(jié)構(gòu)[M].2版.北京:人民郵電出版社,2011.

[3] 馬錫坤.基于 Oracle的在線式應(yīng)用容災(zāi)系統(tǒng)的建立[J].中國(guó)醫(yī)療設(shè)備,2012,27(2):38-40.

[4] 巢子杰. Oracle數(shù)據(jù)庫(kù)優(yōu)化探究[J].軟件導(dǎo)刊,2010,(2):142-144.

[5] 魏亞楠,宋義秋.Oracle數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能優(yōu)化[J].2010, (8):204-206.

[6] Oracle? Database SQL Language Reference 11g Release 2 (11.2) E10592-02[EB/OL](2001-11-01)[2009-08-02].http://docs.oracle.com/cd/E14072_01/server.112/e10592.pdf.

[7] Oracle? Database Concepts 11g Release 2 (11.2) E10713-02[EB/ OL](1993-05-07)[2009-08-15].http://docs.oracle.com/cd/ E14072_01/server.112/e10713.pdf.

Evaluation of OLTP Table Compression of Oracle 11g Database

SHI Hong-fei, LIU Zhi-min
Computer Room, General Hospital of PLA, Beijing 100853, China

ObjectiveUsing quantitative indicators to contrast query of compressed table and noncompressed table, and update their operation performance to make technical preparations for database application of the large scale online transaction processing (OLTP).MethodsMaking experimental design and building appropriate platform. Performing specifc data manipulation and query statements on the compressed table and non-compressed tables respectively, and generating execution plan of structured query language (SQL) database. Then recording and comparing the running time and results.ResultsSpace occupied by the compressed table is less than half of space occupied by non-compressed table while full table scan operation performance is doubled. However, there is no signifcant difference between performance of data update and query operations of compressed and non-compressed tables.ConclusionLarge scale OLTP applications can take advantage of the new features of Oracle11g for table compression technology, which neither affects the operation response time nor signifcantly reduces the disk space so as to obtain the benefts of improving performance.

Oracle database; structured query language; table compression technology; hospital information system

TP311.13

A

10.3969/j.issn.1674-1633.2013.05.011

1674-1633(2013)05-0035-03

2013-02-25

國(guó)家高技術(shù)研究發(fā)展計(jì)劃(863計(jì)劃)(2012AA02A601)。

本文作者:史洪飛,解放軍總醫(yī)院計(jì)算機(jī)室主任。

劉志敏,高級(jí)工程師。

通訊作者郵箱:liuzhimin0724@163.com

猜你喜歡
聯(lián)機(jī)批量評(píng)測(cè)
多聯(lián)機(jī)焓差實(shí)驗(yàn)室制冷量測(cè)試不確定度分析
批量提交在配置分發(fā)中的應(yīng)用
次時(shí)代主機(jī)微軟XSX全方位評(píng)測(cè)(下)
次時(shí)代主機(jī)微軟XSX全方位評(píng)測(cè)(上)
海爾發(fā)布全球首個(gè)物聯(lián)多聯(lián)機(jī)云服務(wù)平臺(tái)
再立標(biāo)桿,天加GHP燃?xì)舛嗦?lián)機(jī) 助力神木市LNG站建設(shè)
采用經(jīng)濟(jì)數(shù)控車床批量車削孔類工件的再實(shí)踐
局部UV上光工藝探究
攻坡新利器,TOKEN VENTOUS評(píng)測(cè)
多品種變批量數(shù)控生產(chǎn)中快速裝夾應(yīng)用技術(shù)