开发者社区> 问答> 正文

什么是有效版本偏差


有效版本偏差(Max Version Offset)是数据表的一个属性,单位为秒。
为了防止非期望的写入,服务端在处理写请求时会对属性列的版本号进行检查。当版本号小于当前写入时间减去 Max Version Offset,或者大于等于当前写入时间加上 Max Version Offset 的值时,该行数据写入失败。
属性列的有效版本范围为:[backcolor=transparent][数据写入时间 - 有效版本偏差,数据写入时间 + 有效版本偏差)。数据写入时间为 1970-01-01 00:00:00 UTC 时间到当前写入时间的秒数。属性列版本号为毫秒,其除以 1000 换算成秒之后必须属于这个范围。
例如,当数据表的有效版本范围为 86400 (一天),在 2016-07-21 00:00:00 UTC 时,只能写入版本号大于 1468944000000 (换算成秒之后即 2016-07-20 00:00:00 UTC)并且小于 1469116800000 (换算成秒之后即 2016-07-22 00:00:00 UTC)的数据。当某一行的某个属性列版本号为 1468943999000 (换算成秒之后即 2016-07-19 23:59:59 UTC)时,该行数据写入失败。


  • 建数据表时,用户若不设置有效版本偏差,将使用默认值 [backcolor=transparent]86400。

  • 建表后,可以通过 UpdateTable 接口动态更改有效版本偏差。

  • 有效版本偏差为非 0 值,可以大于 1970-01-01 00:00:00 UTC 时间到当前时间的秒数。

展开
收起
云栖大讲堂 2017-10-24 16:55:09 2301 0
0 条回答
写回答
取消 提交回答
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载