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
