ITPub博客

首页 > 数据库 > 国内数据库 > 分布式OLTP数据库发展趋势(二):一致性备份恢复

分布式OLTP数据库发展趋势(二):一致性备份恢复

原创 国内数据库 作者:易鲸捷数据库 时间:2023-03-29 16:49:20 0 删除 编辑

对于数据库管理系统而言,保障数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果。而在使用数据库的过程中,总有一些意外因素会影响数据安全,如人员误操作、恶意攻击、极端的多设备故障等。备份恢复技术就成了保障数据安全的最后一道防线,分布式数据库为了保证多节点备份一致性,往往需要配置复杂的依赖关系和操作过程,而这样的过程本身也会对数据安全产生影响。

数据库中的备份包括逻辑备份和物理备份两种形式。逻辑备份是将数据库对象定义和数据导出成SQL文件,在数据库处于运行状态下难以保证备份数据集的全局一致,而且数据量较大时备份耗时较长。物理备份是将数据库在操作系统上的文件进行拷贝的过程,性能相对较高,一般分为全量备份和增量备份。在正式环境中,一般通过制定周期性的备份策略来保障数据的安全,如每周一次全量备份及每天一次增量备份。

在分布式数据库领域,目前大多数产品也能够支持上述备份恢复功能,如逻辑备份、全量物理备份、增量物理备份等。逻辑备份因为是直接将定义和数据导出为SQL文件的形式,所以分布式与单机并无明显差异。而对于物理备份,由于分布式系统中的数据分散存储在不同的节点,为保证备份及恢复的全局一致性,备份恢复的技术要求更高,实现也更复杂。此外,不同架构的分布式数据库在备份恢复时,操作流程也各有不同。

一、分布式数据库常用的备份恢复流程相对复杂,操作风险较高

基于MySQL的分库分表数据库,部署架构时包括协调节点CN、数据节点DN、管理节点和全局事务节点GTM。协调节点负责SQL路由转发、分布式事务管理;数据节点由多组MySQL(一主多备)实例组成,用来存储分片数据;管理节点主要功能包括元数据管理、协调节点与数据节点的状态管理与故障切换;GTM负责生成和释放全局事务ID及维护活跃事务列表。

图-分库分表数据库需要备份的数据(图中棕色部分)

基于这样的架构,备份集必须包含 数据节点中的用户数据和Binlog日志、全局事务节点中的活跃事务列表、管理节点中的元数据4种数据类型。通常需要对不同的节点角色设置不同的备份策略,比如元数据及活跃事务列表设置秒级别的备份频率、Binlog日志设置分钟级别的备份频率而用户数据则可以设置小时级别的频率,如此才能保证备份及时有效,以及数据一致性。

在某些原生分布式数据库中,DML操作在写入数据时会生成redo日志,并通过日志流的形式在多个副本之间使用一致性协议同步复制;同时,分片内部采用基于LSM Tree的分层存储结构,因此数据的修改会首先写入内存,再以一定的机制转储到磁盘。

图-某原生分布式数据库的架构

这样的数据库物理备份必须由日志归档和数据备份两个功能组合而成。日志归档需要用户先开启日志归档功能,然后由每个日志流的Leader负责定期将该日志流的日志归档到备份介质指定的路径。数据备份是备份数据的功能,分为全量备份和增量备份,由用户主动触发。同样,这样的备份功能实施起来依然具有很大的复杂性,甚至无法通过数据库软件本身完成备份,需要安装额外的插件,在数据库外部进行操作。

二、QianBase xTP实现一种更简单方便的备份能力

QianBase xTP(以下简称QianBase)是易鲸捷专为企业核心系统打造的一款原生分布式OLTP数据库。实现数据自动拆分合并、副本复制、分布式事务等能力,对应用完全透明无感知。QianBase采用完全的去中心化设计,没有任何管理角色,所有节点完全对等。在存储层,数据以分片(Range)为单位均匀打散在不同节点,分片基于一致性协议进行多个副本的复制,其中一个Leader主副本负责读写操作,其余为Follower从副本。

图-QianBase xTP的架构

QianBase在备份恢复功能上实现了多项的技术突破,使其操作更加方便,不必像其它分布式数据库那样必须单独备份日志文件、活跃事务列表或者元数据等。QianBase可以通过SQL在数据库内部方便的执行和管理备份与恢复。

①无须单独备份元数据。QianBase底层所有的数据(包括元数据及用户数据)均以Range为单位按key-value格式有序存储,类似一个巨大的有序的Map,因此只要备份完整的Range数据也就包含了元数据的备份。如果备份粒度是表级别或schema级别,在备份过程中任务会自动根据需要备份的对象构造一份相应的元数据信息并写入到备份集合。

②无须单独备份活跃事务列表。QianBase去中心化的架构表现在多方面,这其中就包括分布式事务一致性的实现。QianBase通过HLC混合逻辑时钟(一种多节点多活的分布式事务授时方案)实现了MVCC技术及事务的隔离性,同时基于优化的两阶段提交协议保证事务的原子性,因此QianBase中不需要使用GTM全局事务管理服务,也不存在活跃事务列表的概念,更不需要单独备份事务表。

③无须单独备份日志文件。传统数据库需要备份redo或WAL日志,是为了能够在恢复期间通过重放日志将数据库还原到之前某个时间点。QianBase结合MVCC技术可以备份一段时间内数据的所有历史修订版本。由于每条数据的key值都包含当前版本的时间戳信息,QianBase可以非常容易的将数据恢复到过去某个时间点的一致性状态,因此无需备份及回放日志。

QianBase除了备份的数据类型进行了大幅简化,还在数据库内部增加了JOB及SCHEDULE功能,允许用户在数据库内部通过SQL对备份、恢复实现作业化的运行、管理,支持查看、暂停、重启和取消备份恢复,以及配置、管理周期性备份任务。QianBase让DBA不需依赖任何插件,不需进行多种复杂配置就能实现分布式数据库的全局一致性备份恢复,简化了运维管理工作量,同时提升了备份恢复操作本身的安全性。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70026636/viewspace-2942482/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
贵州易鲸捷信息技术有限公司成立于2015年,是一家拥有核心数据库技术的“专精特新”企业,是国内率先开展“银行核心交易系统”试点工作的数据库厂商,更是全球最早推出下一代融合型分布式数据库的公司。自主研发的QianBase产品可满足银行90%以上业务场景需求,推动了金融信创产业发展。

注册时间:2023-02-10

  • 博文量
    23
  • 访问量
    16750