程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> 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次,每次都出不來結果,等了幾分鐘沒響應,殺掉進程重啟,再來……最後一次直接進程崩潰了,我也就沒心情去研究了。

      根據自己這些年來服務器管理的經驗來講,SQL Server的強壯性、性能以及穩定性都要遠遠高於MySQL的(還沒提到,MySQL有幾次莫名其妙崩潰的事情),如果你的應用比較復雜,數據量大,並且是“關鍵性”應用,那麼選擇一個商業數據庫是沒錯的,但是如果你實力很強,有自己研發能力,能做到像yahoo和Google那樣集群,甚至是自己改造數據庫的能力,那麼用MySQL是適合你的。如果你的應用比較簡單,數據量也不大,並且數據表的結構比較簡單,那麼MySQL適合你用,但是請你做好備份措施,MySQL的強壯性實在不敢恭維。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved