You can fully randomized uuids by changing from 'sequential' to
'random' but, yes, the shared prefix is a compromise between random
uuids and values that play nicely with a b+tree.

B.

On 30 June 2011 20:04, Jens Alfke <j...@mooseyard.com> wrote:
>
> On Jun 30, 2011, at 12:35 AM, Benoit Chesneau wrote:
>
>> Other way is to get a bunch of uuids from couch and using them in your
>> PUT, so you don't have to generate yourself uuids. (and you have best
>> of both world).
>
> Yes, but it’s much simpler (and faster) to call CFUUIDCreate() rather than 
> write all the code to manage a pool of available IDs, call the server on 
> demand to fetch more, block if necessary until the server replies, handle 
> HTTP errors…
>
>
>
> On Jun 29, 2011, at 6:08 PM, Dale Harvey wrote:
>
>> CouchDB generates uuid's that attempts to minimise the amount of rebalancing
>> that needs to happen on insert
>
> That’s funny — I had noticed yesterday that the doc IDs have long prefixes in 
> common, and felt that this was possibly bad for performance because it slows 
> down string comparisons (more bytes to scan before finding a difference.) But 
> of course that’s trivial compared to the overhead you refer to of fetching 
> more b-tree pages from disk on insert. This must indicate that I come from a 
> hash-table background, not a b-tree one :)
>
> —Jens

Reply via email to