1. 程式人生 > >數據庫的比較

數據庫的比較

結構 界面 dede c語言實現 實現 search c-c odbc 甲骨文

http://www.cnblogs.com/suncan0/p/4735110.html

Oracle

Oracle 前身叫SDL,由Larry Ellison 和另兩個編程人員在1977創辦,他們開發了自己的拳頭產品,在市場上大量銷售,1979 年,Oracle公司引入了第一個商用

SQL 關系數據庫管理系統。Oracle公司是最早開發關系數據庫的廠商之一,其產品支持最廣泛的操作系統平臺。目前Oracle關系數據庫產品的市場占有率名列前茅。

Oracle公司是目前全球最大的數據庫軟件公司,也是近年業務增長極為迅速的軟件提供與服務商。DC(Internet Data Center)2007統計數據顯示數據庫市場總量份額如下:Oracle 44.1% IBM 21.3%Microsoft 18.3% Teradata 3.4% Sybase 3.4%。不過從使用情況看,BZ Research的2007年度數據庫與數據存取的綜合研究報告表明76.4%的公司使用了Microsoft SQL Server,不過在高端領域仍然以Oracle,IBM,Teradata為主。

2007年7月12日,甲骨文公司在美國紐約宣布推出數據庫Oracle 11g,這是Oracle數據庫的最新版本。Oracle介紹說,Oracle 11g有400多項功能,經過了1500萬個小時的測試,開發工作量達到了3.6萬人/月。Oracle 11g在安全,XML DB,備份等方面得到了很大提升。Oracle發展歷史見轉載《書寫歷史的甲骨文-ORACLE公司傳奇》一文。

SQL Server

Microsoft SQL Server是微軟公司開發的大型關系型數據庫系統。SQL Server的功能比較全面,效率高,可以作為中型企業或單位的數據庫平臺。SQL Server可以與Window操作系統緊密集成,不論是應用程序開發速度還是系統事務處理運行速度,都能得到較大的提升。對於在Windows平臺上開發的各種企業級信息管理系統來說,不論是C/S(客戶服務器)架構還是B/S(瀏覽器/服務器)架構,SQL Server都是一個很好的選擇。SQL Server的缺點是只能在Windows系統下運行。1987 年,微軟和IBM合作開發完成

OS/2,IBM 在其銷售的OS/2 ExtendedEdition 系統中綁定了OS/2Database Manager,而微軟產品線中尚缺少數據庫產品。為此,微軟將目光投向Sybase,同Sybase 簽訂了合作協議,使用Sybase的技術開發基於OS/2平臺的關系型數據庫。1989年,微軟發布了SQL Server 1.0 版。Microsoft在與Sybase分道揚鑣後,隨後在其6.05和7.0版本中重寫了核心數據庫系統,如今SQLServer 2008 已到來。

mySQL是一個小型關系型數據庫管理系統,開發者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。目前MySQL被廣泛地應用在Internet上的中小型網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站數據庫。MySQL的官方網站的網址是:

www.mysql.com

MySql
優點
MySql是一個快速、多線程、多用戶的SQL數據庫服務器。幾乎是免費的,支持正規的SQL查詢語言和采用多種數據類型,能對數據進行各種詳細的查詢等。
  MySql的核心程序采用完全的多線程編程。線程是輕量級的進程,它可以靈活地為用戶提供服務,而不過多的系統資源。用多線程和C語言實現的MySql能很容易充分利用CPU。
  MySql可運行在不同的操作系統下。簡單地說,MySql可以支持Windows95/98/NT/2000以及UNIX、Linux和SUN OS等多種操作系統平臺。這意味著在一個操作系統中實現的應用可以很方便地移植到其他的操作系統下。
  MySql有一個非常靈活而且安全的權限和口令系統。當客戶與MySql服務器連接時,他們之間所有的口令傳送被加密,而且MySql支持主機認證。
  MySql支持ODBC for Windows。MySql支持所有的ODBC 2.5函數和其他許多函數,這樣就可以用Access連接MySql服務器,從而使得MySql的應用被大大擴展。
  MySql支持大型的數據庫。雖然對於用PHP編寫的網頁來說只要能夠存放上百條以上的記錄數據就足夠了,但MySql可以方便地支持上千萬條記錄的數據庫。作為一個開放源代碼的數據庫,MySql可以針對不同的應用進行相應的修改。
  MySql擁有一個非常快速而且穩定的基於線程的內存分配系統,可以持續使用面不必擔心其穩定性。事實上,MySql的穩定性足以應付一個超大規模的數據庫。
  強大的查詢功能。MySql支持查詢的SELECT和WHERE語句的全部運算符和函數,並且可以在同一查詢中混用來自不同數據庫的表,從而使得查詢變得快捷和方便。
  PHP為MySql提供了強力支持,PHP中提供了一整套的MySql函數,對MySql進行了全方位的支持。

