Exchange 2010 single database vs multiple databases

Mfinch
Mfinch used Ask the Experts™
on
My query is one to do with the creation of a single database vs multiple databases in relation to my disk subsystem. I have installed a new iSCSI SAN on which I plan to install an Exchange 2010 virtual machine and migrate all mailboxes from an existing Exchange 2007 server. Unfortunately, I am limited with my disk subsystem in the fact that I only have a single raid 5 array comprising of 7 X 15k SAS disks to house the entire system. This being the case, I feel it is entirely pointless to separate the database(s) and log file(s) onto different virtual disks on the same disk array as this will not provide any performance benefit.

As I have no choice but to have the database(s) and log(s) on the same raid array, my question as mentioned is regarding the creation of a single database vs multiple databases. I am unsure if there is any benefit to creating multiple databases in this scenario and worried it could actually decrease performance. The only benefit I can think of for creating multiple databases is the fact that online defragmentation could complete much quicker for each DB. Our current single DB is around 95GB and the online defrag never has time to complete leaving the performance less than optimal.

Cheers

Liam
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
AkhaterSolutions Architect
Commented:
usually the other benefit (other than performance) is to have a smaller backup/restore window.

if you have one database and have a database failure that's 100% of your users that are down. however if you have the top management on another database and the "users" database is corrupted that's, say, 80% of your users are down but not the top managment.

Now if the management one is down, since it only contains the managers you have only 20% of your users down but the restore procedure is faster since it is, supposingly, smaller
first the point of separating your log and database drives is when you are taking differential backup of you DBs and your backup solution is not Exchange aware it also backs up your logfile , just a bunch of files.

second yes you can host Log files and DB on the same RAID array as in Exchange 2010 Logs and DB are sequential and with IOPs 70% less than Exchange 2007 , it's all about IOPs you should calculate your IOPs and compare it to your storage system and see if you will have adequate performance or not. i recommend you use Exchange mailbox calculator to determine your needs
http://msexchangeteam.com/files/12/attachments/entry453145.aspx
DavidPresident
Top Expert 2010
Commented:
Is it online now?  What are the performance metrics?  Let's assume that everything is not OK, and you have awful performance.  A few things you can do even if you are stuck with a RAID5 array ..

1)  Partition the RAID5 into a C & D disk.  Build D with a 64KB NTFS system, and align the I/Os.  By going with 2 logical drives you allow the operating system ability to do some more caching of disk I/O

2)  If you want to spend a little bit of money, then heck, why not buy a small industrial class SSD.   For under $1000 list, you can get one that is big enough to hold the entire database.  Performance might be a problem, however, seeing as you'll  only get 30-50K IOPs.   (Repeat, 30,000 - 50,000 RANDOM 4KB I/Os per second).

11/26 Forrester Webinar: Savings for Enterprise

How can your organization benefit from savings just by replacing your legacy backup solutions with Acronis' #CyberProtection? Join Forrester's Joe Branca and Ryan Davis from Acronis live as they explain how you can too.

Author

Commented:
Akhater:

Thanks for the advice on the backups but it's not really a consideration at the moment. We are happy with the current process and may look to offsite replication in the future. My main concern here is making sure the performance is optimal.

XtremeKimo:

I am just thinking of performance here and obviously best practice is to separate all DBs and logs as one is random and the other sequential. Put them on different raid arrays and volia, better performance. I wasn't aware that Exchange 2010 DBs and logs are both sequential though so that is good to know. I have done some IO testing already, mainly using Jetstress (and also iOmeter and SQLIO as I also need to put a SQL Server on the same array!). Initial testing gives me best IOPS when using a 64k allocation unit size for the DB and log disk as recommended by MS, getting around 700IOPS. Jetstress throughput based on the current Exchange 2007 server needs approximately 150IOPS so should be ok and leave plenty for SQL too.

dlethe:

The array is online but only for testing at the moment (see above).

The plan was to build a boot partition with the default allocation unit size and then add another virtual disk with the AU size at 64k. I have already ascertained that there would be no real benefit to create a 3rd virtual disk for logs with an AU size of 4k as Jetstress revealed quite a big drop in IOPS with that configuration.

All:

While all your advice is much appreciated guys, the original question was to see if I would benefit from creating multiple DBs in Exchange 2010 with my config rather than a single DB. Particularly in relation to online defrag. Any thoughts?

Cheers

Liam
as Akhater said , it is for recover time , from performance wise it is the same , but if you want to allocate different quota or you have different Backup objectives you should split users across multiple DBs
Top Expert 2014

