Maybe you should try mongodb:
http://www.mongodb.org/display/DOCS/Amazon+EC2
Quickstart:
http://www.mongodb.org/display/DOCS/Amazon+EC2+Quickstart
Free courses at 10gen and video presentations:
http://www.10gen.com/presentations/nyc-meetup-group/mongodb-and-ec2-a-love-story
Other key-value storages:
http://google-opensource.blogspot.com/2011/07/leveldb-fast-persistent-key-value-store.html
Comments about Riak and their storages especially bitcask and innostore:
http://basho.com/blog/technical/2011/07/01/Leveling-the-Field/
RaptorDB: A extremely small size and fast embedded, noSql, persisted dictionary database using b+tree or MurMur hash indexing. It was primarily designed to store JSON data (see my fastJSON implementation), but can store any type of data that you give it.
HamsterDB: A delightful engine written in C++, which impressed me a
lot for its speed while I was using Aarons Watters code for indexing.
(RaptorDB eats it alive now... ahem!) It's quite large at 600KB for
the 64bit edition.
Esent PersistentDictionary: A project on CodePlex which is part of a
another project which implements a managed wrapper over the built in
Windows esent data storage engine. The dictionary performance goes
down exponentially after 40,000 items indexed and the index file just
grows on guid keys. Apparently after talks with the project owners,
it's a known issue at the moment.
Tokyo/Kyoto Cabinet: A C++
implementation of key store which is very fast. Tokyo cabinet is a
b+tree indexer while Kyoto cabinet is a MurMur2 hash indexer.
4aTech Dictionary: This is another article on CodeProject which does
the same thing, the commercial version at the web site is huge (450KB)
and fails dismally performance wise on guid keys after 50,000 items
indexed.
BerkeleyDB: The grand daddy of all database which is owned by Oracle
and comes in 3 flavours, C++ key store, Java key store and XML
database.
(Quotation source: http://www.codeproject.com/Articles/190504/RaptorDB)