加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 电商 > 正文

解读华为企业云RDS技术:如何有效减少运维工作量

发布时间:2021-01-14 08:47:44 所属栏目:电商 来源:网络整理
导读:《解读华为企业云RDS技术:如何有效减少运维工作量》要点: 本文介绍了解读华为企业云RDS技术:如何有效减少运维工作量,希望对您有用。如果有疑问,可以联系我们。 互联网技术的迅猛发展,手机、平板、智能电视等各种输入终端的普及,让互联网数据呈现出爆炸
副标题[/!--empirenews.page--]

《解读华为企业云RDS技术:如何有效减少运维工作量》要点:
本文介绍了解读华为企业云RDS技术:如何有效减少运维工作量,希望对您有用。如果有疑问,可以联系我们。

互联网技术的迅猛发展,手机、平板、智能电视等各种输入终端的普及,让互联网数据呈现出爆炸性的增长.面对海量的数据,如何能以更加稳定、快速的方式存储海量数据,以及从中挖掘出有价值的信息,成为很多企业面临的新课堂.云存储的出现为数据挖掘快速的发展带来了新的机遇.亚马逊、微软、谷歌、IBM 等巨头纷纷推出了自己的云存储平台,国内华为、腾讯、百度、360 等公司也加紧了在云存储领域的布局.云服务已经被企业列入常规IT投资,云数据库服务是非常重要的一部分.

本文将从一个用户的角度历数市场上现有关系型数据库服务的主要功能,探索是否有一些改进的空间以及华为企业云在RDS(Relational Database Service)技术上所做的一些选择.

数据库备份

数据库备份指将数据库系统中的数据加以复制,一旦发生灾难或错误操作时,得以方便而及时地恢复系统的有效数据和正常运作.

数据库备份是用户常用的功能之一,mysqldump/xtrabackup 是最常见的备份方案,同时也是大多数厂商的选择.

Mysqldump有比较明显的缺陷,无法做增量备份,对于经常需要做备份的用户来说,是无法接受的.Xtrabackup是Percona推出的商业解决方案,同时提供免费版本,基本机制是通过比较LSN来做增量拷贝,从机制来看,需要innodb事务的支持,对于非innodb比如myisam,则通过FLUSH TBALES WITH READ LOCAK来保证数据的一致性,显然,block write的时间取决于myisam表拷贝时间.但是我们可以禁用myisam表,这个问题可以跳过.另一方面,xtrabackup需要运行在GuestOS中,读取拷贝生产环境数据目录同时会影响到线上的IO的表现.

最后,如果用户想要删除其中一个增量备份,该如何做增量的合并和删除?还是将依赖的增量一并删除?

恐怕对用户来说,这都不是理想的.

有没有既不影响生产环境IO,又能做增量并且还能独立删除的办法呢?快照或许是一个比较好的选择.

数据库快照

数据库快照是由客户启动的数据库实例的快照,不仅可以备份单个数据库,还可以备份整个数据库实例.数据库快照可让客户按所需的任意频率在已知状态备份数据库实例,然后随时还原到该特定的状态.数据库快照可以使用 RDS 控制台或 RDS API 创建.数据库快照会一直保存,直到客户使用 RDS 控制台或 RDS API 将其或其所在的实例删除.

  • 急速增量备份 – 快速完成数据备份,避免大数据量备份时间过长.
  • 线上业务轻干扰 – 基于快照的备份过程效率较传统数据库备份方式要高,合理的备份策略,对实例IO资源和业务有着非常有限的影响.

数据库实例规格如图1所示.

图1 :实例规格

数据库引擎

Innodb、myisam是最常用的MySQL数据库引擎,前者是事务安全的,后者则拥有更高的性能.前文描述到,myisam无法保证备份点数据的一致性,FLUSH TBALES WITH READ LOCAK又需要block write,得不偿失.

MySQL replication是做读写分离的基础,分为异步和半同步的方式,前者有对主机性能影响小,但数据有一定延时,后者则相反.两种技术可以满足用户不同场景的需求.关于Crash safe的问题,分为master crash safe和slave crash safe.MySQL 5.6版本之前存在一个bug,即当sync_binlog=1/innodb-flush-log-at-trx-commit=1时,会使得InnoDB存储引擎的group commit失效,导致性能急剧下降,crash-safe slave的问题更复杂些,主要replication中的SQL thread和IO thread 原子性问题,这里不再累述,MySQL 5.6版本通过将relay-info.log的信息保存在InnoDB的事务表中解决了这个问题.

讲了这么多华为企业云RDS技术,下面会从几个方面详解RDS究竟是什么.

深入浅出RDS

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

RDS具有较为完善的性能监控体系和多重安全防护措施,能使企业用户在云中轻松设置、操作和扩展关系型数据库.通过RDS控制台,可以执行所有必需任务而无需编程,简化运营流程,减少日常运维工作量,从而能够专注于应用开发和业务发展.

用户访问RDS实例时,需要经过ECS(Elastic Cloud Server,弹性云服务器),具体关系如图2所示.

图2:访问RDS

RDS是以集群为单位进行组织,一个集群由多个实例构成,集群中包含一个主机,还可能包含一个备机和若干个只读副本,它们一起为业务提供数据库服务.

RDS的最小管理单元是实例,一个实例代表了一个独立运行的关系型数据库,实例可进行如下分类:

  • 主实例
  • 备实例
  • 只读副本

用户可以在RDS系统中自助创建及管理各种数据库引擎的实例.

RDS API 使用场景

RDS的OpenAPI提供针对用户数据库实例的创建、查看、删除等基本操作,以及查询系统支持的API版本、数据库引擎及版本、运行环境规格、可用区域等操作.其主要的调用场景如图3和图4所示.

图3:使用场景一

在创建实例之前,需要获取系统支持的数据库引擎及版本,运行环境规格以及可用区域信息.

在获取到信息之后,可以将返回结果作为调用参数,执行创建实例操作.

在实例创建成功后,用户可以对自己所属的实例进行列举、查询详细信息、以及删除操作.

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读