主流數據庫管理系統介紹
目前有許多DBMS產品,如DB2、Oracle、Microsoft SQL Server、Sybase SQLServer、Informix、MySQL等,它們在數據庫市場上各自占有一席之地。下面簡要介紹幾種常用的數據庫管理系統。
(1)DB2
DB2第一種使用使用SQL的數據庫產品。DB2 於1982 年首次發布,現在已經可以用在許多操作系統平臺上,它除了可以運行在OS/390和VM 等大型機操作系統以及中等規模
的AS/400 系統之外,IBM還提供了跨平臺(包括基於UNIX 的LINUX,HP-UX,Sun Solaris,
以及SCO UnixWare;還有用於個人電腦的Windows 2000系統)的DB2 產品。應用程序可以通過使用微軟的ODBC接口、Java的JDBC接口或者CORBA接口代理來訪問DB2數據庫。
DB2 有不同的版本,比如DB2 Everyplace是為移動用戶提供的一個內存占用小且性能出色的版本;DB2 for z/OS則是為主機系統提供的版本;Enterprise Server Edition(ESE)是一種適用於中型和大型企業的版本;Workgroup Server Edition(WSE)主要適用於小型和中型企業,它提供除大型機連接之外的所有ESE 特性;而DB2 Express則是為開發人員提供的可以免費使用的版本。
IBM 是最早進行關系數據庫理論研究和產品開發的公司,在關系數據庫理論方面一直走在業界的前列,所以DB2 的功能和性能都是非常優秀的,不過對開發人員的要求也比其他數據庫系統更高,使用不當很容易造成宕機、死鎖等問題;DB2 在SQL的擴展方面比較保守,很多其他數據庫系統支持的SQL 擴展特性在DB2 上都無法使用;同時DB2 對數據的類型要求也非常嚴格,在數據類型不匹配的時候會報錯而不是進行類型轉換,而且如果發生精度溢出、數據超長等問題的時候也會直接報錯,這雖然保證了數據的正確性,但是也使得基於DB2的開發更加麻煩。因此,很多開發人員稱DB2 為“最難用的數據庫系統”。
(2)Oracle
Oracle是和DB2 同時期發展起來的數據庫產品,也是第二個采用SQL的數據庫產品。Oracle從DB2等產品中吸取到了很多優點,同時又避免了IBM的官僚體制與過度學術化,大膽的引進了許多新的理論與特性,所以Oracle無論是功能、性能還是可用性都是非常好的。
(3)Microsoft SQL Server
Microsoft SQL Server 是微軟推出的一款數據庫產品。細心的讀者也許已經發現我們前面提到了另外一個名字非常相似的Sybase SQLServer,這裏的名字相似並不是一種巧合,這還要從Microsoft SQL Server 的發展史談起。
微軟當初要進軍圖形化操作系統,所以就開始和IBM“合作”開發OS/2,最終當然無疾而終,但是微軟就很快的推出了自己的新一代視窗操作系統;而當微軟發現數據庫系統這塊新的市場的時候,微軟沒有自己重頭開發一個數據庫系統,而是找到了Sybase來“合作”開發基於OS/2 的數據產品,當然微軟達到目的以後就立即停止和Sybase的合作了,於1995
年推出了自己的Microsoft SQL Server6.0,經過幾年的發展終於在1998年推出了轟動一時的Microsoft SQL Server7.0,也正是這一個版本使得微軟在數據庫產品領域有了一席之地。正因為這段“合作”歷史,所以使得Microsoft SQL Server 和Sybase SQLServer 在很多地方非常類似,比如底層采用的TDS協議、支持的語法擴展、函數等等。
微軟在2000年推出了Microsoft SQL Server 2000,這個版本繼續穩固了Microsoft SQL Server的市場地位,由於Windows操作系統在個人計算機領域的普及,Microsoft SQL Server理所當然的成為了很多數據庫開發人員的接觸的第一個而且有可能也是唯一一個數據庫產品,很多人甚至在“SQL Server”和“數據庫”之間劃上了等號,而且用“SQL”一次來專指Microsoft SQL Server,可見微軟的市場普及做的還是非常好的。做足足夠的市場以後,微軟在2005年“審時度勢”的推出了Microsoft SQL Server 2005,並將於2008年發布新一代的Microsoft SQL Server 2008。
Microsoft SQL Server 的可用性做的非常好,提供了很多了外圍工具來幫助用戶對數據庫進行管理,用戶甚至無需直接執行任何SQL 語句就可以完成數據庫的創建、數據表的創建、數據的備份/恢復等工作;Microsoft SQL Server 的開發者社區也是非常龐大的,因此有眾多可以參考的學習資料,學習成本非常低,這是其他數據庫產品做不具有的優勢;同時從Microsoft SQL Server 2005開始開發人員可以使用任何支持.Net的語言來編寫存儲過程,這進一步降低了Microsoft SQL Server 的使用門檻。
不過正如微軟產品的一貫風格,Microsoft SQL Server 的劣勢也是非常明顯的:只能運行於Windows 操作系統,因此我們無法在Linux、Unix 上運行它;不管微軟給出什麽樣的測試數據,在實際使用中Microsoft SQL Server 在大數據量和大交易量的環境中的表現都是不盡人意的,當企業的業務量到達一個水平後就要考慮升級到Oracle或者DB2了。
(4)MySQL
MySQL是一個小型關系型數據庫管理系統,開發者為瑞典MySQL AB 公司。目前MySQL被廣泛地應用在中小型系統中,特別是在網絡應用中用戶群更多。MySQL 沒有提供一些中小型系統中很少使用的功能,所以MySQL的資源占用非常小,更加易於安裝、使用和管理。
由於MySQL是開源的,所以在PHP和Java 開發人員心中更是首選的數據庫開發搭檔,目前Internet上流行的網站構架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統,Apache 作為Web 服務器,MySQL 作為數據庫,PHP 作為服務器端腳本解釋器。
MySQL目前還很難用於支撐大業務量的系統,所以目前MySQL大部分還是用來運行非核心業務;同時由於MySQL在國內沒有足夠的技術支持力量,所以對MySQL的技術支持工作是由ISV或者系統集成商來承擔,這也導致部分客戶對MySQL比較抵制,他們更傾向於使用有更強技術支持力量的數據庫產品。
主流數據庫管理系統介紹