I haven’t deployed DBMail in production yet and when I do, I will only need a 
single database instance.  But, I will need the ability to scale DBMail (and 
MySQL) to larger and larger number of users/mailboxes.  My intention is to 
cluster the database to 2 servers (for HA).  When the database is too large or 
too slow to handle my DBMail traffic, I plan on splitting the database into two 
clusters so that half the users are served by one cluster and the other half 
are served by the other cluster.  When one of these two clusters becomes too 
large or too slow, I will split the cluster again.  This should make DBMail 
scale quite nicely forever.

But, my users will send lots of attachments (5 to 10 MBs) to each other.  The 
average email (w/ attachments) will be sent to at least 100 recipients.  Since 
MySQL only operates nicely on local storage and my servers all use SDDs (under 
1TB per server), I’m concerned that my databases will become too large too 
fast, mainly because of the numerous attachments.  I realize that DBMail does 
data de-duplication for attachments within a single database, but I don’t think 
this applies to multiple DBMail databases where the various recipients are 
scattered amongst all the clusters.

So, ideally, I would like to store all the attachments in Amazon S3 (or my own 
webserver).  I would set up a local webserver to cache/serve attachment files 
(using Varnish or some other web cacheing software).  I would like DBMail to be 
able to store the attachments into Amazon S3 (or even to the local filesystem 
for upload to Amazon S3 later).  DBMail could then store the URI for retrieving 
the attachment in the local database instead of storing the file contents in a 
blob in the db.  When the attachment needs to be retrieved by user request, 
DBMail would use the stored URI to retrieve the file contents.

Is this a feature you would consider adding in the future?

Without this feature, I think I will have to add a cheap HDD (3TBs) to each 
server to hold the database attachments table since SDD storage is still very 
expensive (per TB).  I will also need to backup all these HDDs and since there 
will be multiple copies of each attachment scattered in the various DBMail 
databases, I will need to backup more data than I really need to.

Kevin

_______________________________________________
DBmail mailing list
[email protected]
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail

Reply via email to