Shared Space boundary - All volumes in an aggregate share the hard drives in that aggregate. there is no way to prevent the volumes in an aggregate from mixing their data on the same drives. i ran into a problem at one customer that, due to regulatory concerns, couldn't have data type A mixed with data type B. the only way to achieve this is to have two aggregates.
makes me confused what the purpose of raidgroups are? I thought raidgroups was the boundary for volumes, but if volumes are mixing their data across disks in an aggregate - despite having two raidgroups - what is the exact purpose of a raidgroup then?
In my case my concern is that I want to create a disk boundary between two volumes where one volume is used for Database data and the other volume for Application data to achieve that a service searching through a database - heavy use on disk - and a service using application data do not use the same physical drive at the same time which I assume will increase latency?
raidgroup is unit of data protection. It is far too impractical to have single RAID array consisting of hundredth of disks; so you get several small RAID arrays (raidgroup) and combine them to get large aggregate
Well, you reading this correctly - to achieve physical separation you need separate aggregates.
RAID group is used for parity calculation within that group and these days it is limited to 20-something disks. An aggregate can be much bigger, so it often spans multiple RAID groups. If there is no requirement for separation (and you can argue this on a case by case basis), having many spindles in one aggregate is beneficial as it improves the performance.