Save a fortune on storage with Exchange 2010

After what turned out to be about two weeks South of the Border escaping the tundra of the NY suburbs and a couple TechNet event presentations, it’s time to hit the blogosphere again…

I’m working on a nice post here sometime soon on using the Simple Display Name (SDN) field in Exchange 20xx as an External Display Name. Basically what this allows you to do is have a regular Exchange Display Name like usual but then have a separate External one which everyone who you send emails to sees. This works great in companies where there are multiple folks with the exact same name and would actually like to use the same name externally. More details to come, check back soon on that!

So in the meantime, did you know that you can really save a small fortune on storage when moving to Exchange 2010? I’ve been doing the Exchange thing for a long time, so I keep forgetting that the fantastic storage message we have in Exchange 2010 needs to really be shouted from the rooftops <insert visual of me shouting this in the middle of Manhattan with a megaphone…> :) So here’s the deal, with Exchange 2010 you can finally utilize low cost storage to host this full-featured messaging platform. Previous versions of Exchange (like Exchange 2003 and prior) had very high disk performance requirements for the storage where Exchange was going to be running. There were several reasons for this which I won’t get into here, but suffice to say the Exchange Team attacked the #1 cost area for the Exchange platform with vigor when building Exchange 2010. First off they added the option Direct Attached Storage with SAS (Serial Attached SCSI) in Exchange 2007 and now with Exchange 2010 enterprise customers can actually use SATA drives to host their Exchange environment.

How can they do this you say? What changed? Well a fair amount, that’s for sure. Basically the Jet database engine changed the way it writes data to disk and subsequently how data is read from the disk subsystem. Anyone familiar with the way jet has worked since its development knows that it was always a random read/random write type of database where it finds the first available spots on the disk to commit transactions to the disk and write the transactions. Well, while this is a good way to minimize the time it takes to write transactions to disk, email systems like Exchange are really more interested in optimizing read time, so when a user clicks to read an email, the performance is excellent. Realizing this, the Exchange team changed the jet database engine to do only sequential writes of data to the database which in turn changes all of the reads of the data to being sequential reads. Now when an email is being read, it pulls all of the information for the email in exactly sequential order so the disk doesn’t have to look in multiple places to satisfy the read request.

How does this help? Multiple ways – first off reads are faster since the disk read time will go down significantly since all of the data in a read request will be sequentially on a disk platter and the data is all in one place. This will directly increase performance to the end user because of the reduced read times. Next, because all data in the database is written in sequential fashion, we can actually take bigger I/O’s (think bigger bites) of data when reading the data which will also increase performance. Exchange 2010 quadrupled the size of the I/O from 8K of data in Exchange 2007 to 32K I/O’s in Exchange 2010. So now when the user opens up that 50K message (50K is a reasonable industry-average size for an email), Exchange 2010 needs just two I/O’s as opposed to seven I/O’s on Exchange 2007.

So how does this help me? Well, think about it – Exchange historically has needed really fast, high-RPM drives to efficiently and quickly carry out those many read requests and find the data in that 50K email that in previous versions was spread across the database and possibly even on multiple disk platters on the physical media of the hard drive. Now, with Exchange 2010 the data for that 50K email is written sequentially in one place, so the benefit of the high rotational speed drives (think Fibre drives or even SAS drives spinning at 15K RPM) is drastically reduced since the read time on a SATA drive is roughly equivalent to these higher cost drives. Now faster drives still have faster seek times and will scale to handle more I/O’s, but will handle much less storage which is typically the rub – users want more storage. SATA drives in the 2 TB (that’s terabyte) range are becoming commonplace and with these changes to Exchange 2010, you can now actually use them. Oh and to circle back on what started me on this little post in the first place – these SATA drives are a small fraction of the cost of the Fibre and SAS drives typically associated with Exchange implementations so you indeed can save a small fortune on storage with Exchange 2010 and have great performance to boot.