碼迷,www.tparu.icu
吉利平特名人堂 > 數據庫 > 詳細

邹平特校:目前市場上有些什么樣的數據庫管理系統(DBMS),它們都有什么特點?它們之間的優缺點有什么?它們的使用場合分別是?

時間:2017-04-13 09:18:03      閱讀:5256      評論:0      收藏:0      [點我收藏+]

吉利平特名人堂 www.tparu.icu 標簽:語言   keyword   觸發器   復制表   市場份額   form   美的   內存數據   電子   

1 要求

目前市場上有些什么樣的數據庫管理系統(DBMS),它們都有什么特點?它們之間的優缺點有什么?它們的使用場合分別是?

1.1 目前市場上有些什么樣的數據庫管理系統(DBMS)

目前市場上的數據庫管理系統(DBMS)常見的品牌有:Oracle、Sybase、Informix、Microsoft SQL Server、Microsoft Access、Visual FoxPro、PostgreSQL、mySQL、DB2、Ingres、MongoDB、達夢(DM)數據庫。

1.2 它們都有什么特點?它們之間的優缺點有什么?

整體上可以把這些數據庫分為商業數據庫和開源數據庫兩類。當前主流的商業數據庫有Oracle、微軟SQL Server、IBM DB2和SybaseAdaptive SQL Server。而在開源方面,主要有三家主流數據庫:MySQL、PostgreSQL和Ingres。這兩類數據庫都已經證明了自己可以勝任數據存儲和管理的需要。但相對于商業數據庫,開源數據庫可能是比較低的數據處理數量、缺少的功能、受限制的圖形化管理,較低的安全性、或者是一些其他商業數據庫有而開源數據庫不具備的的東西。

2 商業數據庫和開源數據庫總覽

2.1 商業數據庫之Oracle

Oracle是商業數據庫的代表,具有非常豐富的功能、廣泛的平臺支持和大量的附加功能。在IDC的一個調查中,Oracle占據了數據庫市場的44%,增長了14%。

Oracle的功能從表分區和大量的統計功能,到一些高可用功能,諸如本地復制、數據鏡像和應用集群(Real Application Clusters,RAC)等。

Oracle另一個強大的功能是在線表和索引重建。在很多數據庫中,需要離線進行重建,也就是說當索引被重建的時候,不允許訪問數據,因為這個操作要求獨占性訪問對象。當然,這不是Oracle的全部功能,只是其所能提供的高級功能的一些示例。

2.2 商業數據庫之IBM DB2

在2004年,DB2數據庫的銷售主要集中在IBM大型機和它們自己的AS/400系列系統中。盡管根據2006 IDC的調查報告,DB2的市場占有率高居第二位,但是與Oracle相比,它的銷售額和市場占有率都要低很多。

現在除了IBM的專有操作系統外,DB2可以運行在Windows、LinuxUnix平臺上。新版的DB2 V9在XML處理方面具有較大的改進。在我最近的一個使用了其他數據庫的項目中,在規劃XML方面我們做了大量的額外工作。如果我們所使用的數據庫具有 DB2 V9的相應功能,或許就不會有這么多麻煩了。

另外,IBM正在通過其DB2 Everyplace進入移動領域,目前支持PDA和智能手機。

2.3 商業數據庫之微軟SQL Server

一直以來,微軟的SQL Server都只可以運行在其Windows操作系統平臺上,但是在上一年的今天,也就是2016年的3月8日,宣布推出可運行在 Linux 系統下的 SQL Server 數據庫。SQL Server的市場份額將會更快的增長。

根據IDC的統計,微軟的SQL Server是市場份額增長最快的數據庫,市場份額僅次于DB2,排名第三。

在最新版本的SQL Server 2005中,增加了許多新的功能,使其進一步對Oracle夠成威脅。其中包括表分區、在線索引操作和很多其他管理功能。從下文中你將看到,很多用戶對SQL Server的直觀、易用的管理界面深表支持。

2.4 商業數據庫之Sybase

最新版本的Sybase Adaptive Server與以前的版本相比,具有更豐富的功能設置,但是與上面Oracle和DB2兩個商業數據庫相比還是少很多,舉個例子來說,它缺少對高可用群集和在線索引重建的支持。這或許是為什么在IDC的一次調查中,它僅排名第四,只有可憐的3.2%的市場份額。

Sybase比較強大的地方在于它對資源的低占有率上。在這一方面,Sybase 15還引入了新的“專利查詢過程技術”,顯示了增強的性能和降低的硬件資源消耗。另一方面,Sybase正在通過其SQL Anywhere數據庫服務器進入移動領域。SQL Anywhere功能之一就是其常駐內存的數據庫管理系統,可以運行在Windows Mobile、Windows、Palm?OSSymbian上。

