萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> SQLServer與MySQL數據庫對比

SQLServer與MySQL數據庫對比

   Microsoft SQL Server 2008作為一個數據庫平台在所有重要商業領域都勝過MySQL。它提供了一個大型的資源網絡、行業領先的性能和企業級的可擴展性、最高級的安全性、一個廣泛的商業智能平台——以一個較低的總體擁有成本(TCO)提供所有這些。

  · 合作伙伴系統

  · 可擴展性

  · 安全性

  · 高有效性

  · 商業智能

  · 總體擁有成本(TCO)

  合作伙伴系統

  SQL Server以一個大型的資源網絡和一個廣泛的合作伙伴系統來支持你的業務。SQL Server是企業的首選數據庫,目前有74.7%的企業使用SQL Server。

  · Microsoft具有世界上最多的開發人員和支持團隊。MySQL有大約70個開發人員和50個支持人員。

  · 大約15,000個ISV支持SQL Server。而支持MySQL的ISV不到400個。.

  · 在全球Microsoft合作計劃中數據管理資格認證的大約2,000個解決方案合作商是有能力為你的企業提供支持。而MySQL 的較小合作商系統只能提供有限的資源。

  可擴展性

  SQL Server支持行業領先的性能和企業級可擴展性。 SQL Server提供了一個基礎構建,它可以與你的企業一起發展, 而且它還被證明可以處理大型的工作負載.

  · 由行業標准基准驗證的性能,包括TPC和SAP。MySQL沒有行業標准性能基准。MySQL性能要求一般是基於可能不適合你企業的配置。

  · 一個具有豐富特性、高性能和基於成本的查詢優化器改進了復雜查詢的效率。MySQL只有一個基本的查詢優化器,而這個優化器沒有優化以提供最好的性能,並因此只提供有限的可擴展性。

  · 分布式分區視圖擴展了可擴展性。MySQL沒有分布式分區視圖。

  安全性

  SQL Server 提供了最高級的安全性。據國家漏洞數據庫顯示,SQL Server在過去三年裡沒有出現一個漏洞。而MySQL的用戶在同一時期受到很多安全挑戰。

  研究機構證實SQL Server的高安全性

  · Security Innovations發現在Windows 上的SQL Server比Linux上的MySQL更加安全,它的漏洞比其減少46%,而風險天數比其減少48%。

  · ESG報告指出,MySQL的漏洞比2004年、2005年和2006年的Microsoft SQL Server、Sybase和IBM DB2的漏洞要多。

  SQL Server提供了:

  · 可靠性:豐富的安全特性保護了數據和網絡資源。

  · 第三方評估,安全確認所喜歡的方式: Microsoft服從共同准則(Common Criteria),將其作為一個證明和接受的驗證過程。MySQL不包括共同准則證明或C2(NSA)。

  · 隱密性:SQL Server集群支持在一個虛擬機上的Kerberos驗證和標准登錄的Windows風格策略。這使得這個域內的所有帳戶都可以使用一個一致的策略。

  · 完整性:SQL Server支持在數據庫中加密的功能,並與密鑰管理基礎構建相集成。

  · 自動更新:SQL Server與用於安全更新的Microsoft Update集成在一起。MySQL沒有自動的更新打補丁。

  高有效性

  SQL Server提供了最高的有效性。Always On(總是聯機的)技術提供了全面的企業級選擇,使得系統停機時間降低到最少,保護了你的數據免於高昂的人為錯誤,並將應用程序有效性維護在合適的等級。MySQL不提供以下功能,而所有這些都是包括在SQL Server內的:數據庫鏡像、故障轉移集群、數據庫快照和快照隔離、日志傳送和防止停機的聯機操作。

  可靠的升級滿足所需

  · Camstar發現SQL Server 2005企業版(64位)可以升級以滿足大多數基礎構建的需求。

  · Temenos,一個為全球金融機構提供核心銀行解決方案的主要供應商,與Microsoft和Intel一起使用Microsoft SQL Server 2005企業版(64位)和Quad-Core Intel Xeon技術來測試Temenos T24銀行模型的性能。

  商業智能

  SQL Server提供了一個全面的即開即用商業智能平台——不需要第三方供應商。SQL Server作為市場上排名第一的聯機分析處理(OLAP)服務器,它包含分析服務、ETL和用於建立和管理打印和在線報表的報表服務。MySQL沒有提供商業智能功能。

  總體擁有成本(TCO)

  SQL Server以很低的總體擁有成本提供了高質量,它為你的企業提供了一個全面的即開即用數據平台解決方案,而不需要昂貴的插件。

  · 一組世界級的工具和一個集成的調試環境幫助降低了開發成本。

  · SQL Server管理套件,旨在幫助創建自管理系統,幫助降低員工成本。

  · 降低的TCO和更快的開發時間,以及在Windows Server產品間執行的通用工程策略。而且,Microsoft 提供許多SQL Server許可證和價格選擇,每一個都提供了強大的支持。

  MySQL免費提供它的Community Server。但是公司警告說,MySQL不提供支持和定期更新。如果你沒有技術經驗來靠你自己提供這些服務,那麼購買這些服務是很昂貴的。

  · 產品支持要求MySQL企業訂閱$599到$4,999每服務器每年(MySQL企業選擇)。

  在MySQL上建立一個全面的解決方案需要額外的第三方工具,例如備份和商業智能,而其中許多是收費的。

  上面是轉載的,講一些個人的經驗吧,我公司的虛擬主機管理系統是我開發的,采用了.Net 和SQL Server的方案,而由於是經營虛擬主機,所以對這兩種常見的數據庫接觸非常多,遇到的問題也多。

  總體來說,性能上,數據量比較小,數據表結構比較簡單的時候,比如10萬數據,那麼MySQL的效率在第一次檢索的時候會比SQL Server快,注意,我提到了第一次檢索,因為這兩種數據庫的承載平台是有區別的,Windows系統可能運行一年以後還會顯示幾個G的空余物理內存,而Linux/Unix啟動後可能就會接管所有的物理內存,剛學Unix的時候還因為這個困惑過。所以在Linux/Unix下,進程要使用內存是會比Windows下的進程少等待一個步驟,所以內存頁交換的開銷會比較小,而Windows要先看剩余物理內存,夠用了就拿來,不夠用再去寫頁面文件(實際上在內存管理和調度上兩個系統的區別是很大的,這裡只是講個簡單的例子),所以Windows的內存調度性能肯定沒有Linux/Unix好。SQL Server的運行是很有意思的,做過服務器維護的朋友應該注意到了,需要給SQL Server指定可以調用的物理內存上限,否則在一段時間之後(具體多少時間,要看負載情況,可能幾秒鐘就上來了)SQL Server就會吃掉所有的物理內存,我公司曾經接手兩個日訪問量上千萬的站點,都是SQL Server數據庫,Dell的1950,兩顆Xeon 3.0,4G內存跑起來比較吃力的,因為並發太多了。SQL Server是典型的內存換性能,細心的朋友會發現,一個500M的數據庫,如果做一次count或者sum或者其他需要檢索整個表的操作,那麼SQL Server占用的物理內存立馬就會躥升到500多M,這裡可以看出他性能來源,是把數據庫緩沖在內存中了,內存操作的效率當然要比磁盤高,所以他性能高也就很正常的了,加上他是商業數據庫,新版的SQL Server 2008性能已經很誇張了,後面會有詳細數據。MySQL的內存占用是令人滿意的,占用很小,而且不論我怎麼調整,我見到MySQL占用內存的上限只有1.1G,當時也是個很極端的情況,一個用戶的站點被人攻擊,3萬多並發持續請求PHP頁面,是個論壇來的,後面掛接MySQL,IIS程序池占用的CPU已經導致一顆處理器核心滿載了(四核,他用了25%),而MySQL卻用掉了60%,超過兩顆核心的負載,MySQL進程占用內存接近1.1G,因為他論壇的帖子較多,印象中是300多萬還是800多萬帖子,系統負載很高了,MySQL明顯的反應遲緩,甚至檢索超時。前邊提到第一次檢索的問題,也講了原因,SQL Server第一次因為要緩沖到內存中,所以需要讀取整個數據庫物理文件,所以第一次檢索的速度是被磁盤給拖住了,實際上Windows大多數程序第一次啟動都會很慢,包括ASP.Net頁面也是一樣,但是過了第一次,速度就明顯提升;而MySQL始終如一,中規中矩的,第一次和第十次速度一樣。但是通過監控系統的IO操作可以得知,MySQL始終都要頻繁的讀寫物理文件,所以速度自然沒有SQL Server高。當然區別不止是這個,但是我們平時很少涉及到千萬數據量以上的檢索,能看到的也就這些。

  再談談安全性,上面也提到了官方以及第三方數據,說明MySQL沒有SQL Server安全,其實包括操作系統也是如此,Windows系統出現高危漏洞的次數遠遠少於Linux/Unix,而IIS的漏洞能數的過來,Apache的洞卻很多很多。所以總有人說Linux怎麼安全,我不知道他這樣的論點,依據是什麼。我從事過信息安全工作,關注漏洞列表是一個習慣,近幾年來,Linux/Apache/MySQL的漏洞數量絕對在Windows/IIS/SQL Server的兩倍以上。再說一個上面沒有提到的安全性問題,就是數據庫的物理文件,大家都知道,物理文件的安全性決定一切的,SQL Server的文件操作是很安全的,起碼這10多年來我還沒遇到過SQL Server莫名其妙的物理文件損壞的情況,而MySQL則遇到很多次了,莫名其妙的索引就壞了,有時候能修復,有時候還不能修復,逼的我們開發了自動備份系統。。。

  最後講一個自己的事情。因為一些原因,我抓取了sohu一個子站的所有文章,15萬多還是16萬多,文字數量在1.5G,當時突發奇想對比兩種數據庫的性能。全部正確插入數據庫以後做模糊檢索,對比速度(MySQL少了幾篇文章,因為轉義字符太多,懶得查了)。SQL Server上我先做了一次大規模的模糊檢索,讓他掛載內存,然後sum(Like)一個幾乎每篇文章都有的關鍵字,運行了三次,最差的一次是49毫秒,也就是0.049秒。然後做MySQL,測試了5次,每次都出不來結果,等了幾分鐘沒響應,殺掉

copyright © 萬盛學電腦網 all rights reserved