I have a system I'm designing that has the concept of what largely resembles "SaaS Multi-tenant database" architectures, where there's a core set of relationships and hierarchy, but everything everywhere needs to always tie back to a core entity, which in this case is called a Partner. A substantial portion of this data will be synchronized to us from a data factory, and it would be critical that all this data continues to be siloed for each partner.
I understand that my goal should be to use business units to make this architecture work. When data is synchronized, I can see how the process syncing could simply find the associated business unit that ties to the other system's partner id. But, other than in rare circumstances where a manual entry has been fat fingered, we would never want our data to be able to be reassigned to another business unit.
I've noticed that there's inherent behavor with the user/team ownership setup that changing the Owning User of a record will automatically change the Owning Business Unit of a record. Is this something that can be turned off? In other words, can I make it very difficult to ever change a business unit on a record once it's set?
Also, as an aside, is there any number of business unit hierarchies and relationships that can start to degrade overall performance that I should be aware of?