關于Sybase還有一個很有意思的歷史插曲,微軟的SQL Server是從Sybase開發而來的。微軟和Sybase簽訂了一個合約,微軟被授權可以銷售一個重新包裝的Sybase,或在它的基礎上開發一個它自己的版本。盡管微軟已經對其進行了很多修改,你依然可以在SQL Server的命令組成中看到兩者之間的淵源。

2.5開源數據庫之MySQL

MySQL是開源數據庫中的佼佼者,它的用戶數是在同類開源數據庫中是最多的,它既可以被小的新興公司所使用,也可以被采用了操作系統集群的大型Web站點所使用。

MySQL擁有很多插入式的存儲引擎,用來給用戶提供不同的所需功能,而不是默認具有全部功能。這也是為什么MySQL會在數據恢復操作中具有最佳表現的另一個原因。

自從MySQL第一版發布以來,就提供一個存儲引擎接口。它讓用戶來根據需要選擇數據存儲引擎。MySQL既有事務安全(ACID兼容)的存儲引擎(諸如InnoDB、Falcon),也有不支持事務處理的存儲引擎(MyISAM)、日志引擎(不能被更新或刪除,Archive)和通過無共享體系結構實現高可用性的群集技術, MySQL還有專有的第三方引擎,例如InfoBright和Nitro。

MySQL擁有很多實現特定功能的存儲引擎,但是并不建議你全部安裝它們。而像Google這樣的公司則編寫了自己的存儲引擎來加速它們的常用操作。

MySQL與Oracle相比的一個優勢就是它對資源的占用非常少。MySQL是實現數據恢復方面最快的數據庫,但是它的確缺少一些在Oracle中的功能。

MySQL從來沒有想過與其他數據庫在功能數量上一較高下,MySQL的目標是易用、穩定和性能。MySQL現在具有豐富的功能,已經得到了很多開發者的支持。

2.5開源數據庫之PostgreSQL

在開源數據庫中,PostgreSQL以其豐富的功能而顯得格外突出,其中包括存儲過程、表分區(partitioning)、多過程語言支持和多種數據類型和索引的支持。另外,PostgreSQL的標準兼容性和嚴格的安全功能也被眾多用戶所稱道。PostgreSQL的在線事務處理(OLTP)是其最受歡迎的功能,在開源數據庫中,它的數據倉庫方面也是表現最好的。

由于PostgreSQL是一個被不同公司支持的社區控制型開源項目,很多公司提供對它的支持,諸如Sun、Fujitsu、SRA和Red Hat和很多新興公司和顧問公司。PostgrefSQL在日本的市場情況很不錯,僅次于Oracle。

2.7開源數據庫之Ingres

在Ingres 2006版中引入了很多新功能,其中一些功能是關于大規模部署方面的,例如鍵范圍表分區(key range table partitioning)和并行查詢支持。另外,諸如存儲過程、觸發器和視圖功能早已被Ingres所支持,不過Ingres現在還不支持內部任務。

2.8嵌入式數據庫應用

數據庫的一個比較特別的應用案例是嵌入式應用程序,在這方面應用中,低資源占用成為一個必需的要求。

MySQL由于其設計理念,在這一方面被應用的比較多。微軟的SQL Server 2005 Express版也被做為嵌入式數據庫使用,它被認為是微軟數據庫引擎(MSDE)的下一版本,而且它也是完全免費的。而Oracle則又通過收購得來的 TimesTen內存數據庫來滿足嵌入式應用程序。

Linux是開源數據庫的首選操作系統,因為它們都是開源而且完全免費的產品。現在的消費電子產品市場中,Linux變種已經被廣泛應用。而這也使得開源數據庫們在嵌入式應用程序受益。

3對這些數據庫管理系統的使用場合分別是什么?

這個問題,我想以“如何選擇適合自己的數據庫的方式?”來回答。

3.1按需求來選擇

事實上,現在沒有完美無缺的數據庫,無論是商業數據庫,還是開源數據庫。我們發現,選擇一個數據庫的主要理由就是它的功能是否可以很好地支持你的應用程序。人們通常使用數據庫來完成的任務有:支持Web、事務處理、文本搜索,有的情況下復制也是一個重要的要求。在事務處理方面,Oracle看上去更有領先優勢,接下來是微軟的SQL Server。沒有一個開源數據庫具有可以與Oracle相媲美的事務處理功能。

在那些要求功能豐富的情況下,開源數據庫們并不比商業數據庫有什么優勢。人們經常提到的商業數據庫的優勢功能有存儲過程、觸發器和一些安全功能。

