自建数据库与华为云数据库优势对比

举报
运气男孩 发表于 2020/10/17 15:48:09 2020/10/17
【摘要】 众所周知,现在已经存在了很多优秀的商业数据库,如甲骨文(Oracle)公司的 Oracle 数据库、IBM 公司的 DB2 数据库、微软公司的 SQL Server 数据库和 Access 数据库。同时,还有很多优秀的开源数据库,如 MySQL 数据库,PostgreSQL 数据库等。下面介绍这些常见的数据库和华为云的云数据库。常见的数据库1)OracleOracle 是甲骨文公司的一款关系...

众所周知,迄今为止已经存在了很多优秀的商业数据库,如甲骨文公司的 Oracle 数据库、IBM 公司的 DB2 数据库、微软公司的 SQL Server 数据库和 Access 数据库。当然,也有很多不错的开源数据库,如 MySQL 数据库,PostgreSQL 数据库等。随着互联网的发现和数据库的迭代,很多数据库都迁移上云,变成了云数据库,那么云数据库和自建数据库有什么区别呢?下面介绍这些常见的数据库和华为云的云数据库。

常见的数据库

1)Oracle

Oracle 是甲骨文公司的一款关系型数据库管理系统,在数据库领域一直处于领先地位的产品,是目前世界上流行的关系型数据库之一,是一种高效率、可靠性好、适应高吞吐量的数据库方案。

优点:

  1. Oracle 可移植性好,能在所有主流平台上运行(包括 Windows),完全支持所有工业标准。采用完全开放策略,使客户可以选择最适合解决方案。以及对开发商的全力支持。

  2. 获得最高认证级别的 ISO 标准认证,安全性高。

  3. 与其它数据库相比,Oracle 性能最高。保持着开放平台下 TPC-D 和 TPC-C 世界记录。

  4. 多层次网络计算,支持多种工业标准,可以用 ODBC、JDBC、OCI 等网络客户连接 。

    7完全向下兼容,因此被广泛应用,且风险低 。

向下兼容指的是高版本支持低版本的或者说后期开发的版本支持和兼容早期开发的版本。

缺点:

  1. 对硬件的要求高

  2. 价格比较昂贵

  3. 管理维护麻烦

  4. 操作比较复杂

2)SQL Server

SQL Server 是 Microsoft(微软)公司推出的关系型数据库管理系统,主要应用于大型的管理系统中。

优点:

  1. 与微软的 Windows 系列操作系统的兼容性很好。

  2. 高性能设计,可充分利用 WindowsNT 的优势。

  3. 系统管理先进,支持 Windows 图形化管理工具,支持本地和远程的系统管理和配置。

  4. 强壮的事务处理功能,采用各种方法保证数据的完整性。

  5. 支持对称多处理器结构、存储过程、ODBC,并具有自主的 SQL 语言。

缺点:

  1. SQL Server 只能在 Windows 系统上运行,没有丝毫开放性。

  2. 没有获得任何安全证书。

  3. 多用户时性能不佳 。

  4. 只支持 C/S 模式,SQL Server C/S 结构只支持 Windows 客户用 ADO、DAO、OLEDB、ODBC 连接。

3)MySQL

MySQL 是一种开放源代码的关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。因为其速度、可靠性和适应性而备受关注。MySQL 是流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是最好的应用软件之一。

优点:

  1. 性能卓越服务稳定,很少出现异常宕机

  2. 开放源代码且无版权制约,自主性强、使用成本低。

  3. 历史悠久、社区及用户非常活跃,遇到问题,可以很快获取到帮助。

  4. 软件体积小,安装使用简单,并且易于维护,安装及维护成本低。

  5. 支持多种操作系统,提供多种 API 接口,支持多种开发语言。

缺点:

  1. MySQL 最大的缺点是其安全系统,主要是复杂而非标准,只有调用 mysqladmin 来重读用户权限才会发生改变。

  2. MySQL 不允许调试存储过程,开发和维护存储过程很难。

  3. MySQL 不支持热备份。

  4. MySQL 的价格随平台和安装方式变化。

4)Access

Access 是由 Microsoft(微软)发布的小型关系数据库管理系统,是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。

优点:

  1. 存储方式简单,易于维护管理。Access 的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb 或 .accdb)的数据库文件中,便于用户的操作和管理。

  2. Access 是一个面向对象的开发工具,这种基于面向对象的开发方式,使得开发应用程序更为简便。

  3. 界面友好、易操作。Access 是一个可视化工具,风格与 Windows 完全一样,用户想要生成对象应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。

  4. 集成环境,可以处理多种数据信息。Access 基于 Windows 操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。

  5. 支持广泛,易于扩展,弹性大。Access 是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库应用系统开发。即可以开发方便易用的小型软件,也可以用来开发大型的应用系统。

缺点:

  1. 不支持并发处理。

  2. 数据库存储量小安全性不够高。

  3. Access 是小型数据库,当数据量过大时,一般百M以上(纯数据,不包括窗体、报表等客户端对象)性能会变差。

  4. 虽然理论上支持 255 个并发用户,但实际上根本支持不了那么多,如果以只读方式访问大概在 100 个用户左右,而如果是并发编辑,则大概在10-20个用户。

  5. 单表记录数过百万时,性能就会变得较差,如果加上设计不良,这个限度还要降低。

  6. 不能编译成可执行文件(.exe),必须要安装 Access 运行环境才能使用。

5)DB2

DB2 是美国 IBM 公司开发的一款支持多媒体、Web 的关系型数据库管理系统。主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境。

