Saturday, April 26, 2008

Breaking up with Google App Engine

Sorry Google. It's you, not me.

Perhaps I'm not the target developer for Google App Engine but it seemed like it. I run, a little community site built around the Hollywood Stock Exchange Game. It pretty much runs itself on a webhost with a database but lately my backend software, PHPnuke, is aging.

Along comes Google, with their new fangled App Engine that seems a perfect fit. Dump the stock data plus other stuff into it, build a few functions to return some data, and I have a nice scalable engine to host the data on. I even had some fun learning Python for the first time as well as exploring some AJAX. Even better, I could even design it so that other community sites could grab the data AJAX style and maybe give a little back.

What I found quickly was that the BigTable database engine behind it was either not well suited to what I was doing or I was doing things all wrong. I even went so far as to really AJAXize my code to fire off many transactions instead of large monolithic queries. Nothing seemed to help. Simply queries like finding 20 or 30 records from a 300-400 row table took longer than they should. More optimizing, and I was able to get it reasonable (see here) but yet the backend logs still complained that I was using too much CPU.

Too much CPU on a 30 row query? Egad.

So, I'm breaking up with Google App Engine. I'll just have to either upgrade my PHPnuke or abandon it for some straight PHP+MySQL.

No comments:

Post a Comment