不過,正如我們上面提到過的,自從Ingres問世以來就支持觸發器和存儲過程。PostgreSQL對這些功能也早已支持。在MySQL的新版中最近也增加了存儲過程和觸發器功能。對于支持Web應用程序,MySQL看上去要比其他對手表現好。Web應用程序主要是對數據庫進行讀取操作。MySQL在這方面以速度快而見長。一些用戶表示,在快速閱讀操作方面,MySQL至少不比Oracle差。但是,當任務從閱讀數據庫轉向處理一個客戶購買操作的時候,用戶則可能更傾向于選擇Oracle而不是MySQL。在復制和群集功能上,MySQL給人的印象差別很大。MySQL中的單向復制表現驚人,但是,MySQl的群集功能被應用的不多,因為它只是基于內存的。

3.2按易用性和管理來選擇

開源數據庫們主要是以命令行工具中管理。盡管也有一些圖形工具可用,但是與Oracle等商業數據庫自帶的圖形管理工具相比,它們還顯得不夠靈活和穩定。在圖形化管理方面的贏家無疑是微軟。微軟的SQL Server管理工具不是基于瀏覽器的,而是自帶的一個終端平臺。這使得它有能力完成一些Web瀏覽器所不能實現的強大功能。一些用戶希望Oracle中的管理功能也和SQL Server中一樣好。

3.3按支持性來選擇

當討論開源軟件的時候我們聽到最頻繁的問題是:“我們從哪兒能得到支持?”MySQL為它自己的客戶提供24*7、30分鐘響應時間的支持。在其Unlimited服務中還有很多不同的付費支持級別。正如上面所提到的,PostgreSQL的支持來自于不同的平臺廠商,支持的內容、成本、地區和要求因廠商不同而不完全一樣。由于開源數據庫的源代碼可以被任何人查看和修改,這導致了幾個潛在的問題。一個合法客戶對數據庫進行了修改會發生什么?Sun公司不會對這種情況提供支持,而MySQL公司將提供支持,但是需要滿足一些特定條件和情況。事實上,能對這些開源產品進行修改的客戶的數量是非常少的——這與產品的復雜度有關系。另一個開源軟件的問題是,任何人可以對產品進行修改的現實會帶來一些潛在的漏洞或安全問題。諸如此類的事情已經發生過,客戶需要確信從熟悉的網站下載這些產品,并且確認它們可以通過MD5校驗。

3.4按成本因素來選擇

數據庫中成本因素是非常簡單的。對于開源數據庫,你可以免費得到授權,但是同時也犧牲了一些功能。而對于商業數據庫,你可以使用更多強大的功能,但是你需要按每個拷貝或每個CPU來支付授權費用。對于開源數據庫,在維護成本方面,盡管看上去你可以選擇不從廠商那兒購買支持合同,因為你擁有源代碼,但是實際上并不如此簡單。

雖然你可以選擇修改源代碼,但是當新版數據庫出來后,你所做的修改不得不重新進行實施,而且你曾經所做的修改可能已經沒有必要,因為新版中增加了相應的功能。對我們來說,唯一比較實際的做法就是成為這個數據庫開發社區中的一員,這可能需要你投入大量的時間,其成本或許會超過購買一個支持合同。對于商業數據庫,你只有面臨一個選擇,如果你想得到來自它們的維護支持,那么就購買它們的支持合同。

4結論

總體來說,選擇什么樣的數據庫要看你的應用程序的需要。如果它是以閱讀數據庫為主的Web應用,MySQL無疑是最佳選擇。而如果需要那些事務處理和復雜的數據庫功能,那么可能是Oracle和微軟的SQL Server的地盤。如果你需要一些商業數據庫的高級功,但又不想支付授權費用,那么看一下PostgreSQL或Ingres。對于嵌入式數據庫應用, MySQL和Sybase所占有的系統資源最少。

 

 刷粉絲:覺得文章寫得還行的童鞋請關注我,

     你們的關注是我最大的動力!

 

目前市場上有些什么樣的數據庫管理系統(DBMS),它們都有什么特點?它們之間的優缺點有什么?它們的使用場合分別是?

標簽:語言   keyword   觸發器   復制表   市場份額   form   美的   內存數據   電子   

原文地址://www.cnblogs.com/kerven/p/6507435.html

(0)
(4)
   
舉報
評論 一句話評論(0
登錄后才能評論!
? 2014 吉利平特名人堂 版權所有 京ICP備13008772號-2
迷上了代碼!
天天pk10免费计划软件苹果手机版 时时彩 二十一点必胜法原理 看牌抢庄牛牛20元进场 北京pk10现场视频直播 福建时时分析软件 全天北京pk10最牛最稳计划 重庆时时过年停几天 pk10计划稳定版 网上买彩票技巧稳赚 北京pk10赛车开奖时间 二八杠棋牌正规 全天重庆时时彩万计划 体彩彩票电子票号 足球计算器让球胜平负 重庆时时彩龙虎走势图