1.谈数据库上云必要性
在过去大多数公司都是自建机房,有自己的业务系统和研发人员。随着时代的发展,现在大多企业都紧跟时代步伐,都纷纷将数据库上云,那么上云真有这么好么,实际体验如何,具有什么实际好处可以举例说明吗?
我从以下几点进行分析,如有纰漏还望指正
- 可靠性
云数据库并不需要安装机器、部署数据库软件,调试系统兼容性等维护工作,技术门槛低。
传统线下需要搭建数据库环境,配置环境参数等,需要专业人员操作,技术门槛高。 - 系统安全性
现在的云数据库数据可以防DDoS攻击、可以及时修复数据库安全漏洞,服务提供商统一维护;
传统线下需要机房管理员去维护,更新时效性不如线上。 - 备份
云数据库服务商提供简单的配置界面,可以自动备份和手动备份,技术门槛低,上手快。
传统线下需要专门的维护人员或者机房管理员配置自动备份,或者按需手动备份。 - 成本
云数据库即时开通,弹性扩容,按需开通,最后按实际资源利用来结算,成本较低;
传统线下需要采购硬件,宽带,配置维护人员成本比较高。
自建数据库的数据可靠性、系统安全性、备份等方面实际上都不如云数据库好用的对于初创型的企业来说,在这方面可以提供更多的自动化服务,而且还能节省开支,何乐而不为呢?所有总体来说数据库上云是大有优势,也是大势所趋。
2.两个RDS应用场景案例
以下案例以华为云为例
2.1- 案例一:不停机扩容应用场景
线下自建机房搭建MYSQL,要经历选配置,搭网络,购硬件等机房硬件方面的选购,然后再数据参数配置,环境调试等软件方面的调试。对于存储空间不够,可以采购硬盘不停机扩容难度不大,如果是性能方面升级内存和CPU,基本上都得停机才能扩容,开机后还要做一次测试,系统是否运行正常,如果中间出岔子了一时半会解决不掉还会影响实际业务,给客户造成不好的印象,总之费时费力,得有一定的工作经验的数据库管理员才能很好的应对。
云数据库RDS,这个情况该如何呢。普通应届毕业生甚至不用对口专业如计算应用专业的学生也都能操作,看操作说明照着做就好了。选择【实例管理】下要操作的数据库【更多】-【扩容】选项,选择需要配置点击“立即申请”即可,是不是节省了很多步骤和精力在这方面。
2.2- 案例二:MySQL的云备份应用场景
在线下首先要考虑公司能够容忍丢失多少数据、花多少人力时间与成本这都是基于公司的需求,这是我们制定备份方案的根据,基本上这些都是由公司中数据库管理员或者项目经理负责制定,是采用诸如全备+binlog备份方式还是主从复制等,细节方面设置自动备份策略,多久更新再做一次手动全量备份。对于备份文件的保留多长时间也需要斟酌下,是否采用双机备份,提高数据的可靠性等。
相对于线下,线上RDS云备份简单很多,支持手动备份和自动备份基本全面满足了大多数企业需求,对于操作难度,也是没有技术门槛的,按照官方步骤走了一遍流程,完全没有难度,依旧操作简单,对于之前没怎么接触过MySQL的也毫无压力,降低了技术门槛,并且还提供了732天的备份保留时间足够的追溯历史,只需要根据线下的策略执行即可,平行过渡。
3.使用RDS
以下案例使用华为云数据库为例(官网)
3.1- 基本操作
3.1.1- 创建按需计费单机实例
注册账号
去华为官网,需要实名认证的,备好银行卡和身份证即可。
购买rds
官网首页选择【产品】-【基础服务】-【数据库】
选择配置
初次使用选择“按需计费”可以减少不必要的开支,体验完,了解自己的实际需求后再根据需要购买“包年/包月”。
[当前区域]请选择靠近您客户的区域,可以降低网络时延、提高访问速度不同区域的资源之间内网不互通。
[实例类型]个人测试选择“单机”费用更低;主备,可以提供更高的可靠性。
[性能规格]根据需要选择
[VPC][子网][内网安全组]没特殊需求依照默认
[管理员密码]需要牢记登录用
如图选择“计算型”一小时收费才0.5元。
等待创建完成
填写完成后提交,返回 RDS 控制台,查看实例列表,等待 6~7min 左右,刷新页面。
可以看到 RDS 控制台上单机实例创建成功
3.1.2- DAS 登陆数据库
RDS控制台页面
点击左边栏的“实例管理”–>单击“登陆”
登陆
打开 DAS 数据库登陆页面,输入账号和密码(可以使用 root 账号以及创建实例时指定的 root 密码来登陆)
使用SQL窗口
打开 DAS 的管理页面,单击“SQL 窗口” 输入如下简单的创建数据库命令,确认可以操作。
create database dbtest;
确认成功后,输入下面的名称删除。
drop database dbtest;
类似于sqlserverManager数据库管理界面,可以使用T-SQL操作数据库并带有智能提示。
3.2- 常见操作
3.2.1-设置备份策略
RDS控制台页面
操作这个时,即已经存在一个主备或者单机实例的前提下,已经购买了RDS,进入控制台界面。
实例管理
选择要操作的实例,单击实例名称,点击跳转进入详情页面
设置备份策略
选择“备份恢复”-> “全量备份”页签,单击“修改备份策略”
[自动备份]强烈要求打开,默认保持不变
[保留天数]根据需要设置,默认为 7 天,根据实际需求修改
[备份时间段]避免选在业务高峰时段,请选择业务低峰时间段,根据实际需求修改,可保持不变
[备份周期]请根据实际需求修改,可保持不变
等待自动触发
可以在设置备份策略时,先暂时修改为当前时间的临近时间段,稍等片刻后等待其触发备份策略,看是否执行了已经存在的备份策略。通常执行完毕后如下界面,可以根据[备份类型]看出这条备份数据是从自动备份触发的,大小为2.67M并提供了恢复、下载、复制等功能。
3.2.2-手动备份&恢复到指定时间点
手动备份与数据库恢复(还原)在实际业务中都是非常常见的,并且经常刚手动备份不久后就需要恢复的O(∩_∩)O~∑ ,常见诸如软件升级前夕的数据备份,修改客户业务数据时.
手动备份使用流程
RDS控制台页面–>实例管理–> 创建备份–>等待执行完成
从RDS控制台页面选中要操作的RDS数据库实例,进入详情页面,选中【备份恢复】-【全量备份】-【创建备份】
根据需要取个好记的备份记录名(诸如back-20181223 以日期方式)
创建成功后,如上图我这边新增了俩条手动备份数据(PS:目前华为RDS暂不支持,备份记录的重命名⊙﹏⊙‖∣° )
恢复备份使用流程
RDS控制台页面–>实例管理–> 备份恢复–>等待执行完成
恢复备份就是在备份之前假如存在有表被误操作了,能通过恢复到指定时间点找回该表或者记录。
那么现在我们来模拟下情景操作下。
首先我们得提前构造成一些表数据,利用 DAS 进行如下的数据库操作。
create database loadtest;
create table loadtest.tabtest(id int not null primary key, name varchar(20),
age int);
insert into loadtest.tabtest value(1, 'Ming', 20);
insert into loadtest.tabtest value(2, 'Zhong', 22);
insert into loadtest.tabtest value(3, 'Jin', 21);
上面sql语句帮我们创建了一个名为loadtest数据库,在这个数据库下创建了一张名为tabtest的表并插入三条测试数据
下面我们要首先手动备份下数据库,然后我们要模拟误操作了,假设我们不小心的删除了ID为2,3的2条数据,这2条数据是不应该删除的却被我们删除了。
delete from loadtest.tabtest where id in (2, 3);
select * from loadtest.tabtest;
确认 id 为 2,3 的都已经删除了,大概过了几分钟以后,发现表记录被删错了,需要通过恢复到指定
时间点来找回,从RDS控制台页面选中要操作的RDS数据库实例,进入详情页面,选中【备份恢复】-【全量备份】-【恢复到指定时间点】弹出“恢复到指定时间点”的对话框,选择合适的时间点。选择恢复到“新实例”,单击“确定”。等待若干时间,等恢复成功后,使用 DAS 查看表记录是否复原。
可以显示没删之前的三条数据,如图
在上面我选择的是恢复到“新实例”,这样可以不影响本实例的情况下,查看恢复后数据的情况,如果是自己想要的效果,可以选择当前实例直接覆盖上去。
3.2.3-存储空间扩容&规格变更
磁盘扩容使用流程
RDS控制台页面–>实例管理–>扩容-磁盘扩容–>等待扩容执行
当存储空间不够时,华为云能对存储空间进行在线不停机扩容。
具体操作步骤为单击数据库链接,进入 RDS 控制台页面点击左边栏的“实例管理”选择要操作的实例,单击“扩容”
弹出扩容页面,单击“磁盘扩容”,选择扩容到 100G(假定实例原来的存储空间为 40G),确认提交。
返回 RDS 控制台,等待大概 1~2 分钟,操作成功。
扩容成功,进入实例“基本信息”页面,查看“空间信息”处,存储
空间变成了 100GB。
CPU/内存扩容使用流程
RDS控制台页面–>实例管理–>扩容-CPU/内存扩容–>等待扩容执行
单击数据库链接,进入 RDS 控制台页面,点击左边栏的“实例管理”,选择要操作的实例,单击“扩容”
弹出扩容页面,选择“CPU/内存扩容”,选择扩容到 4 核 8GB(实例现在的规格是 1 核 2GB),确认提交。
返回 RDS 控制台,等待大概 2~3 分钟,操作成功。
变更成功,进入实例“基本信息”页面,查看“配置信息”处的性能规格变成了 2 核 8GB。
不停机修改数据库配置是对于实现中非常实用并且给力的功能,不仅方便我们操作,降低使用门槛,还让我们节省大量的开支与人力,是个值得点赞的功能。
4. 总结
从上所述我相信各位应该对数据库上云应该有个比较全面的认识了,也清楚了数据库上云的是大势所趋,不管是公司还是个人都可以从可靠性、系统安全性、备份、成本等方面节省不少的精力和花费。上面的应用场景和案例我只是列举了几个比较常见的,实际情况还有更多可能,大家可以参考华为官方不仅有入门使用,还有【常见问题】和【用户指南】都已经附带了
操作场景和操作步骤。我呢有幸参加CSDN的【EI赋能 智启未来】活动了解了华为的云数据库,开始做MYSQL的功能和性能测试,收货良多,以实际情况案例分享几点希望对各位有所帮助。