couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bernd Lutz <ibern...@googlemail.com>
Subject Handling unique URL friendly identifiers
Date Wed, 30 Dec 2009 19:01:08 GMT
Hello everyone,

I'm currently exploring the possibility to port an app from MySQL to CouchDB. The app uses
friendly URLs, e.g. http://myapp.com/content/friendly-identifier. Every content has an unique
identifier which derives from the content title.

If there would be only a few users creating content a simple check for the identifier's uniqueness
would be enough. But what if there are multiple database nodes and let's say thousand users
creating identifiers.
So we cannot get a consistent view result on a single node nor being sure that another user
doesn't add a same identifier on another node in parallel.

I hope you got the problem. How would you handle it?

My approach:
Setting up a special node and database handling idenifiers with a view having the identifier
as key.
1. Adding a new document with the identifier.
2. Check the uniqueness by queriing the view.
3. If ok, all right. Otherwise: Recursively add a postfix "-n" until the result is unique.

Of course the identifier won't be used as document _id.
I think this is a common problem not only for url friendly identifiers. A common usage could
be also the unique user name.

Best regards and a happy new year,
Bernd
Mime
View raw message