I think you are perhaps not really seeing what Magma is. It isn't "just
for storage" - at least not IMHO.
Magma (as is GemStone) is a "shared object memory". Sure, it is also
persistent - but don't get blinded by that.
What it does is that it allows multiple VMs to connect, share and
modify one single object space. The objects in this object space are
serialized over into the VMs on demand (using proxies etc) when they
are sent messages (called "faulting"). BUT... and this is important -
Magma still maintains the object identities so from the programmers
point of view these objects aren't copies - they are the originals.
So what happens then when multiple VMs fault the same objects into
their RAM and start modifying them? Well - you need transactions to be
able to coordinate the VMs.
You wrote "object replication" above. That is *exactly* what Magma
does. Anyway, just look at it and it will probably get clearer.