优点:

  1. 相比较 MySQL 和 Oracle 两种数据库来说,DB2 提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模地应用程序执行能力,具有与平台无关的基本功能和 SQL 命令。

  2. DB2 采用了数据分级技术,能够使大型数据很方便的下载到数据库服务器,使数据库本地化和远程连接透明化。

  3. 拥有非常完备的查询优化器,改善了查询性能,并支持多任务并行查询。

  4. 具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统更加使用。

  5. DB2 可跨平台使用。

缺点:

  1. 配置文件和参数多,且命名不规范。

  2. 一些 DB2 产品开发不方便。

  3. 和 Oracle 相比,命令多,且没 Oracle 统一规范的好。

  4. 由于其设计框架的问题,如果用户对数据库的本身优化和应用程序优化做的不足,那么 DB2 容易出现锁等待现象。

6)PostgreSQL

PostgreSQL 是一款富有特色的自由数据库管理系统,甚至可以说是最强大的自由软件数据库管理系统。该数据库管理系统支持了目前世界上最丰富的数据类型。是自由软件数据库管理系统中唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的自由软件。

优点:

  1. PostgreSQL 遵循的是 BSD 协议,是一个完全开源、免费、同时非常强大的关系型数据库。

  2. 与 PostgreSQL 配合的有很多分布式集群软件,如 pgpool、pgcluster、slony、plploxy 等等,很容易做读写分离、负载均衡、数据水平拆分等方案,而这些 MySQL 则比较难实现。

  3. PostgreSQL 源代码写的很清晰,易读性比 MySQL 强,所以很多公司基本都是以 PostgreSQL 做二次开发的。

  4. PostgreSQL 是多进程的,而 MySQL 是多线程的。并发不高时,MySQL处理速度快,但当并发高的时候,对于现在多核的单台机器上,MySQL 的总体处理性能不如 PostgreSQL,原因是 MySQL 的线程无法充分利用 CPU 的能力。

  5. PostgreSQL 有很强大的查询优化器,支持很复杂的查询处理。

BSD 开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。

缺点:

  1. 对于简单而繁重的读取操作,相比较其它数据库来说,PostgreSQL 性能较低。

  2. PostgreSQL 数据库扩容花费时间很长。


华为云数据库

华为云数据库:基于华为积累多年的数据库研发、搭建和维护经验,结合数据库云化改造技术,大幅优化传统数据库,为您打造更高可用、更高可靠、更高安全、更高性能、即开即用、便捷运维、弹性伸缩的数据库服务,拥有容灾、备份、恢复、安防、监控、迁移等全面的解决方案。


RDS基本概念

华为云关系型数据库(Relational Database Service,简称RDS)是一种基于云计算平台的即开即用、 稳定可靠、弹性伸缩、便捷管理的在线关系型数据库服务。

了解

华为云关系型数据库服务具有完善的性能监控体系和多重安全防护措施,并提供了专业的数据库管理平台, 让用户能够在云中轻松的进行设置和扩展关系型数据库。通过华为云关系型数据库服务的管理控制台,用户几乎可以执行所有必需任务而无需编程,简化运营流程,减少日常运维工作量,从而专注于开发应用和业务发展。

云数据库RDS支持以下引擎:

云数据库RDS服务具有完善的性能监控体系和多重安全防护措施,并提供了专业的数据库管理平台, 让用户能够在云中轻松的进行设置和扩展云数据库。通过云数据库RDS服务的管理控制台,用户几乎可以执行所有必需任务而无需编程,简化运营流程,减少日常运维工作量,从而专注于开发应用和业务发展。

优势

即开即用

您可以通过华为云官网实时生成目标实例,云数据库RDS服务配合弹性云服务器一起使用,通过内网连接云数据库RDS可以有效地降低应用响应时间、节省公网流量费用。

弹性扩容

可以根据您的业务情况弹性伸缩所需的资源,按需开支,量身定做。配合云监控(Cloud Eye)监测数据库压力和数据存储量的变化,您可以灵活调整实例规格。

完全兼容

您无需再次学习,云数据库RDS各引擎的操作方法与原生数据库引擎的完全相同。云数据库RDS还兼容现有的程序和工具。使用数据复制服务(Data Replication Service,简称DRS),可用极低成本将数据迁移到华为云关系型数据库,享受华为云数据库为您带来的超值服务。

运维便捷

RDS的日常维护和管理,包括但不限于软硬件故障处理、数据库补丁更新等工作,保障云数据库RDS运转正常。提供专业数据库管理平台,重启、重置密码、参数修改、查看错误日志和慢查询日志、恢复数据等一键式功能。提供CPU利用率、IOPS、连接数、磁盘空间等实例信息实时监控及报警,让您随时随地了解实例动态。

RDS与自建数据库优势对比

性能项目

云数据库RDS

自购服务器搭建数据库服务

服务可用性

请参见《弹性云服务器用户指南》

需要购买额外设备,自建主从,自建RAID。

数据可靠性

请参见《云硬盘用户指南》。

需要购买额外设备,自建主从,自建RAID。

系统安全性

防DDoS攻击,流量清洗;及时修复各种数据库安全漏洞。

需要购买昂贵的硬件设备和软件服务,需要自行检测和修复安全漏洞等。

数据库备份

支持自动备份,手动备份,自定义备份存储周期。

需要购买设备,并自行搭建设置和后期维护。

软硬件投入

无需投入软硬件成本,按需购买,弹性伸缩。

数据库服务器成本相对较高,对于SQL Server需支付许可证费用。

系统托管

无需托管。

需要自购2U服务器设备,如需实现主从,购买两台服务器,并进行自建。

维护成本

无需运维。

需要投入大量人力成本,招聘专业的DBA进行维护。

部署扩容

弹性扩容,快速升级,按需开通。

需采购和原设备匹配的硬件,需托管机房的配合,需部署设备,整体周期较长。

资源利用率

按实际结算,100%利用率。

考虑峰值,资源利用率低。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。