缺點
比較的難學;
MySQL不完全支持陌生的關鍵詞;
MySQL也缺乏一些存儲程序的功能;
使用缺省的ip端口,但是有時候這些ip也會被一些黑客闖入;
使用myisam配置,如果你不慎損壞數據庫,結果可能會導致所有的數據丟失;

幾款數據庫的比較

1、性能

SQL Server 老版本多用戶時性能不佳,新版本的性能有了明顯的改善,各項處理能力都有了明顯的提高。保持了多項TPC-C紀錄。具體參見http://www.tpc.org/

Oracle 性能最高,保持Windows NT下的TPC-D和TPC-C的世界紀錄。

2、可伸縮性,並行性

SQL Server 以前版本SQL Server並行實施和共存模型並不成熟。很難處理大量的用戶數和數據卷。伸縮性有限。新版本性能有了較大的改善,在Microsoft

Advanced Servers上有突出的表現,超過了他的主要競爭對手。

Oracle 並行服務器通過使一組結點共享同一簇中的工作來擴展Window NT的能力,提供高可用性和高伸縮性的簇的解決方案。如果Windows NT不能滿足需要, 用戶可以把數據庫移到UNIX中,具有很好的伸縮性。Oracle的並行服務器對各種UNIX

平臺的集群機制都有著相當高的集成度。

3、安全性

SQL server Microsoft Advanced Server 獲得最高安全認證,服務器平臺的穩定性是數據庫的穩定性的基礎,新版本的SQL的安全性有了極大的提高。

Oracle Server 獲得最高認證級別的ISO標準認證。

4、操作

SQL Server 操作簡單,采用圖形界面。管理也很方便,而且編程接口特別友好(它的SQL-DMO讓編程變得非常方便!) ,從易維護性和價格上SQL Server 明顯占有優勢。

Oracle 較復雜, 同時提供GUI和命令行,在Windows NT和Unix,Linux 下操作相同。對數據庫管理人員較高。

5、使用風險

SQL Server 完全重寫的代碼,性能和兼容性有了較大的提高,與Oracle,DB2的性能差距明顯減小。該產品的出臺經歷了長期的測試,為產品的安全和穩定進行了全面的檢測,安全穩定性有了明顯的提高。經歷了長期的測試,不斷延遲,許多功能需要時間來證明,並不十分兼容。

Oracle 長時間的開發經驗,完全向下兼容,得到廣泛的應用,完全沒有風險。可以安全的進行數據庫的升級,在企業、政府中得到廣泛的應用。並且如果在WINNT上法滿足數據的要求,可以安全的把數據轉移到UNIX上來。

6、開放性

SQL Server 只能在Windows 上運行,C/S結構,沒有絲毫的開放性,操作系統的系統的穩定對數據庫是十分重要的。只支持Windows客戶,可以用ADO,DAO,OLEDB,ODBC連接。Windows9X系列產品是偏重於桌面應用,NT server適合各種大中小型型企業。操作系統的系統的穩定對數據庫是十分重要的。 Windows平臺的可靠性,安全性經過了最高級別的C2認證的。在處理大數據量的關鍵業務時提供了較好的性能。而且windows平臺的可靠性,安全性和伸縮性是非常有限的。它不象unix那樣久經考驗,尤其是在處理大數據庫。

Oracle 能在所有主流平臺上運行(包括Windows)。完全支持所有的工業標準。采用完全開放策略。多層次網絡計算,支持多種工業標準,可以用ODBC,JDBC,OCI等網絡客戶連接。可以使客戶選擇最適合的解決方案。對開發商全力支持

7、易維護性和價格

