SQL Server 与 MySQL:关系型数据库领域的“绝代双骄”

日期:2016-9-20作者:Brien Posey

【TechTarget中国原创】

MySQL和Microsoft SQL Server关系型数据库各有利弊,我们在选择时需要考虑SQL服务器和MySQL在特性,成本,功能以及其他方面的差异。

SQL服务器和MySQL是当下市场上两个最流行的关系数据库管理系统。虽然它们并没有明显的差距,但在某些情况下,使用微软的RDBMS可能是比使用甲骨文的MySQL更好的选择,而相反的情况也一样存在。

例如,MySQL在多平台环境中是一个很好的选择,因为它同时适用于Microsoft Windows、UNIX和Linux等操作系统。另一方面对于Windows用户,当他们需要执行深度分析,或将工作负载迁移到Azure云时,SQL Server将会是是更好的选择。

让我们来横向对比一下SQL服务器和MySQL,主要考量的方面包括功能、定价、合规和其他关系数据库管理系统(RDBMS)需要考虑的问题,以帮助你根据工作负载做出最佳的选择。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者>更多

Brien Posey
Brien Posey

微软最有价值专家(MVP),具有二十多年的IT经验,前后获得七次微软MVP,重点专注SharePoint管理,发表过上千篇文章,并出版十多本IT书籍。

MySQL数据库可用性>更多

相关推荐

技术手册>更多

  • SQL Server 2008新特征

    本专题主要介绍SQL Server 2008的新增特征:SQL Server 2008中的T-SQL基本对象和操作、T-SQL的函数类型和数据类型以及新的安全特性等等。

  • Oracle并行SQL指南

    没有并行技术的时候,一个会话只能利用CPU或者磁盘设备其中之一。结果,串行执行SQL语句不能利用整个计算机的处理能力。并行执行使得单个会话和SQL语句能利用多个CPU和磁盘设备的处理能力。

  • SQL Server XML基础指南

    自SQL Server 2000发布以来,处理XML数据就成为了数据库管理员们经常讨论的一个话题。而且随着Web应用的进一步加深,XML在传统数据库管理系统中的应用也越来越广泛。

  • SQL Server数据库扩展指南

    SQL Server数据库扩展方式主要分为Scale-up(纵向扩展)和Scale-out(横向扩展),面对不同的应用需求,DBA也应该学会如何合理扩展你的SQL Server数据库。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • SOA
  • 云计算
  • 商务智能
【TechTarget中国原创】

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在多平台上的优势。