Infrastructure for One Million Email Accounts?
cfsmp3 asks: "I have been asked to define the infrastructure for the email system for a huge company, which fed up of Exchange, wants to replace their entire system with something non-Microsoft. I have done this before, but not for anything of this scale. Suppose you are given a chance to build from scratch an email system that has to support around one million accounts. Some corporate, some personal, some free. POP, IMAP, webmail, etc are requirements. The system must scale perfectly, 99.9% uptime is expected... where would you start?"
How do I do my job again?
Thanks
-Hobotron
There is truth in humor.
Be careful. Because of your post, Dan Bernstein is sure to post a long, detailed rant about how you're obviously retarded because won't listen to him, you hate babies, like to kill kittens, etc. Ugh. Man. Qmail _is_ a pile of shite.
Good job. You wasted quite a bit of time proving in excruciating detail that i messed up, after everyone else alerted me about it.
Somehow i'm not surprised that, in your calc.exe fest, you missed the obvious - I missed a decimal space.
Again, you are completely and totally wrong. Your experience is clearly lacking, anyone with ANY experience with filesystems and with RDBMSs will tell you, you are wrong. Trying to pretend I am making this up for some reason only makes you look even less knowledgable.
You don't care what kind of cache the OS impliments? Maybe that's why you have no idea what you are talking about? Start caring, and start learning. Filesystem reads DO NOT go to disk, that's the fucking point, that's what a cache is, its storing it IN RAM. Filesystem reads go to the buffer cache, if something is not in the cache, the kernel reads it into the cache. Those tens of thousands of users checking every minute are NO LOAD ON THE DISKS AT ALL. The database would cache this data in RAM to prevent disk access, and so does the filesystem. I suggest you read a book on filesystem or even just general OS internals so you understand that what you are saying is total nonsense.
And again, filesystems are much, much, much, a huge fucking enormous order of magnitude faster at performing data updates than a database, especially since the database also has to update its transaction log and indices, and flush them to disk. And like I said, FFS + softupdates makes deletes even faster. Mail servers don't have anything in common with file servers in terms of resource usage? Maybe you should tell that to all the hundreds of huge mail system admins out there who will tell you that you are completely and totally full of shit. Its creating, reading and deleting files, sounds pretty fucking fileserver-like to me. Sticking it in a database makes database server-like, sure. It also makes it much, much slower.
And for your second post, maybe you use windows for your mail servers or something insane like that? But in the real world, the filesystem's buffer cache can and will be as big as it can. Do a top on a linux machine with a 2.4> kernel, and notice how free is almost none? Its using all the spare RAM for the buffer cache. So quit talking complete bullshit and then lying more when you get called out on it.