Single instance storage is a feature of Exchange that we haven't talked about much since the 1990s. We made some changes to how single-instancing works in Exchange 2007, so I wanted to give everyone an overview of what's changed and why. But first, some background:
What is single instance storage?
The idea behind single instance storage is that if a message is addressed to multiple recipients, and these recipients are located on the same database, the message is stored just once. This functionality has existed in Exchange since version 4.0.
Evolution of single instance storage
Over the years, the importance of single instance storage (SIS) in Exchange environments has gradually declined. Ten years ago, Exchange supported about 1000 users per server, with all users on a single database. Today, a typical mailbox server might have 5000 users spread over 50 databases. With one-tenth as many users per database (100 users vs. 1000 users), the potential space savings from single-instancing is reduced by 10x. The move to multiple databases per server, along with the reduction in space savings due to items being deleted over time, means that the space savings from SIS are quite small for most customers. Because of this, we've long recommend that customers ignore SIS when planning their storage requirements for Exchange.
SIS has also diminished in importance because of the way storage hardware has evolved. Over the past 10 years, the capacity of disk drives has risen sharply, but IO performance has remained flat, leaving most Exchange customers constrained by disk IO rather than disk space. In 1996, a typical disk was 10GB in size, and delivered about 100 IOPS; or about 10 IOPS/GB. Today, a typical disk is 500 GB and delivers about 100 IOPS; or about 0.2 IOPS/GB. The IOPS per GB has dropped 50 fold. Single instancing is fundamentally about saving disk space at the expense of increased IOs. So, while trading IOs to save space was a good strategy 10 years ago, today a focus on IO reduction makes more sense.
Single instance storage in Exchange 2007
Exchange 2007 included a large amount of work to reduce IO (please refer to http://msexchangeteam.com/archive/2006/09/08/428860.aspx for details). Some of these changes affected the way that Exchange handles single-instancing of messages. In Exchange 2007, attachments are single instanced, but message bodies are not.
This behavior does not apply to the move mailbox operation, so when you transition to Exchange 2007 from Exchange 2000 or Exchange 2003, single instance storage is maintained for both message bodies and attachments, as long as:
- The mailboxes being moved belong to the same source database and the same destination database
- You are using a "transition" approach rather than a "migration" approach for your upgrade
For an explanation of the differences between "transition" and "migration," see http://technet.microsoft.com/en-us/library/bb124008.aspx
Given current trends, we expect the value of single instance storage to continue to decline over time. It's too early for us to say whether SIS will be around in future versions of Exchange. However, we want everyone to understand that it is being deemphasized and should not be a primary factor in today's deployment or migration plans.
- Nick Rosenfeld