Getting Up From the BigTable
April 10th, 2008
Today’s theme is “Lock-In”. If you build a Web app with Google App Engine, can you ever pick up and leave?
This fear can certainly be overblown. As DeWitt Clinton (Google developer) points out “beyond the datastore interface, there are few parts of the stack that are all Google-specific.” He also clears up a common misconception: utilizing Google Accounts for authenticating your users is strictly optional. You won’t get locked in there unless you want to be.
However, the concern is legitimate when it comes to the database. Once you build on top of BigTable through the Datastore API, you’re not going to be able to move easily, because, right now, there’s nowhere else to go.
But, that’s right now. In the near future, I think you’ll have options, and lock-in may not be as much of a concern. At least, that’s a common thread through several interesting posts I found today:
- Cloud: commodity or proprietary?: Doug Cutting (Head of the Hadoop Project) stresses open-source as the best alternative. He thinks that we can’t count on “cloud providers” to build on top of a non-standard APIs, and that only open-source implementations can counter their inevitable proprietary APIs.
- App Engine: Commodity vs. Proprietary: Ian Bicking is a bit more optimistic. To him, Google’s APIs look “reasonably abstract and reasonably minimal” and “seem to lack the stench of proprietary APIs”.
- Will Google fulfill the promise of WinFS?: Ivan Krstić predicts that we’ll see “people begin to implement their own Google datastore API-compatible backends on top of everything from Apache CouchDB to (awkwardly-fitting) relational databases like MySQL and Postgres — which, make no mistake, will happen very soon.” Ivan also dissects the in-memory backend of the datastore that Google includes in the SDK, and concludes that this technology is not suited solely for the Web, but that it’s “march to the desktop is all but inevitable.”