達夢資料庫之初步測試

ssanxsk發表於2022-12-21

    本測試報告基於武漢華工達夢資料庫有限公司(以下簡稱達夢)企業版資料庫 DM8 ,安裝軟體來自達夢公司的官方網站,執行環境為 Windows 10 。由於時間短促以及應用於生產環境時間不長,本報告並未涉及 DM 資料庫深層次的技術和效能問題,只就一些簡單的使用和相關內容做出初步報告。另外,本報告主要以常用的 Oracle SQL Server 資料庫作為比較物件。

一、優點:

1 、軟體大小:

     相對而言, DM 資料庫系統安裝軟體體積較小,目前的最新版本 DM8 企業版安裝映象(dm8_20220525_x86_rh6_64.iso)大約為 910M Oracel 11g oracle 11g R2 X6 4 )大約為 2.12G SQL Server2016 cn_sql_server_2016_x64.iso )大約為 2.28G

2 、安裝與解除安裝:

    DM 資料庫安裝比 Oracle SQL Server 都要簡單得多,按照預設模式安裝即可,除非有特別需求,基本上不用更改設定。同樣, DM 資料庫解除安裝也很簡單,並且能夠把自身解除安裝得比較徹底。而 Oracle 解除安裝比較困難,解除安裝完畢後會留有一些配置資訊,很難進行二次安裝。 SQL Server 雖然解除安裝不困難,但安裝過程相對繁瑣,檢查和配置項較多。

    另外, Oracle 資料庫在安裝時,需要另外配置本地網路服務名, DM 資料庫與 SQL Server 類似,在安裝過程中或安裝完成後直接配置資料庫例項即可。

3 、連線使用:

    DM 資料庫的管理介面跟 SQL Server 高度相似,自身帶有一個管理工具( Manager ),對於熟悉 SQL Server 的人員來說很容易上手,可以在其中方便地進行模式、角色、使用者、許可權、資料表等的建立和維護。而 Oracle 的管理需要使用整合開發除錯工具 PL/SQL Developer ,相對來講不如前兩者方便。

     在開發環境中, DM 資料庫的連線比較簡單,跟 SQL Server 相似,一般只需提供資料庫伺服器的 IP 地址、使用者名稱、密碼三項內容即可,形如“ Server=IP; User Id=xxx; PWD=xxxxx ”。 Oracle 稍有不同,需要提供資料來源( data source ),即單獨配置的網路服務名。

4 、相容性:

DM 資料庫有良好的相容性,對於 Oracle SQL Server 使用者來說,都有似曾相識的感覺。尤其是與 Oracle 高度相容,後者的函式、變數型別基本上可以直接應用於 DM 資料庫。

作為相容性的一個例子,對於常用的資料庫自增列, DM 資料庫既支援像 SQL Server 中的定義方式:

"ID" INT IDENTITY(1, 1) NOT NULL

也支援像 Oracle 在序列( Sequences )中單獨定義。這樣,既方便了新建資料庫時自增列的定義,又保證了 Oracle 中原有資料庫向 DM 資料庫的無損遷移。

5 、安全性:

DM 資料庫有較高的安全性,從架構方面說,採用了資料庫“三權分立”的安全機制,其安全級別達到國際標準 B1 級,能從根本上保證資料的安全。簡單地說,就是把系統管理員分為資料庫管理員( DBA )、資料庫安全管理員( SSO )、資料庫審計員( AUDITOR )三類,其軟體系統程式也相應的分成了這三類。 DBA 負責自主訪問控制及系統維護與管理方面的工作, SSO 負責強制訪問控制, AUDITOR 負責系統的審計。該管理程式可做到 三權分立 ,各行其責,相互制約,從而保證資料庫的安全性。

另外,在建立資料表的欄位時,可以直接設定列的加密屬性,配置項包括加密模式(透明、半透明)、加密演算法( DES AES 等)、雜湊演算法( MAD SHA )等, 這些加密配置可以在建立資料表時定義,也可以在資料表建成後另行定義。