SQL Server 從易維護性和價格上SQL Server明顯占有優勢。基於Microsoft的一貫風格,SQL Server的圖形管理界面帶來了明顯的易用性,微軟的數據庫管理員培訓進行的比較充分,可以輕松的找到很好的數據庫管理員,數據庫管理費用比較低,SQL Server的價格也是很低的,但是在License的購買上會擡高價格。總體來說SQL Server

的價格在商用數據庫中是最低的。

Oracle 從易維護性和價格體來說Oracle的價格是比較高的,管理比較復雜,由於Oracle的應用很廣泛,經驗豐富的Oracle數據庫管理員可以比較容易的找到,從而實現Oracle的良好管理。因此Oracle的性能價格比在商用數據庫中是最好的。

8、數據庫二次開發

SQL Server 數據庫的二次開發工具很多,包括Visual C++, Visual Basic等開發工具,可以實現很好的

Windows應用。開發容易。

Oracle 數據庫的二次開發工具很多,涵蓋了數據庫開發的各個階段,開發容易。

INFORMIX

在銀行業中得到廣泛的應用,但是在中國的經驗豐富的人員很少。

經過以上比較,我們得出結論如下:一般的中小型企業或者中小型的應用中,采用MS SQL Server 作為數據平臺,既可以節約資金,又便於維護管理。小型應用主要考慮的是資金問題,SQL Server的資金投入最小,是中小型應用的最佳選擇。大型應用系統要求有較高的數據處理能力,一般應該采用了高性能的大型數據庫管理系統——Oracle大型高可靠性要求的系統安全穩定性是首要考慮的因素,Oracle 能夠提供很高的安全穩定的性能,因此Oracle 是

在國內的大型數據庫的必然的選擇。在國外的巨型企業中很多采用全套IBM解決方案,使用DB2作為公司的數據倉庫,可以達到幾乎與Oracle相同的安全穩定性和相近的性能,但是國內使用DB2的人很少,經驗豐富的管理員更少,很難實現很好的數據庫管理。在銀行和證券系統中,采用安全性較好的INFORMIX和SYBASE。隨著SQL2000的發布和完善,在大型數據庫應用中Microsoft也將占一席之地。

對於流動人口管理系統來說,由於區縣的每個人都要有一條記錄,一個市或縣的人口數量一般達到10萬,有些大縣甚至達到100萬級,每一個人的記錄包括出生年月,戶口所地,姓名,性別??,如果育齡婦女占1/3,則大約有30萬條數據,因此系統數據量不是很大,屬於中小型應用在此,我們建議采用Microsoft SQL Server數據庫作為後臺的數據庫。這主要是考慮系統的性能價格比,和易於管理性,易維護性。

如前所述,Microsoft SQL Server是基於Windows 2000 Advanced Server服務器的,我們通過TPC的網站可以看到Microsoft SQL Server的性能已經穩居數據庫應用的前位,可以滿足系統的穩定性和大數據量的要求。對於小縣/區來說,系統的數據容量較小,采用WINN平臺安裝數據庫也可以較好的滿足要求。當人口增加,數據量變大的時候,

Microsoft SQL Server也可以很好的滿足數據管理的要求數據庫的穩定是建立在操作系統穩定的基礎上。Windows 2000 Advanced Server經過了最嚴格的安全認證,獲得了最高的C2級別的安全認證標準。由此可以證明Windows 2000 Advanced Server的系統穩定性是極高的,他的代碼經過檢驗,證明是穩定的。Microsoft SQL Server的性能我們已經在TPC網站上看到了,某些大型電信級的數據庫也以Microsoft SQL Server作為數據支持。數據庫良好穩定的運行需要管理員的辛勤工作,管理員的經驗直接關系到數據庫的安全穩定,MS SQL SERVER在中國的企業和政府得到了廣泛的應用,有大量經驗豐富的管理員。MS SQL SERVER 數據庫的管理和操作是最簡單的,整個系統的安全性和穩定性也較好,而且性能價格比最高,完全滿足人口管理的穩定安全的要求,同時節約資金,降低成本,是我們理想的選擇。

因此,基於對人口管理系統的性能最優,安全穩定性和易於管理的綜合要求,我們建議選擇Microsoft SQL SERVER數據庫作為後臺數據服務基礎。

數據庫的比較