現(xiàn)實(shí)世界的BENCHMARK
Cache和Oracle數(shù)據(jù)庫的比較
摘要
我們做了一個把數(shù)據(jù)放入數(shù)據(jù)庫以供分析真實(shí)的應(yīng)用程序的性能基準(zhǔn)測試。為了執(zhí)行Benchmark,一個基于Oracle的應(yīng)用程序的一個單元用CachéObjectScript重寫。原模塊的功能在Caché上重現(xiàn)只需要40人小時。
我們記錄了基于Caché的單元完成特定任務(wù)所需的時間,并和現(xiàn)有的Oracle數(shù)據(jù)庫進(jìn)行比較,結(jié)果是 Caché應(yīng)用程序快5倍,它僅用280分鐘就完成了用Oracle需1441分鐘完成的數(shù)據(jù)加載和過濾任務(wù)。
介紹
Meralco是一家位于菲律賓的電力供應(yīng)商。目前它使用Oracle作為它們的數(shù)據(jù)庫。每個月有大量的文本數(shù)據(jù)存進(jìn)數(shù)據(jù)庫,被過濾,以供分析。為了改進(jìn)它的數(shù)據(jù)庫性能,Meralco聯(lián)系了Digital Dimensions 公司,一個Intersystems高效的Caché 數(shù)據(jù)庫供應(yīng)商。Meralco同意讓Digital Dimensions和Intersystems復(fù)制它的數(shù)據(jù)庫ETL中的Field Order模塊(選取,傳輸和儲存)應(yīng)用程序到基于Caché的系統(tǒng)上,以對比Caché和Oracle的性能。
表格命令單元
Meralco基于Oracle 8i的Field Order模塊用來取得Field中產(chǎn)生的文本文件,并生成兩張表——維表和事實(shí)表,他們分別用來分析和報告。為了完成任務(wù),它要執(zhí)行下列步驟:
1. 表中的多個文本文件(ordenes.txt和gcahorde.txt)要存在兩張表ORDENED和GCAHORDE中。在基于Oracle的應(yīng)用程序中,這通過OracleSQL*Loader(專用名詞)來完成。
2. GCAHORDE表被過濾,生成GCAHORDE-Filtered表。
3. 運(yùn)用Oracle Package和存儲程序,由GCAHORDE-Filtered和ORDENED生成表或維表DD_FIELD_ORDER。
4. 運(yùn)用Oracle Package和存儲程序,由GCAHORDE-Filtered和ORDENED生成D F_FIELD_ORDER
重寫表格命令單元
Caché允許用ODBC和JDBC存取數(shù)據(jù),這樣許多傳統(tǒng)關(guān)系型應(yīng)用程序只要做少許變動就可以在Caché數(shù)據(jù)庫上運(yùn)行。象Meralco的表格命令單元這樣極度依靠存取程序的應(yīng)用程序是個例外。把一個傳統(tǒng)關(guān)系型應(yīng)用程序轉(zhuǎn)換到Caché,這些存程序需要重新用Caché ObjectScript編寫。因此,用Caché ObjectScript重寫Field Order模塊的功能應(yīng)該比改寫現(xiàn)存的編碼要快。
此方法的另一個好處就是允許基于Caché的單元采用Caché對輸入文本文件的預(yù)處理功能。因?yàn)閺脑嫉膅cahorde.txt文件生成的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫時就已被過濾了;贑aché的單元就不需要另外的過濾步驟了。
在Meralco的指導(dǎo)下,Intersystems開發(fā)了基于Caché的Field Order模塊,對于熟悉Caché的開發(fā)人員只需要40人小時。
結(jié)果
Caché和Oracle 8i的表格命令單元處理相同的文本文件,每種軟件完成不同任務(wù)的時間都被記錄,Caché運(yùn)行時間比Oracle快4-23倍。結(jié)果如下:
任務(wù) Oracle Cache 運(yùn)行時間
(Oracle:Cache)
時間 記錄 時間 記錄
存儲ORDENEDS 138分鐘 927,857 6分鐘 927,857 23:1
存儲和過濾ORDENEDS 245分鐘 90,349 23分鐘 90,349 10:1
生成FO維度表 168分鐘 1,018,216 24分鐘 1,018,216 7:1
生成FO事實(shí)表 890分鐘 1,018,216 233分鐘 1,018,216 4:1
存儲和過濾數(shù)據(jù)總的時間 1441分鐘 286分鐘 5:1
*13,396,510條源記錄被過濾,90,349條記錄被加載
結(jié)論
在這個事實(shí)的數(shù)據(jù)倉庫應(yīng)用的性能測試中運(yùn)行程序中,在執(zhí)行數(shù)據(jù)存儲和過濾功能時,Caché比Oracle快5倍。把基于Oracle的應(yīng)用程序重寫成基于Caché的應(yīng)用程序需要40人小時。
|
|