数据配置版本管理(行级)
平台配置的版本管理有两种模式,分别是表级别(以表为单位创建版本)和行级别(以每一行配置为单位创建版本)。
本章介绍的是平台行级别的版本管理。表级别版本管理请调转至 版本管理(表级)
基本原理
用户打开行级版本管理后,平台平台会基于当前配置表(下文简称原表)生成一个结构完全一样的制品表(下文简称正式表,用于存放正式环境的数据,此后线上读数据的接口会直接读取正式表的数据,而不是原表数据)
冷启动
打开行级版本的开关时,平台需要创建正式表,以及把原表的数据全量拷贝到正式表上。在原表数据量较多的场景下,这个过程会很漫长。只有在冷启动完成之后,行级版本管理的机制才开始执行。
发布版本
发布某行数据的时候,平台会将原表的改行数据取出来,覆盖更新到正式表上。这里取原表数据,以及更新正式表数据,都是通过数据的主键来定位这一行数据的,因此,开启行版本后,请务必保证你数据的主键不会变更。最后,当你使用 只读接口 来获取数据的时候,它会根据读取正式表的数据。
废纸篓
当你删除原表的某行数据之后,正式表并不会删除,此时需要去“废纸篓”里面找到这一行被删除的数据,点击“发布”之后,才能发布到线上。
回滚
回滚操作也是以每行数据为单位的,A行数据的回滚,不会影响B行数据,因此没有对线上数据整表回滚到历史某个时间点的行为。
关闭行版本
关闭行版本时,平台会删除正式表(包括数据),此时 只读接口 将会返回原表的数据。若你重新打开行级版本,那么平台会重新走
冷启动
的过程,重新同步数据。 因此开启行版本后,请谨慎操作“关闭”。
使用说明
完成一次版本发布的操作流程如下:
1. 版本开关
进入表配置页面 -> 高级操作 -> 版本管理 -> 开启行级版本
2. 发布和回滚
数据接口
发布流程
数据发布的过程可以 遵循事先设定的灰度流程 进行发布。即,管理者规定数据的灰度规则,约定数据必须 先灰度,再全量,且灰度的范围都是事先配置好的;这样一来,数据都按照统一的发布流程进行发布。