Commented:
>Our current single DB is around 95GB and the online defrag never has time to complete leaving the performance less than optimal.

I think you answer your own question as to whether you should split it into multiple databases with that statement, smaller databases defrag quicker so long as you do them one at a time.
AkhaterSolutions Architect

Commented:
the multiple DBs splitting as advantanges in short

performance: you can't take advantage of this right now

Backup/restore window: already covered

Quotas

Author

Commented:
andyalder:

I think I was asking for confirmation that doing this would help really, I also wasn't 100% sure that 5 DBs could all defrag at the same time so I would see the benefit. Not sure why both XtremeKimo and Akhater insist the only benefit is recovery though? The question I am asking is related to the benefit of multiple DBs in relation to online defrag.....

Your opinion is to go with multiple DBs then?

Author

Commented:
Hi guys

Maybe I never made it clear what I was after by banging on about performance but I just want your opinions on whether I should stick with a single 95GB DB or chop up into about 5 (for example) smaller DBs. I do understand the points you all make about recovery and I also realise that by creating more DBs, I could actually increase the amount of IOPS required so I am trying to make sure I get the correct balance between performance and DB maintenance /optimisation right from the start....

:)
the microsoft recommendation is a maximum of 200GB if you are not replicating the database and this is mainly for the purpose of recovery

the recommend max is 1TB is you are replicating

Author

Commented:
I have checked all the MS recommendations but they do not advise in any of their documentation that I could find in my scenario which is why I am asking the question here.
you have the option of setting schedule online defragmenation
http://technet.microsoft.com/en-us/library/bb691410.aspx

Author

Commented:
I know I can schedule online defrag but I currently schedule for my existing single db from 6pm to 7am and it is always catching up on previous passes (partly to do with issues with the current storage) whcih results in the DB becoming more and more fragmented. This then results in memory leaks which leads to issues with backups. I know that when I build a new server and migrate the mailboxes, it will defrag them but to avoid having any further issues with defragging a single large DB, I want to know if I should take advantage of multiple DBs. The questions if I decide to do this are:

1) what kind of performance hit such as increased IOPS requirement (if any) can I expect per extra database I choose to create?
2) Can multiple DBs be defragged online at the same time?
3) Is there any benefit whatsoever to be had from putting each database on separate virtual disks if those disks all live on the same raid 5 array? (I don't think so)
1Q: again when sizing exchange we do not care about how many DB
2Q: yes you can but it will take longer
3Q:from management point of view yes , but technically i don't think so as i mentioned b4 EX2010 now have DB & logs sequential but as long as you are sizing correctly it does not matter

Author

Commented:
Took a while to get an answer to the original question despite many comments...

Author

Commented:
Cheers guys, I think I have enough to decide to create a few Dbs now......
Top Expert 2014

Commented:
Benifit I was talking about wasn't to defrag them all at the same time but to do them one at a time.

Author

Commented:
Er, how can there be any benefit from having 5 DBs and defragging them sequentially rather than having 1 DB and defragging it? It would still take the same amount of time to complete both defrags and the argument for multiple DBs purely based on defragging would be mute.

I would hope to defrag them all at the same time, admittedly this has to use up more resources but would take a shorter amount of time?
In Exchange 2010, improvements have been made to increase performance. In Exchange 2010, on large or very heavy profile servers, the store mailbox maintenance task only lasts approximately 45 minutes, while ESE database maintenance usually took from six to eight hours per night to complete on large Exchange 2007 databases (2 GB quotas).
from http://technet.microsoft.com/en-us/library/bb125040.aspx
Top Expert 2014

Commented:
By doing them one at a time at least it would complete. It's really more important for the off-line defrags you might do on the weekend.

Author

Commented:
XtremeKimo:

I guess this part on the link you sent makes the whole question pointless.......


Online Defragmentation
In Exchange 2010, the architecture for online defragmentation has changed. Online defragmentation was moved out of the Mailbox database maintenance process. Online defragmentation now runs in the background 24×7.
You don't need to configure any settings for this feature. Exchange monitors the database as it's being used, and small changes are made over time to keep it defragged for space and contiguity. Online defragmentation is also throttled so it doesn't have a negative impact on client performance.
Use the ESE performance counter set MSExchange Database ==> Defragmentation Tasks to see the tasks that are performed. For more information, see How to Enable Extended ESE Performance Counters.

Cheers, go there in the end :)
anytime my friend :-)

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial