当前位置: 首页 > 科技观察

SQLServer和MySQL,关系数据库领域的“绝世双胞胎”

时间:2023-03-16 18:17:22 科技观察

MySQL和MicrosoftSQLServer关系数据库各有优缺点。在选择的时候,我们需要考虑SQLServer和MySQL的特点、成本、功能等方面。不同之处。SQLServer和MySQL是当今市场上最流行的两种关系数据库管理系统。尽管它们之间没有明显的差距,但在某些情况下,使用Microsoft的RDBMS可能是比Oracle的MySQL更好的选择,反之亦然。例如,MySQL在多平台环境中是一个不错的选择,因为它同时适用于MicrosoftWindows、UNIX和Linux等操作系统。另一方面,对于Windows用户来说,当他们需要进行深入分析,或者将工作负载迁移到Azure云时,SQLServer将是更好的选择。让我们横向比较SQLServer和MySQL。主要考虑因素包括功能、定价、合规性和其他关系数据库管理系统(RDBMS)考虑因素,以帮助您根据工作负载做出最佳选择。MicrosoftSQLServer功能和定价MicrosoftRDBMS最强大的版本是SQLServer2016,它于今年6月发布。Microsoft提供了四个不同版本的SQLServer2016,以及一个供Web托管提供商使用的Web版本。Express和Developer这两个版本都是免费的。SQLServerExpressEdition是一个轻型数据库,可以存储大约10GB的数据,而DeveloperEdition仅授权用作开发和测试环境。其他SQLServer版本包括企业版、标准版和Web版。企业版配备全套功能,适合关键任务数据库的角色,可以高效处理高级分析工作负载,而标准版相比企业版减少了功能,适合相对较小的规模生产环境。网页版可通过公共网站访问,第三方托管服务商使用该版本为买家提供服务,并根据服务的具体情况制定相应的价格。微软根据用户使用的核心数来许可标准版和企业版。与其他技术一样,许可成本包括许多因素,例如批量折扣。按照规定,一个双核SQLServer2016企业版的许可价格为14256美元,而一个双核标准版的许可价格为3717美元。此外,您需要为连接到SQLServer的每个用户或设备购买客户端访问许可证(CAL)。标价为每位用户或设备209美元。OracleMySQL特性和定价SunMicrosystems于2008年从原始开发商MySQLAB手中收购了MySQL,而Oracle于2010年收购了SunMicrosystems,使其成为MySQL技术的当前所有者。MySQL数据库当前版本为5.7,既可以作为商业RDBMS使用,也可以作为开源数据库使用。MySQL有三个主要版本:MySQL标准版、MySQL企业版和MySQLClusterCarrierGradeEdition(CGE)。其他版本还包括MySQLClassic,这是一个仅供ISV或OEM使用的嵌入式数据库。MySQLCommunityEdition是MySQL数据库的开源版本,在GNU公共许可证下可用。但是,MySQL的三个主要版本,包括管理工具,都需要获得Oracle的商业许可才能使用。商用MySQL许可证可以按需订阅,价格会根据MySQL版本、通信套接字数、订阅时长的不同而有较大波动。例如,MySQL标准版(1至4个插槽)许可每年花费2,000美元,而MySQL企业版(1至4个插槽)许可每年花费5,000美元。MySQLClusterCGE(5个或更多套接字服务器),一年订阅费用为20,000美元。SQLServervs.MySQL:性能和可扩展性MySQL数据库曾被低估,被认为与其他数据库相比没有竞争优势。然而今天,MySQL已经成为一个成熟的、功能齐全的数据库,许多知名公司都在使用MySQL数据库。MySQL非常重视数据库的可扩展性和性能。MySQL数据库可以轻松扩展到TB级数据库,并可以持续优化以应对高速事务性工作负载,甚至每天10亿次查询规模的工作负载。MySQL有一些内置的功能,如内存表、b树索引和散列索引,保证了它良好的性能和灵活的可扩展性。与其他企业数据库一样,MySQL是为高可用性而设计的。MySQLRDBMS可以配置故障转移集群,也支持高速复制。第三方供应商会为用户提供一些MySQL的高可用性选项。微软的SQLServer随着时间的推移发生了很大的变化,SQLServer2016与SQLServer90年代初的版本有很大的不同。与MySQL一样,SQLServer具有高可用性,可以处理庞大、要求非常苛刻的工作负载。SQLServer2016包括扩展的高可用性和对内存优化表设计的改进,以实现更快的性能和更大的可扩展性。这对于使用数据库的内存中OLTP功能的应用程序非常有用。但是,SQLServer的可扩展性、性能和可用性特性从SQLServer2016之前的版本就已经存在了。因此,SQLServer2016上的大部分新特性都集中在商业智能、安全性、云可移植性等方面。例如,StretchDatabase功能允许用户将不常访问的数据存储在MicrosoftAzure云上,从而降低成本,同时仍保持数据可查询。分析方面的改进包括对R编程的支持和PolyBase的完全集成,它允许用户查询存储在Hadoop集群和AzureBLOB存储中的数据。SQLServer2016中引入的两个更值得注意的安全功能是列级安全性和AlwaysEncrypted,后者对静态或传输中的数据进行加密,防止未经授权的用户访问敏感数据。SQLServer和MySQL在实现上的比较SQLServer和MySQL都支持关系型数据库的标准语言SQL,但是都有各自对SQL的扩展。选择时要考虑的另一个重要因素是与关系数据库管理系统标准的兼容性。SQL标准自1986年制定以来一直在不断发展。MySQL支持当前的SQL标准,开放数据库连接级别从0到3.51。另外,MySQL可以实现不同SQL模式的操作,包括ANSI、STRICTTRANSTABLES和TRADITIONAL。值得注意的是,MySQL通过使用一系列扩展增强了SQLServer标准。因此,需要做很多工作才能将MySQL应用程序移植到MicrosoftSQLServer或其他SQL数据库引擎。相比之下,微软并未公开表明SQLServer支持行业标准的程度。SQLServer包含兼容性设置,允许数据库实例向后兼容以前版本的SQLServer。Microsoft还支持SQLServer2016的云可移植性,无论SQLServer位于数据中心、云端还是两者,都可为用户提供一致的体验。此外,微软计划在2017年在Linux系统上支持SQLServer,这是微软首次在Windows系统之外支持SQLServer——至少在某种程度上,这可能会削弱MySQL在多平台上的优势。