You are probably well aware that Amazon S3 provides unlimited
scalability but does not have locking and transactions. There's also
a delay between the time when data is written to S3 and when it
becomes available for reading.
I tried several approaches but the best one turned out to be one of
hacking Mnesia internals to add s3_copies as a table type. I started
from scratch, as opposed to building up on Ulf Wiger's RDBMS but I
doubt I could have done it without reading the RDBMS code and asking
lots of questions, all of which Uffe was kind enough to asnwer.
Hacking Mnesia turned out to be a veritable pain in the rear as I had
to touch most of the modules, including today's extensive modding
session with mnesia_loader.erl. I will also need to apply the changes
to any upcoming releases of Mnesia.