[Dovecot] Scalability plans: Abstract out filesystem and make it someone else's problem

Timo Sirainen tss at iki.fi
Tue Aug 11 09:37:00 EEST 2009


On Aug 11, 2009, at 2:16 AM, Seth Mattinen wrote:

>> Show me a clustered filesystem that can guarantee that each file is
>> stored in at least 3 different data centers and can scale linearly by
>> simply adding more servers (let's say at least up to thousands).
>
> Easy, AFS. It is known to support tens of thousands of clients [1] and
> it's not exactly new. Like supporting the quirks of NFS, the quirks  
> of a
> clustered filesystem could be found and dealt with, too.

I was more thinking about thousands of servers, not clients. Each  
server should contribute to the amount of storage you have. Buying  
huge storages is more expensive. Also it would be nice if you could  
just keep plugging in more servers to get more storage space, disk I/O  
and CPU and the system would just automatically reconfigure itself to  
take advantage of those. I can't really see any of that happening  
easily with AFS.

> Key/value databases are hardly a magic bullet for redundancy. You  
> don't
> get 3 copies in different datacenters by simply switching to a
> database-style storage.

Some (several?) of them can be somewhat easily configured to support  
that. (That's what their web pages say, anyway.)

>> Clustered filesystems are also complex. They're much more complex  
>> than
>> what Dovecot really requires.
>
> I mention it because you stated wanting to outsource the storage
> portion. The complexity of whatever database engine you choose or
> supporting a clustered filesystem (like NFS) is a wash since you're  
> not
> maintaining either one personally.

I also want something that's cheap and easy to scale. Sure, people who  
already have NFS/AFS/etc. systems can keep using Dovecot with the  
filesystem backends, but I don't think it's the cheapest or easiest  
choice. There's a reason why e.g. Amazon S3 isn't running on top of  
them.


More information about the dovecot mailing list