二、不足:

1 、欄位資料型別:

出於跟其他資料庫相容性的考慮, DM 資料庫欄位可定義的資料型別過多,顯得比較亂。作為對比,粗略統計, Oracle 大約有 18 種資料型別,而 DM 資料庫則有 49 種之多。尤其是數值型別, DM 資料的數值型別過於紛雜,有些根本沒有必要。不過正像前面說的,保留的目的可能是為了跟其他資料庫系統的相容。

說句題外話,達夢設定這麼多資料型別,似乎顯得有些自信心不足,把大大小小的資料庫系統都照顧到,即無必要,也把自己弄得雜亂。

2 、大小寫敏感:

    DM 資料庫安裝過程中,有一個“字串比較大小寫敏感”的選項,預設選中。如果不更改,在資料表的欄位名定義時,要注意採用大寫字元,如果採用小寫字母,在進行讀寫操作時,由於大小字母的不同,可能會出現找不到欄位的情況,此時就需要加上雙引號,書寫不大方便。

關於這一點, Oracle 做得比較好,不管欄位名定義時鍵盤是否處於大寫模式,均自動轉換為大寫字母,從而避免了後續使用資料庫時可能出現的非法欄位名錯誤。

3 、資料庫效能:

     總體來說, DM 資料庫系統在穩定性、高可用性方面比 Oracle SQL Server 稍遜一些,比如 Oracle 資料系統具有網格計算功能以提高應用系統的服務水平、減少停機時間以及更加有效地利用 IT 資源;利用自學習功能自動進行 SQL 最佳化系統全域性變數( SGA )和程式全域性變數( PGA )等。

4 、資料庫生態:

    DM 資料庫的市場佔有量無法跟 Oracle SQL Server 相提並論,其資料庫生態也有待建 全和擴大,使用者在使用過程中遇到問題時,資料的查詢和解答的便利性和豐富性方面不如後兩者。不過 DM 資料庫在售後服務和響應速度、費用等方面要更有優勢,對使用者來說這一點比較重要。

三、效能測試:

     此處所說的效能測試,主要考察 Oracle SQL Server DM 三個資料庫系統在進行大批次的資料讀寫操作時所耗費的時間,從而簡單地對這三個資料庫的響應速度進行粗略地比較。當然,這種比較必須在相同的軟硬體配置和環境下進行。

以下是對三個資料庫進行讀寫操作的測試資料(單位:秒):

資料庫

Oracle

SQL   Server

DM


  100000條記錄

1

27.17

21.03

17.64

2

29.45

19.52

17.3

3

29.02

20.05

18.14

平均

28.55

20.20

17.69


  300000條記錄

1

4.84

2.1

3.43

2

4.88

2.09

3.47

3

4.85

2.09

3.36

平均

4.86

2.09

3.42

需要說明的是,上述測試只是簡單的資料庫讀寫操作,其中寫操作採用單步迴圈的方式,未進行 SQL 語句的最佳化處理。為保證相對準確,讀寫操作均以同樣的方式執行三次。

上述測試並不能完全反映資料庫的效能,不過大體可以看出,在一般的應用場景下, DM 資料庫的讀寫效能並不比其他資料庫差。另外,從測試資料也可以看出, Oracle 資料庫對硬體資源要求較高,在配置較低的情況下,其資料讀寫效能反而不如另外兩個資料庫。

有關測試採用的軟體硬體環境如下:

硬體平臺:聯想膝上型電腦,記憶體 8G CPU Intel i5-8250U

作業系統: Windows 10 企業版。

測試軟體:基於 C# 開發的資料庫讀寫程式。

資料庫: Oracle 11g Sql Server2012 標準版, DM 8 企業版。

    資料表:共 8 個欄位,欄位型別包括整型、字元型、日期型、浮點型、位元組型。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29511665/viewspace-2928922/,如需轉載,請註明出處,否則將追究法律責任。

相關文章