SQL Server 和 Oracle 以及 MySQL 有哪些区别?

AI小学徒夏夏 秀才 2021-09-06 09:09:30

随着科技发展,不知何时起“云”已经不单单指那多天上飘着物体,转而成为一种全新技术。云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。

云技术功能之一就是数据的云端存储,储存则需要调用数据库资源。在现阶段最为流行的数据库不外乎Oracle、SQL Server、MySql。那么,这三种数据库有着怎样的区别?目前业界用高富帅、富二代以及屌丝的比喻解释,比较形象且流行。具体而言:

SQL Server

SQL Server可以说是数据库中典型的“富二代”。由于带有 Microsoft 家族的标签,SQL Server 成为在 Windows 平台下进行数据库应用开发较为理想的选择之一。SQL Server 这位富二代拥有一定的优势,即使用最方便、开发最方便、运维最方便。因此 SQL Server 凭借易操作性及友好的界面,赢得了不少用户的青睐。

SQL Server 这位富二代在微软爸爸的倾力扶持下,从 2008R2 之后的版本开始各项能力均对齐 Oracle,同时它的售卖策略比 Oracle 更加灵活,便宜。其高可用,容灾,并发等方面的性能也经受住了企业级领域的全面挑战,是Windows 系统下所有软件商的不二选择。

同时微软在 2015 年开始全面上云,拥抱开源。使得 SQL Server 是目前唯一能够三方云厂商服务授权托管的云上商用数据库,并且在 SQL Server 2017 推出了 Linux 版本,同时在大数据和人工智能领域推出了强大的集成组件,方便数据的跨平台整合。

当然,也有人士认为,SQL server on Linux 积累的用户相对少,经过测试和版本迭代的次数相对少,在 linux 运用的稳定性相对稍微弱一些。

综上分析,SQL Server在三大数据库中算是一款非常受欢迎的高性价比的关系型数据库。相对一些商用数据库,公有云上的 SQL Server 可以以更优惠的价格,提供与其余商业数据库同水平的功能和事务支持。

目前不少云服务商提供SQL Server产品,但版本最全的是华为云,支持范围覆盖 2008、2012、2014、2016 全系列标准版、企业版、Web版、同时最新上线的2017 企业版采用最新Always On架构支持创建只读副本,读写分离。

此外各版本均提供单机版、高可用版(双机版)、普通IO、高IO、超高IO 等选型,规格的话就更多了,CPU从2U到60U、内存4G 到512G都有,覆盖绝大部分需求和场景。

版本多的好处是可以免去升级后软件不兼容导致的一堆麻烦,选型和规格的话主要是成本考虑,SQL Server 能选对合适的规格,节省个90%的成本没啥问题。

Oracle

Oracle 可以说是数据库中的“高富帅”,所以它最为显著的特点便是价格不菲,是这三大数据库中最贵的。比如ORACLE 11g 标准版售价在六位数。

Oracle 数据库高价格的背后是最为齐全的功能。能支持所有主流平台上运行,包括 Windows;拥有强大的 PL/SQL、分区、物化视图特性,能降低应用程序复杂度,提高应用程序的运行效率。

此外,Oracle 基于角色的权限管理、数据库审计、用户资源限制管理等安全特性,以及丰富的数据字典、AWR报告、闪回特性、RMAN 等工具,可以多方位帮助用户很好的解决日常维护诉求,所以贵不是没有道理的。

但是,齐全的功能,也带来安装的不方便、管理维护的复杂性。而且目前国内各个厂商因为 oracle 软件许可的原因,无法以数据库服务的方式提供,只能以解决方案的方式提供oracle,所以导致用户无法享受弹性伸缩、监控、自动备份等便捷的云特性。

综上,基于完备的功能、安全、性能等几个特点,Oracle 适合于金融/电信等对可靠性要求极高的大型企业。而且,要想用好并发挥 Oracle 性能,企业相关管理员的能力就必须很高,而且企业要支出很高的维护费用。所以,想养这位“高富帅”得做好砸钱的准备。

不过,如果实在是喜欢 Oracle ,又嫌它费钱的朋友,可以了解下华为云的PostgreSQL 增强版。兼容大部分 Oracle 语法和数据库对象,包括内建函数、数据类型、系统视图、匿名块和存储过程,兼容程度90%+,提供最接近 Oracle 数据库的用户体验,同时完整保留 PostgreSQL 的所有功能,价格也比较便宜,性价比较高。对了,还支持同城容灾、自动备份、任意时间点恢复,数据这块也能放心。

MySQL

互联网兴起以后,MySQL 已经成为了最为流行的开源关系型数据库。它体积小、速度快、总体拥有成本低、开放源码,成为了一般中小型网站的开发首选网站数据库。

与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,MySQL自有它的不足之处,但这丝毫没有减少它受欢迎的程度。对于中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于 MySQL 是开放源码软件,因此可以大大降低总体拥有成本。

Linux 作为操作系统,Apache 作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python 作为服务器端脚本解释器的系统架构已形成 LAMP 的黄金组合。

云 MySQL 作为一种在线托管的 MySQL 服务,提供了即开即用、快速扩容、便捷管理、安全可靠等强大功能,使得客户无需关心数据库的管理和维护,专心于业务发展,也越来越受用户青睐,比如华为云 MySQL。

华为云 MySQL 的弹性伸缩能力,支持最多5个只读副本、CPU/内存规格变更、存储在线扩容等,能为业务拓展提供基础保障。而且持续在对内核进行优化,引入了很多优秀特性,比如去除了GTID的约束限制。

使用过 MySQL 的用户都知道,社区版在打开了 GTID 后,很多语句执行会报错,比如 create table…select、显示事务中执行 create temporary table…等。如果应用中带有这样的业务逻辑,数据库迁移上云后就需要修改应用程序才能用。华为云 MySQL 就去除了社区版 GTID 约束限制,第一次在业内彻底解决这个问题。

此外,引入了备份锁、线程池、MyISAM 自动转 InnoDB,root账号kill其他用户的线程等特性,对系统稳定性和使用便捷性都有提高。

另外,对数据可靠性要求更高的用户来说,华为云推出的 MySQL 金融版,可以满足银行、保险等金融场景。主要优点可以参考下:

高可用

•一主两备跨 AZ 架构,任意一台服务器宕机不影响业务可用性。

•内置了自动选主和解决脑裂的机制,如果某个节点成为网络孤岛,会被自动提出集群。

高可靠

•提交事务时,需要等待至少一个备库收到日志副本,才返回给用户事务成功结束的信号,且确认事务会自动持久化到多数派主机中,确保数据库的可靠性。

强一致

•基于 Paxos 协议,实现了分布式下数据的最终一致性。

 

以上,欢迎讨论。

转自华为云开发者社区。

...全文
426 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jpzon 2021-09-06
  • 打赏
  • 举报
回复

怎么看待某些企业往国产数据库迁移(如PolarDB)?

67,853

社区成员

发帖
与我相关
我的任务
社区描述
汇集数据库的爱好者和关注者,大家共同学习、探索、分享数据库前沿知识和技术,像松鼠一样剥开科学的坚果;交流Gauss及其他数据库的使用心得和经验,互助解决问题,共建数据库技术交流圈。
数据库数据仓库 企业社区 北京·海淀区
社区管理员
  • Gauss松鼠会
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎大家同时关注Gauss松鼠会专家酷哥。

https://www.zhihu.com/people/ku-ge-78-98

试试用AI创作助手写篇文章吧