This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Tech web sites are abuzz today with Facebook's announcement of a new messaging system designed to seamlessly incorporate email, messages, chat and SMS. It turns out that the new messaging product required a new back-end as well. That provided the Facebook Engineering team with an opportunity to redesign its messaging infrastructure from the ground up.

The process started with an analysis of existing usage patters, according to the Facebook Engineering blog. The legacy Messages infrastructure supported over 350 million users sending over 15 billion person-to-person messages per month, while the Facebook chat service has 300 million users sending more than 120 billion messages per month. Messaging has been growing at a far faster rate than the Facebook user base.

"When we started investigating a replacement for the existing Messages infrastructure, we wanted to take an objective approach to storage for these two usage patterns," writes Kannan Muthukkaruppan. "In 2008 we open-sourced Cassandra, an eventual-consistency key-value store that was already in production serving traffic for Inbox Search. Our Operations and Databases teams have extensive knowledge in managing and running MySQL, so switching off of either technology was a serious concern. We either had to move away from our investment in Cassandra or train our Operations teams to support a new, large system.

"We spent a few weeks setting up a test framework to evaluate clusters of MySQL, Apache Cassandra, Apache HBase, and a couple of other systems," he continues. "We ultimately chose HBase."