Whenever I get the opportunity to talk to my peers about the coolness of App Engine it always pains me to have to say "...but you can't do joins." I know how useful joins are because I spent many many years using them before I started working on App Engine. Lately I've been thinking that there has to be a way to make it work. The App Engine datastore offers a guarantee that query performance scales with the size of the result set, not the size of the data set, so a query that returns 100 results should take the same amount of time whether you have a thousand rows or a million. That means we can't compute a full cross-product at time-of-query because that would require looking at all the data in the n tables we're joining, and if we look at all the data our performance is now tied to the size of the data set. Still, it feels like we ought to be able to do something here.
A collection of articles and resources of interest to the modern software developer
Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do.
-- Steve Jobs
Tuesday, May 31, 2011
Google App Engine Java Persistence: The Truth About Joins
Google App Engine Java Persistence: The Truth About Joins
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment