On Jan 10, 2009, at 1:16 PM, Jan Lehnardt wrote: > > On 10 Jan 2009, at 19:07, Chris Anderson wrote: > >> On Sat, Jan 10, 2009 at 9:19 AM, Kurt Mackey >> wrote: >>> Now, the obvious downside is that it makes it more difficult to do >>> cross-customer queries. But what other problems are there with >>> this idea? Assuming that there were lots and lots and lots of >>> accounts, what performance implications are there to giving each >>> their own DB rather than making them all share? >>> >> >> CouchDB keeps each database in it's own file, so if you can spread >> the >> files across disks (using symlinks for now) you should get better >> performance with many databases. DB-per-user is a good pattern also >> because it means you can let users replicate their entire account >> locally, without worrying about filtering out extra data. >> > > In addition, if you name your databases "foo/bar" CouchDB will > actually > create that as a structure on disk to avoid running into trouble with > filesystems that don't like a lot of files in a single directory. Is this new? From: http://wiki.apache.org/couchdb/HTTP_database_API Specifically: "Note also that a / character in a DB name must be escaped when used in a URL; if your DB is named his/her then it will be available at [WWW] http://localhost:5984/his%2Fher. " I thought it would just create the directory 'his%2Fher' If new, do you still need to escape the slash in a URL? thanks, -Rob > > > Setups with 1 million databases representing users have been tested > successfully. > > Cheers > Jan > --