Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/mwexler/public_html/tp/textpattern/lib/txplib_db.php on line 14
The Net Takeaway: Can't Join Google App Engine


Danny Flamberg's Blog
Danny has been marketing for a while, and his articles and work reflect great understanding of data driven marketing.

Eric Peterson the Demystifier
Eric gets metrics, analytics, interactive, and the real world. His advice is worth taking...

Geeking with Greg
Greg Linden created Amazon's recommendation system, so imagine what can write about...

Ned Batchelder's Blog
Ned just finds and writes interesting things. I don't know how he does it.

R at LoyaltyMatrix
Jim Porzak tells of his real-life use of R for marketing analysis.






Can't Join Google App Engine · 04/11/2008 12:20 PM, Tech

I mean, yes, you or I will be able to join it in the future, but for the moment, I don’t know what I would do there. If you haven’t heard, look at Google App Engine. You see, even if you join, you can’t join from a database sense.

That is, it’s an impressive offering with all sorts of cool stuff, akin to Amazon’s services, and has glowing reviews (like this one from Niall Kennedy) but it’s missing one basic thing.

It has no relational database. That’s right, no joining of tables. Welcome back to the glory days of hand merging text files.

Yes, it does have a query language called GQL and there is a full API explained in the Datastore API section, but as they clearly say on the GQL reference page, “A GQL query cannot perform a SQL-like “join” query.”.

At the end of the day, they have chosen to use the classic Google datastore model that works for many… but that I still have trouble with.

Look, Map-Reduce is a classic approach (correct, Google did not invent it, but they sure made an amazingly powerful implementation of it) and there are a lot of things one can do with it. But I am not a good enough Object-oriented programmer to use flat datastores. I like relational databases. I guess I am an becoming an oldie.

It’s just disappointing. All sorts of things will port right over there (Python, Django) but to then have to work around this annoying deficiency seems like a complete missed opportunity. Imagine the boost Google could have given to, say, PostgreSQL, the last remaining fully independent open source database with a sizable user base. (BTW, if you like MySQL, you’ll LOVE Postgres).

It is just a beta/developer release. Perhaps they will roll out this stuff in the future; we’ll have to wait and see.

Or, that which does not kill us makes us stronger. Maybe it’s just time to learn hard-core objects, where the app describes relationships between entities and middleware manages the join process “behind the scenes” so to speak.

Either way, it’s still a nice offering. So, Amazon, Google… next would have to be MS, Adobe (Flash hosting, watch and see), and maybe even another large internet player?

PS: Lots and lots of articles on this, but the quickest example on how to work around this was Google App Engine: One-to-many JOIN.

* * *


  Textile Help
Please note that your email will be obfuscated via entities, so its ok to put a real one if you feel like it...

powered by Textpattern 4.0.4 (r1956)