[
https://issues.apache.org/jira/browse/COUCHDB-465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12744332#action_12744332
]
Chris Anderson commented on COUCHDB-465:
----------------------------------------
Good patch, thanks for the work.
Code feedback:
I think couch_util:new_uuid should be pulled into the couch_uuid_generator
module
Also, the uuid_generator should use the same config and couch_config:register
idioms that are used by other modules. This should be more performant as the
couch_config lookup will only happen rarely, instead of on every call.
The randomness algorithm should be fine. As long at it is constantly ascending
or descending (even with largish jumps) we should be fine.
> Produce sequential, but unique, document id's
> ---------------------------------------------
>
> Key: COUCHDB-465
> URL: https://issues.apache.org/jira/browse/COUCHDB-465
> Project: CouchDB
> Issue Type: Improvement
> Reporter: Robert Newson
> Attachments: sequence_id.patch, uuid_generator.patch,
> uuid_generator.patch
>
>
> Currently, if the client does not specify an id (POST'ing a single document
> or using _bulk_docs) a random 16 byte value is created. This kind of key is
> particularly brutal on b+tree updates and the append-only nature of couchdb
> files.
> Attached is a patch to change this to a two-part identifier. The first part
> is a random 12 byte value and the remainder is a counter. The random prefix
> is rerandomized when the counter reaches its maximum. The rollover in the
> patch is at 16 million but can obviously be changed. The upshot is that the
> b+tree is updated in a better fashion, which should lead to performance
> benefits.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.