互联网技术的迅猛发展,手机、平板、智能电视等各种输入终端的普及,让互联网数据呈现出爆炸性的增长。面对海量的数据,如何能以更加稳定、快速的方式存储海量数据,以及从中挖掘出有价值的信息,成为很多企业面临的新课堂。
云存储的出现为数据挖掘快速发展带来了新的机遇。亚马逊、微软、谷歌、IBM 等巨头纷纷推出了自己的云存储平台,国内华为、腾讯、百度、360等公司也加紧了在云存储领域的布局。云服务已经被企业列入常规IT投资,云数据库服务是非常重要的一部分。
本文将从一个用户的角度历数市场上现有关系型数据库服务的主要功能,探索是否有一些改进的空间以及华为企业云在RDS(Relational Database Service) 技术上所做的一些选择。
数据库备份
数据库备份指将数据库系统中的数据加以复制,一旦发生灾难或错误操作时,得以方便而及时地恢复系统的有效数据和正常运作。
数据库备份是用户常用的功能之一,mysqldump/xtrabackup 是最常见的备份方案,同时也是大多数厂商的选择。
Mysqldump 有比较明显的缺陷,无法做增量备份,对于经常需要做备份的用户来说,是无法接受的。Xtrabackup 是 Percona 推出的商业解决方案,同时提供免费版本,基本机制是通过比较LSN来做增量拷贝。从机制来看,需要innodb 事务的支持,对于非innodb 比如 myisam,则通过FLUSH TBALES WITH READ LOCAK来保证数据的一致性,显然,blockwrite 的时间取决于 myisam 表拷贝时间。但是我们可以禁用myisam表,这个问题可以跳过。另一方面,xtrabackup 需要运行在 GuestOS中,读取拷贝生产环境数据目录同时会影响到线上的 IO 表现。
如果用户想要删除其中一个增量备份,该如何做增量的合并和删除?还是将依赖的增量一并删除?
对用户来说,恐怕这都不是理想的。
有没有既不影响生产环境IO,又能做增