使用 NineData 实现备份集的实时查询

背景信息

数据作为一家公司的重要资产,其重要程度不言而喻。数据库为数据提供存取服务,担任着重要的角色,如果因数据误删、服务器故障、病毒入侵等原因导致数据丢失或服务不可用,会对公司造成重大损失,所以数据库备份是保护企业核心数据,构筑企业数据安全的最后一道防线。

大家都知道对数据进行备份很重要,但可能因为一年也用不了一次,并且备份文件也比较多(每天一个备份文件),在大部分情况下,对备份文件的有效性检查都比较缺失。虽然有 DBA 会定期的对备份进行校验:一般先把数据恢复到新实例,并进行初始化数据库、拷贝备份、恢复数据等步骤,但这种费时费力的工作也不能百分百保证备份的有效性。

在更多的时候,为了查询一些历史数据或某条记录的历史变更情况,也会对备份文件进行恢复操作,目前传统的备份数据查询有两种方式:
  • 将备份文件导入到新的数据库,再通过数据库操作对数据进行查询,如果需要指定时间的数据信息,还需要恢复 BINLOG,这种方式耗费时间长,并且也很容易出现问题。

  • 通过Hive的方式直接对文件进行查询,但是这种方式对数据文件格式有严格的要求,且技术成本较高。

那如何能快速地查询备份数据,验证其有效性,并让备份文件充分发挥应有的价值呢?NineData 推出的 备份数据查询(全量、按时间点)和 数据变更轨迹查询 功能,很好地解决上面说的问题。

备份集实时查询

使用前备份集实时查询前,需要先使用 NineData 的备份功能,先备份出一个备份集。假如您已经通过 NineData 的备份功能完成了一个数据库的备份,那么只需要简单的几步,就可以完成实时的备份集数据查询。

备份集查询

先进入 NineData 备份与恢复模块,点击备份数据查询;然后选择一个有备份的数据源,选择查询方式:全量备份集 或 按时间点查询;在备份集的下拉菜单中,会自动出现该实例的备份集列表,按照需求选择即可。

  • 全量备份集查询:直接查询备份文件(备份集)  

点击开始查询进入到查询页面,在查询页面中可以看到备份文件中的数据库和表对象,并且可以进行相关的查询操作,可以把备份文件实时的使用起来:

  • 按时间点查询:全量备份文件 + LOG ,该方式的查询需要在NineData 上开启备份任务,并且备份方式选择:表结构 + 全量数据 + 日志数据。

  点击开始查询进入到查询页面,在查询页面中可以看到备份文件中的数据库和表对象,并且可以进行相关的查询操作,还可以看到增量的数据,如 incr_tb 表,具备了按时间点查询的能力:
数据变更轨迹查询

先进入 NineData 备份与恢复模块,点击数据变更轨迹查询;然后再点击创建查询。

按照需要填写:如想查询 ninedata_bk 库中的表 incr_tb,其 id >=1 的数据 DML 和 DDL 的轨迹。

创建好查询之后,等待任务执行完毕,最后得到数据变更轨迹的情况,如 id=1 的记录在这期间有 INSERT 和 UPDATE 的操作:

 

通过对「备份数据查询」和 「数据变更轨迹查询」的说明,可以看到通过在 NineData 上简简单单的几步操作,就能轻松地实现查询备份文件和数据变更的轨迹查询的事情,极大地提高了备份文件的使用效率和减少了运维人员处理数据恢复的时间。真正做到了“一分钟搞定,永远在线的数据备份”。

小结

通过这篇介绍,可以了解到如何使用 NineData 快速简单地实现备份集的实时查询。另外,除了实时备份数据查询外,NineData 在数据备份方面也突破传统技术方案,推出实时日志备份:基于增量日志监听采集技术,实时获取并备份数据库中的变化数据,实现秒级RPO的备份能力,真正做到数据零丢失。有效保护企业的核心数据,构筑企业数据安全的最后一道防线。

欢迎关注 NineData(微信公众号),或者直接访问并体验:www.ninedata.cloud ,来了解更多的信息。

扫码加入NineData用户交流群