[ZODB-Dev] Amazon SimpleDB Adapter
David Pratt
fairwinds.dp at gmail.com
Mon Oct 13 20:47:02 EDT 2008
Hi guys, I had thought of something along these lines a while back
for s3 and discovered laurence had already started something - but it
was too slow which I can understand. Can't really see things being
much better with simpledb and I think cost would not be great when
you start thinking of paying for all the pickles.
I think a better way of interacting with databases these days is to
use models in a direct way rather than bend the storage to the zodb
api. Martijn and Laurence have been doing this with megrok.rdb,
megrok.rdf for illustration. The work to tie transactions together
with zope is really the important stuff.
There is no lack of storage options out there these days. My opinion
is that if you want the true characteristics of the storage, you
won't make it behave like a zodb. Lovely systems came to a similar
conclusion after trying relstorage and then moving to use storm in a
more direct way.
Regards,
David
On Oct 12, 2008, at 12:50 AM, Shane Hathaway wrote:
> Laurence Rowe wrote:
>> I'm not sure RelStorage is the best place for it - SimpleDB is very
>> different to relational databases.
>
> RelStorage doesn't use much of a relational database either (except
> during packing).
>
>> A couple of years ago I experimented with s3storage [1]. This
>> turned out
>> to be very slow due to the number of writes performed every
>> transaction
>> - one per object, though this could be improved if the writes were
>> parallelized. It reached the point where zope2 would start up.
>> This took
>> about 10 or 15 mintutes at the time (I did not have access to EC2
>> at the
>> time and this was over public wifi).
>>
>> It worked by creating it's own indexes in S3. I don't think SimpleDB
>> will give any advantage unless it is shown to be faster to query than
>> S3. You cannot store pickles directly in SimpleDB because it is
>> limited
>> to an attribute size of 1024 bytes.
>>
>> The challenge in building such a system is in Amazon's eventual
>> consistency model means you cannot know how up to date your view
>> of the
>> data is. I think it could make a great backend for storing pickles
>> (keyed by oid, tid) but it is probably much easier to have a separate
>> index to consult during loadSerial.
>
> Thanks for the background on S3 and SimpleDB. Using Amazon's storage
> services as a ZODB backend is sounding ever more like an interesting
> challenge.
>
> Shane
>
> _______________________________________________
> For more information about ZODB, see the ZODB Wiki:
> http://www.zope.org/Wikis/ZODB/
>
> ZODB-Dev mailing list - ZODB-Dev at zope.org
> http://mail.zope.org/mailman/listinfo/zodb-dev
More information about the ZODB-Dev
mailing list