> I'm not sure that's a good way of putting it. You can have databases that offer both consistency and availability, but they need to fit on a single machine (no partition tolerance).
Garbage collection requires (a delay that is indistinguishable from) partition tolerance. It's pretty illusory on single machines as well. Especially if they're multi-core.
They might be related formally (though I'm not really sure). In practice, relational databases generally implement very special-purpose concurrent garbage collectors that will totally lock up only under pathological circumstances (though I won't pretend that it doesn't happen). If you're talking about GC in general, with special-purpose hardware and/or real time kernels, GC times can be bounded deterministically and are thus distinguishable from a partition (except in rare cases, as with all garbage collectors with cycle collection, where they must revert to stop-the-world because they can't reclaim memory fast enough). And, of course, it is possible to write actual real time systems that do not require garbage collection at all (though scant few of them have been formally verified to the extent that one might like).
Garbage collection requires (a delay that is indistinguishable from) partition tolerance. It's pretty illusory on single machines as well. Especially if they're multi-core.