分布式OLTP数据库发展趋势(二):一致性备份恢复
对于数据库管理系统而言,保障数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果。而在使用数据库的过程中,总有一些意外因素会影响数据安全,如人员误操作、恶意攻击、极端的多设备故障等。备份恢复技术就成了保障数据安全的最后一道防线,分布式数据库为了保证多节点备份一致性,往往需要配置复杂的依赖关系和操作过程,而这样的过程本身也会对数据安全产生影响。
数据库中的备份包括逻辑备份和物理备份两种形式。逻辑备份是将数据库对象定义和数据导出成SQL文件,在数据库处于运行状态下难以保证备份数据集的全局一致,而且数据量较大时备份耗时较长。物理备份是将数据库在操作系统上的文件进行拷贝的过程,性能相对较高,一般分为全量备份和增量备份。在正式环境中,一般通过制定周期性的备份策略来保障数据的安全,如每周一次全量备份及每天一次增量备份。
在分布式数据库领域,目前大多数产品也能够支持上述备份恢复功能,如逻辑备份、全量物理备份、增量物理备份等。逻辑备份因为是直接将定义和数据导出为SQL文件的形式,所以分布式与单机并无明显差异。而对于物理备份,由于分布式系统中的数据分散存储在不同的节点,为保证备份及恢复的全局一致性,备份恢复的技术要求更高,实现也更复杂。此外,不同架构的分布式数据库在备份恢复时,操作流程也各有不同。
基于MySQL的分库分表数据库,部署架构时包括协调节点CN、数据节点DN、管理节点和全局事务节点GTM。协调节点负责SQL路由转发、分布式事务管理;数据节点由多组MySQL(一主多备)实例组成,用来存储分片数据;管理节点主要功能包括元数据管理、协调节点与数据节点的状态管理与故障切换;GTM负责生成和释放全局事务ID及维护活跃事务列表。
图-分库分表数据库需要备份的数据(图中棕色部分)
基于这样的架构,备份集必须包含数据节点中的用户数据和Binlog日志、全局事务节点中的活跃事务列表、管理节点中的元数据4种数据类型。通常需要对不同的节点角色设置不同的备份策略,比如元数据及活跃事务列表设置秒级别的备份频率、Binlog日志设置分钟级别的备份频率而用户数据则可以设置小时级别的频率,如此才能保证备份及时有效,以及数据一致性。
在某些原生分布式数据库中,DML操作在写入数据时会生成redo日志,并通过日志流的形式在多个副本之间使用一致性协议同步复制;同时,分片内部采用基于LSM Tree的分层存储结构,因此数据的修改会首先写入内存,再以一定的机制转储到磁盘。
图-某原生分布式数据库的架构
这样的数据库物理备份必须由日志归档和数据备份两个功能组合而成。日志归档需要用户先开启日志归档功能,然后由每个日志流的Leader负责定期将该日志流的日志归档到备份介质指定的路径。数据备份是备份数据的功能,分为全量备份和增量备份,由用户主动触发。同样,这样的备份功能实施起来依然具有很大的复杂性,甚至无法通过数据库软件本身完成备份,需要安装额外的插件,在数据库外部进行操作。
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不需依赖任何插件,不需进行多种复杂配置就能实现分布式数据库的全局一致性备份恢复,简化了运维管理工作量,同时提升了备份恢复操作本身的安全性。
党的二十大报告指出,教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是第一生产力、人才是第一资源、创新是第一动力。加快建设网络强国和数字中国。贵州易鲸捷信息技术有限公司连日来深入学习党的二十大精神,将其贯彻至具体生产工作中,凝心聚力攻克科技技术难关,为我党实现第二个百年奋斗目标奋勇前进。
END
▼
往期精彩回顾
▼
QianBase MPP数据库:如何基于图形化OM服务快速部署
王燮元:基于易鲸捷分布式2.0数据库的银行核心交易系统落地实践
易鲸捷简介
易鲸捷公司成立于2015年,专注于新一代融合型分布式数据库核心技术研发。公司核心团队源自天腾公司,曾创造过NonStopSQL等全球领先的数据库产品,核心技术完全自主可控。经过多年技术沉淀,易鲸捷已形成自主可控、国产可信、安全高效的三条完整分布式数据库产品线:QianBase xTP/QianBase TP/QianBase MPP,可面向不同行业应用提供完整的一站式解决方案,在金融、运营商、智能制造、5G等重点行业获得广泛应用。
网址:www.esgyn.cn
贵州易鲸捷信息技术有限公司 地址:贵阳市高新区长岭南路160号高科1号C座24楼 | |
北京易鲸捷信息技术有限公司 地址:北京市朝阳区大屯街道北苑路万科时代中心奥林A座10层 | |
上海易鲸捷信息技术有限公司 地址:上海市浦东新区金科路2889弄1号长泰广场A座6层03单元 | |
北京:010-84983409 | 上海:021-50822117 |
邮箱:info@esgyn.cn | 网址:www.esgyn.cn |