> Running multiple instances of a DB server means that each DB is going to be hard-coded to a limit which is some fraction of the available memory.
What you are suggesting then, is setting limits in a way that does not guarantee resources for any given database.
> There are limits even to this, though. The most memory you can get for any single, broadly available instance in AWS is 244 GiB, and its going to cost you an arm and a leg to run. It's not hard to create a dataset which exceeds 244 GiB in size.
Most people don't have databases that large. If you do, perhaps you shouldn't be puting multiple of them in a single instance if you're limited to machines that small.
For comparison, I have servers with dozens of databases that fit into memory on machines with 64GB and less. I also have machines with single databases that need far more. If we need to, we'll provision machines with 1TB-2TB of RAM.
> This isn't something I frequently see being an actual problem, within the same corporation.
It's something I see all the time. Consider that "within the same corporation", people often run databases for a large number of external customers, or need to be able to roll out new versions, or do development and testing on different versions.
I have at least 5 different versions of Postgress sitting on production servers right now due to customers with different requirements and different upgrade cycles.
I also have several different versions of MySQL.