为什么CouchDB在生成的UUID之间使用随机偏移?

时间:2014-03-12 22:50:09

标签: couchdb uuid b-tree

我正在开发一个在CouchDB中存储数据的应用程序,我想为应用程序中的新文档生成UUID,即不使用_uuid API或依赖于CouchDB在文档生成时使用UUID插入。为此,我将重新创建CouchDB用于生成UUID的默认算法,其工作方式如下:

生成的UUID由两部分组成,一个随机前缀和一个单调增加的后缀。只要后缀不溢出,就使用相同的前缀,如果是,则使用新的随机前缀。后缀从零开始,并以1和0xffe之间的随机步长增加。

这一切似乎都是合理的,尤其是关于随机但不变的前缀的部分,它允许同时插入的文档在文档B-Tree中彼此靠近地存储。我不明白为什么后缀以随机步骤增加而不是每次增加1。这个决定有什么解释或可能的解释?

0 个答案:

没有答案