On 10 Jan 2009, at 19:42, Robert Koberg wrote:


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 <[email protected]> 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:

It's an undocumented feature that has been in for a while :)

Cheers
Jan
--


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
--



Reply via email to