我正在开发一个在CouchDB中存储数据的应用程序,我想为应用程序中的新文档生成UUID,即不使用_uuid API或依赖于CouchDB在文档生成时使用UUID插入。为此,我将重新创建CouchDB用于生成UUID的默认算法,其工作方式如下:
生成的UUID由两部分组成,一个随机前缀和一个单调增加的后缀。只要后缀不溢出,就使用相同的前缀,如果是,则使用新的随机前缀。后缀从零开始,并以1和0xffe之间的随机步长增加。
这一切似乎都是合理的,尤其是关于随机但不变的前缀的部分,它允许同时插入的文档在文档B-Tree中彼此靠近地存储。我不明白为什么后缀以随机步骤增加而不是每次增加1。这个决定有什么解释或可能的解释?