博客
关于我
云计算之路:数据库服务器的选择——舍RDS取云服务器
阅读量:417 次
发布时间:2019-03-06

本文共 1629 字,大约阅读时间需要 5 分钟。

云计算之路系列博文分享的是我们将网站从IDC机房迁移至云计算平台(阿里云)的实际经历,目前处于准备阶段,这次分享的是我们选择数据库服务器面临的权衡与取舍。

在阿里云上,数据库服务器有两个选择:云服务器与RDS(关系型数据库服务)。这两者的主要区别是什么呢?

先打个比方,选择云服务器,就如同租毛坯房,你得自己装修、自己置家具、自己打扫。。。;而选择RDS,就如同住五星级酒店。

云服务器简单来说是运行在集群上的虚拟机。阿里云的虚拟化技术用的是Xen。云服务器用的是SATA硬盘(现在主流服务器一般用SAS硬盘),由SATA硬盘构成网络存储集群,每次写入数据时会同时保存3份(用性能换取更高的可靠性)。阿里云客服提供的磁盘性能数据:写速度一般在15MB/s,读速度一般在70MB/s,IOPS在500~700左右。所以,硬盘写入速度是云服务器的硬伤,也是云服务器成本低的主要原因所在。

RDS(关系型数据库服务)简单来说是跑在物理服务器上的数据库实例。比如针对SQL Server的RDS,阿里云会在服务器上安装好SQL Server,然后把其中的一个SQL Server数据库实例出租给你,并限定该实例所能使用的硬件资源。跑RDS的物理服务器都是强劲的服务器,硬盘性能会比云服务器高很多,并且由阿里云的DBA负责维护。所以,硬盘读写速度快、维护成本低是RDS的优势,带来的问题是成本高、限制多。

开始我们不知道有RDS,所以不存在选择问题。后来,我们把“找找看”的索引放在云服务器上建的时候发现了云服务器硬盘写入速度慢的问题,然后从阿里云客服那里得知RDS,被RDS卓越的硬件性能所吸引,于是倾向于用RDS,对它进行了评估。

如果选择与我们现有数据库服务器差不多的硬件配置(8G内存、400G硬盘空间),成本是3870元/月,硬盘读写性能肯定会比我们的现有数据库服务器要高,但是有以下一些限制:

1、无法远程控制数据库服务器,只能通过SQL Server管理工具连接数据库实例。

2、一个数据库库实例支持的数据库数量有限制(好像是7个)。

3、SQL Server版本只能用SQL Server 2008。

4、数据库最大连接数有限制,我们的这个配置的最大连接数限制是800。

这些限制可以克服,总体上评估下来RDS是有吸引力的选择,于是我们准备用RDS。接下来必然要考虑如何将数据迁移至RDS上?

阿里云网站上只提供一种迁移方案——导出目标数据库的生成脚本(详见),而且在适用场景中说明只适用于“数据文件总大小在10G以内”,却没有提供大于10G的数据文件的迁移方案,而我们其中一个数据库的数据文件就有70G大小。我们很纳闷,既然使用RDS,多数是因为数据量大、性能要求高,迁移方案应该首先考虑大数据文件的情况,现在怎么抓小放大,很不理解。于是,咨询阿里云客服,对于这么大的数据文件如何进行迁移?客服竟然还是让我们采用适用于10G以下数据文件的导出脚本的方式。导出70G的数据库的脚本,这事还真没干过;然后再把大于70G的脚本文件导入到远程的数据库,这事更没干过。当时有点气愤,第一次给了阿里云客服一个差评。

气愤事件发生之后,并没有让我们陷入困境,反而让我们冷静思考——一定要用RDS吗?购买RDS的费用如果买云服务器可以买到很高的配置,可以用内存弥补硬盘速度的问题。于是计算了一下,买8G内存的RDS需要3870元/月,而买一台顶级配置的云服务器(8核CPU,32G内存)只需2779元/月,少了1000元/月,多出了24G内存,整体性能上相差多大很难说。而且有Memcached与NoSQL两个级别的缓存帮助减轻数据库的压力。

于是,我们改变了方案,先用云服务器跑数据库,即使到时云服务器的性能跟不上,也可以再去选择RDS。而且可以把数据库分在多台云服务器上跑。

这就是我们的选择——舍RDS取云服务器。先够用,不够再改进;而且够不够用,用了才知道。

转载地址:http://fehkz.baihongyu.com/

你可能感兴趣的文章
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>
NIFI同步MySql数据源数据_到原始库hbase_同时对数据进行实时分析处理_同步到清洗库_实际操作06---大数据之Nifi工作笔记0046
查看>>
Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
查看>>
NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
查看>>
NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_处理器介绍_处理过程说明---大数据之Nifi工作笔记0019
查看>>
NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_实际操作---大数据之Nifi工作笔记0020
查看>>
NIFI大数据进阶_Json内容转换为Hive支持的文本格式_实际操作_02---大数据之Nifi工作笔记0032
查看>>
NIFI大数据进阶_Json内容转换为Hive支持的文本格式_操作方法说明_01_EvaluteJsonPath处理器---大数据之Nifi工作笔记0031
查看>>
NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka消费者处理器_来消费kafka数据---大数据之Nifi工作笔记0037
查看>>
NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka生产者---大数据之Nifi工作笔记0036
查看>>
NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
查看>>
NIFI大数据进阶_NIFI监控功能实际操作_Summary查看系统和处理器运行情况_viewDataProvenance查看_---大数据之Nifi工作笔记0026
查看>>
NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
查看>>
NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
查看>>
NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
查看>>
NIFI大数据进阶_使用NIFI表达式语言_来获取自定义属性中的数据_NIFI表达式使用体验---大数据之Nifi工作笔记0024
查看>>
NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
查看>>
NIFI大数据进阶_内嵌ZK模式集群2_实际操作搭建NIFI内嵌模式集群---大数据之Nifi工作笔记0016
查看>>
NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
查看>>
NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_实际操作_03---大数据之Nifi工作笔记0035
查看>>