Zimbra is today's featured scale out example as part of our 12 days of scale out series. I've always had a soft spot for Zimbra since I first met CEO Satish Dharmaraj a couple of years back at the first Red Hat Summit in New Orleans. Their ambition is significant: they offer a plug-in replacement for Microsoft exchange that is open-source, cross-platform and more scalable. Zimbra Collaboration suite can handle multiple hundreds of thousands of email accounts on a single PC server. They support all of the standards so you can use any email client and Zimbra also has their own very slick AJAX web-based desktop application. I also think its cool that Zimbra uses MySQL as its meta-data repository for storing contacts, schedules and folder information. It made sense for Zimbra to leverage MySQL as an embedded database to provide fast and efficient searching of meta data. They're able to improve cache efficiency by combining multiple updates into a single disk write.
Like a lot of apps, the Zimbra team evolved their design as they learned more about the performance characteristics of the application under real-world load. Real use case scenarios sometimes perform differently than theoretical benchmark tests. And Zimbra was able to tune their schemas and use of MySQL in order to achieve several orders of magnitude in increased scale over their original goals. That in turn has enabled them to meet the demands of customers like Comcast with more than 12 million potential users. You can read more about the Zimbra architecture and benchmarks in the PDF links below.