SQL Server 與 MySQL,關系型數據庫領域的“絕代雙驕”
MySQL和Microsoft SQL Server關系型數據庫各有利弊,我們在選擇時需要考慮SQL服務器和MySQL在特性,成本,功能以及其他方面的差異。
SQL服務器和MySQL是當下市場上兩個***的關系數據庫管理系統。雖然它們并沒有明顯的差距,但在某些情況下,使用微軟的RDBMS可能是比使用甲骨文的MySQL更好的選擇,而相反的情況也一樣存在。
例如,MySQL在多平臺環境中是一個很好的選擇,因為它同時適用于Microsoft Windows、UNIX和Linux等操作系統。另一方面對于Windows用戶,當他們需要執行深度分析,或將工作負載遷移到Azure云時,SQL Server將會是是更好的選擇。
讓我們來橫向對比一下SQL服務器和MySQL,主要考量的方面包括功能、定價、合規和其他關系數據庫管理系統(RDBMS)需要考慮的問題,以幫助你根據工作負載做出***的選擇。
Microsoft SQL Server功能和定價
***的版本的微軟RDBMS是SQL Server 2016,于今年6月份發布。微軟提供了四種不同版本的SQL Server 2016,外加上一個供虛擬主機應商使用的web版本。Express 和Developer這兩個版本是免費的。SQL Server Express Edition是一個輕量級的數據庫,可以存儲大約10 GB的數據,而Developer Edition只授權作為開發和測試環境使用。
其他SQL Server版本包括Enterprise,Standard和Web版。Enterprise Edition配備了全套的特性,適合于充當任務關鍵型數據庫的角色,它能夠高效地處理高級分析工作負載,而Standard Edition相對于Enterprise Edition,功能有所削減,適用于相對較小規模的生產環境。Web Edition則可以通過公共網站訪問,第三方托管服務提供商使用該版本向購買者提供服務,根據服務具體情況設置相應的價格。
微軟根據用戶使用的核心數量為Standard和Enterprise版授權許可。和其他技術一樣,許可成本包括許多因素,比如數量折扣。根據規定,雙核芯的SQL Server 2016 Enterprise Edition許可需要14256美元,而雙核芯的Standard Edition 版許可證為3717美元。此外,你還需要為每個連接到SQL Server的用戶或設備購買客戶端訪問許可證(CAL)。其標價是每個用戶或設備209美元。
Oracle MySQL 功能與定價
Sun Microsystems公司于2008年從原開發者MySQL AB那里收購了MySQL,甲骨文在2010年收購Sun Microsystems公司,成為MySQL技術如今的持有者。MySQL數據庫現在的版本是5.7,既可以作為商用RDBMS也可以作為一個開源的數據庫。MySQL有三個主要的版本: MySQL Standard Edition,MySQL Enterprise Edition 和MySQL Cluster Carrier Grade Edition (CGE).。
其他版本還包括MySQL Classic,一個嵌入式數據庫,適用于只有獨立軟件供應商或OEM。MySQL Community Edition,是MySQL數據庫的開源版本,可以通過GNU獲得公共許可。不過,MySQL三個主要的版本,包括管理工具,都需要獲得甲骨文的商業許可才可以使用。
商業MySQL許可可以按需訂閱,根據MySQL版本,通信套接字數目以及訂閱長度的不同,其價格浮動會很大。例如,MySQL Standard Edition(1到4個套接字)許可價格為2000美元一年,而MySQL Enterprise Edition(1到4套接字)的許可為5000美元一年。MySQL Cluster CGE(5個或更多套接字服務器),訂閱一年的價格為20000美元。
SQL Server與MySQL的對比:性能和可伸縮性
MySQL數據庫一度被低估,人們認為它對其他數據庫競爭起來沒有優勢。然而如今,MySQL已經成為一個成熟且功能齊全的數據庫,很多知名企業都在使用MySQL數據庫。
MySQL十分重視數據庫的可伸縮性和性能。MySQL數據庫可以很容易地擴展到TB級別的數據庫,并且可以被持續優化,以處理高速事務性工作負載甚至每天十億查詢規模的工作負載。MySQL內置了一些功能,比如內存表,b -樹索引和散列索引,這些功能保證了其具有很好的性能和靈活的可伸縮性。
與其他企業級數據庫一樣,MySQL也具備高可用性的設計。MySQL RDBMS可以配置故障轉移集群,同時還支持高速復制。第三方供應商會向用戶提供一些MySQL的高可用性選項。
隨著時間的推移,微軟的SQL Server取得了很大的發展,SQL Server 2016與SQL Server 90年代初的版本有著巨大的差別。 和MySQL一樣,SQL Server也具備高可用性,可以處理巨大的,要求非常嚴格的工作負載。
SQL Server 2016包括擴展高可用性,并對memory-optimized表設計進行了改進,以獲得更快的性能和更高的可伸縮性。這對那些使用數據庫內存OLTP功能的應用來說是非常有用的。不過,SQL Server的可伸縮性、性能和可用性特性早在SQL Server 2016以前的版本就已存在。因此,SQL Server 2016上的大多數新功能重點是商業智能、安全、云可移植性等方面。
例如, Stretch Database的功能允許用戶將不經常訪問的數據存儲在微軟Azure云上,進而降低成本,同時仍然保持數據可被查詢。分析功能方面的改進包括支持R語言編程和對PolyBase的全面整合,PolyBase允許用戶查詢存儲在Hadoop集群和Azure BLOB存儲中的數據。
SQL Server 2016引入的兩個更加引人注目的安全特性是列層級安全性
和Always Encrypted,它們會在數據閑置或運輸過程中對數據進行加密,防止未經授權的用戶訪問敏感數據。
SQL Server與MySQL 在實現方面的對比
SQL Server 和MySQL都支持SQL,關系數據庫的標準語言,但其都對SQL都有各自的擴展。另一個在選擇時需要著重考慮的因素是對關系數據庫管理系統標準的兼容性。SQL標準自1986年制定以來,一直在處于持續發展中。
MySQL支持當前的SQL標準,其Open Database Connectivity級別為 0到3.51。此外,MySQL可以實現不同SQL模式下的操作,包括ANSI、STRICT TRANS TABLES和TRADITIONAL。值得注意的是,MySQL通過使用一系列的擴展來增強SQL Server標準。因此,要將一個MySQL的應用程序移植到Microsoft SQL Server,或者其他SQL數據庫引擎,需要完成大量工作。
相比之下,微軟并沒有公開表明SQL Server支持行業標準的程度。SQL Server包含了兼容性設置,它允許一個數據庫實例向后兼容以前版本的SQL Server。微軟還在SQL Server 2016上支持了云可移植性,為用戶提供一個一致性的體驗,無論SQL服務器安置在數據中心或云端,或者在兩個上面都有。
此外,微軟計劃在2017年支持Linux系統上運行SQL Server,這是微軟***在Windows系統外支持SQL Server—至少在某種程度上,這可能會削弱MySQL在多平臺上的優勢。

























