Not sure why this has only just struck me but it has. If you are designing databases, storage groups etc.. why not place all mailboxes that belong to the same department across the same set of databases. In theory this will improve your single instance ratio as emails to the entire department for example are likely to be stored in fewer databases....
And of course the more efficient your SIS is then the more you reduce your IOPS to the disks.
(Use performance monitor and the 'single instance ratio' counter to work out how effective single instance storage is across your Exchange Servers.)
Of course the counter argument is ..........the decision to place all users in the same workgroup on the same database is a double edged sword, yes you get perf improvements, better use of SIS, faster calendar access etc, but you also have a whole workgroup down when the database fails, the business impact of say your whole sales office being out of action for multiple hours can have a fiscal business impact that far outweighs spending a little more on hardware up front. There is no one right answer to this, it generally depends on what the impact of a database failure is to the workgroup so a risk assessment should be done. Some workgroups are not really impacted apart from inconvenience when email is not there (put them on the same database) others are losing money when there is no email (spread the risk over several databases or even servers) The trouble with this multiple approach is there is more overhead to managing where you place your mailboxes, if you have an automated provisioning process you need to build the logic in do decide if this new user is in one category or another, so generally its best to have one provisioning strategy that fits all. So in the case of a company that has workgroups that need to be spread across databases I’d probably recommend everyone is spread.