SequoiaDB 巨杉数据库-序列实现原理

本文解析了自增字段的序列值生成与分配机制。在该机制中,编目节点统一生成序列值并批量分配给协调节点。协调节点按需请求序列值用于记录自增字段,确保整体趋势递增但不连续。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自增字段的序列值是在编目节点中统一生成,并批量分配给协调节点。编目节点每次会生成若干个序列值,并缓存起来,待缓存分配完,才会再次生成。编目节点缓存序列值的数量取决于序列属性的 CacheSize。类似地,协调节点每次也会请求若干个序列值,待序列值使用完,才会重新请求。协调节点每次获取序列值的数量取决于序列属性的 AcquireSize。如以下示意图。

avater

 

示例中有 3 个协调节点请求序列值。编目节点 Catalog 每次生成 200 个序列值并缓存起来,而协调节点每次请求 100 个序列值。以 CoordB 为例,它得到了 101~201 的序列值,那么在 CoordB 上插入记录时,它会为记录的自增字段添加 101、102、103……201 的序列值。在使用完 101~201 全部序列后,CoordB 会再次向 Catalog 请求 100 个新的序列值。而在 Catalog 上,在缓存的序列值消耗完时,也会再次缓存 200 个新的序列值。

因此在这个机制下,自增字段的值默认只保证趋势递增(或递减),但不保证连续分配。如果多个协调节点同时插入数据,在小的区间内,可能会出现后插入的文档的自增字段值比先插入的小,但在大的区间内,数值是递增的。

 

更多内容请点击巨杉数据库官网文档中心

 

相关阅读

SequoiaDB 巨杉数据库-序列使用方法

SequoiaDB 巨杉数据库-序列

SequoiaDB 巨杉数据库-使用

SequoiaDB 巨杉数据库-全文检索环境部署

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值