[Python-talk] Google app engine
Lloyd Kvam
python at venix.com
Sat Apr 12 11:33:58 EDT 2008
On Sat, 2008-04-12 at 09:47 -0400, Kent Johnson wrote:
> Kent Johnson wrote:
> > Yes, I'm not saying BigTable is bad, but I think it does have a
> > different sweet spot than, say, Postgres. I have an app that frequently
> > does three- and four-table joins, I'm not sure how I would write that in
> > GAE datastore. I imagine it would require some thought and re-architecting.
>
> Here is a thread on the GAE group that addresses this pretty well:
> http://groups.google.com/group/google-appengine/browse_thread/thread/caa713957b9d6058#
>
> Essentially the advice is to drastically denormalize your DB. Notable
> quote: "A good way structure db's for big table is to pick the ugliest
> solution and that's the one that will work the best."
>
> where 'ugliest' is from the point of view of traditional relational DB
> design.
Still normalization is also done to prevent data anomalies. I've not
had time to review the google appengine in depth. Pre-generating
common, complex result sets; and caching are usually the first things I
would try.
Phillip Eby has been working on a product called Trellis to propagate
changes. that might actually be a good fit for generating result sets
as the normalized data is changed.
http://pypi.python.org/pypi/Trellis
(I'm not actually using trellis yet.)
--
Lloyd Kvam
Venix Corp
DLSLUG/GNHLUG library
http://www.librarything.com/catalog/dlslug
http://www.librarything.com/profile/dlslug
http://www.librarything.com/rsshtml/recent/dlslug
More information about the Python-talk
mailing list