views:

570

answers:

2

It's been noted that Google App Engine is moving its datastore implementation from BigTable to MegaStore. What's the difference between the two?

A: 

There is a blog entry by James Hamilton

That looks like it cover the differences:

http://perspectives.mvdirona.com/2008/07/10/GoogleMegastore.aspx

Although it is not definitive though

OscarRyz
+3  A: 

As this article explains, "Megastore is a transactional indexed record manager built by Google on top of BigTable".

What Megastore adds on top of BigTable, again according to the URL I gave (of course I cannot discuss anything that Google hasn't yet made public!), is stuff that might not be easy to see from an App Engine app's viewpoint, depending on what App Engine may have already added on its own on top of BigTable. E.g., Megastore adds entity groups for transactional behavior... but App Engine has had those for a while. Do you really care how App Engine internally implements, or will implement in the future, identical APIs...?

Megastore supports schemas... but who's to know whether they'll be made available to App Engine apps (so that puts with the wrong combination of types will raise exceptions instead of silently succeeding), which so far have always been schemaless except for whatever you, yourself, or Google's open-source app-level code, implemented at application level.

Alex Martelli