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

背景信息

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

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

在更多的时候,为了查询一些历史数据或某条记录的历史变更情况,也会对备份文件进行恢复操作,目前传统的备份数据查询有两种方式:

  • 将备份文件导入到新的数据库,再通过数据库操作对数据进行查询,如果需要指定时间的数据信息,还需要恢复 BINLOG,这种方式耗费时间长,并且也很容易出现问题。
  • 通过Hive的方式直接对文件进行查询,但是这种方式对数据文件格式有严格的要求,且技术成本较高。

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

备份集实时查询

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

备份集查询

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

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

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

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

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

NineData 按时间点查询备份集-操作步骤

数据变更轨迹查询

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

NineData 数据变更轨迹查询

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

NineData 创建数据变更轨迹查询

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

NineData 数据变更轨迹查询结果

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

小结

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

最新文章

  1. S5PV210的电阻触摸屏&ADC控制器
  2. [转] MySQL 查询表数据大小的总结
  3. Eclipse *版本
  4. throw和throw ex的区别
  5. 使用HIBERNATE的SQL查询并将结果集自动转换成POJO
  6. AS3给显示对象加边框
  7. Codeforces Round#344
  8. IOS 隐藏键盘。
  9. 基于原生js的图片延迟加载
  10. mybatis中$和#java代码演示
  11. 关于Redis的常见面试题解析
  12. ASP.NET Core 实战:使用 Docker 容器化部署 ASP.NET Core + MySQL + Nginx
  13. 关于Docker开通远程访问端口2375
  14. java中的编译时常量与运行时常量
  15. Python里format()方法基本使用
  16. BZOJ-2-4870: [Shoi2017]组合数问题 矩阵优化 DP
  17. 12、Java函数接口
  18. [CNBETA]动图告诉你 光速到底有多慢?
  19. 引入网站标题小logo
  20. 5月9日——vue渲染过程中{{xxx}}显示

热门文章

  1. Transformer 结构分析
  2. JAVA开发搞了一年多的大数据,究竟干了点啥
  3. Educational Codeforces Round 130 (Rated for Div. 2) C. awoo's Favorite Problem
  4. Pyside2 开发框架
  5. VM虚拟机搭建Linux CentOS7(手把手教程)
  6. pinpoint:查看hbase表和修改数据过期时间
  7. vue3 结合 element-plus 框架实现增删改查功能(不连接数据库)
  8. 深度学习之Tensorflow入门
  9. day16 正则表达式 & 反射 & Java内存模型(JMM)
  10. 视频超分之BasicVSR-阅读笔记