Python からのデータストアの利用 - GQL

Google App Engine のデータストアはスキーマレス・オブジェクト・データストアです。 簡単に言えば MySQL や SQL Server などの RDBMS を利用するときのような "テーブル" がないデータベースです。 データを 「テーブル内のレコード (行)」 としてではなく、あるクラスのインスタンス (オブジェクト) をそのまま保存する、という感じでプログラミングを行います。

RDBMS の感覚が抜けないと、最初はちょっと戸惑いますが、なれると非常にパワフルなものであることが分かると思います。

Python で Google App Engine を利用する時には、データモデリングに関する API と GQL が利用できます。

GQL というのは SQL に似せた問い合わせ言語で、Google App Engine のスキーマレス・オブジェクト・データストアから、データを取得する時に使えます。 GQL を使うと SQL と似たような構文で、オブジェクトを取得できる、というわけです。

例えば Message という種類のオブジェクトが格納されている時に、次のような書き方でオブジェクトのコレクションを取得することが可能となります。

class MyPage(webapp.RequestHandler):
  def get(self):
    msgs = db.GqlQuery("SELECT * FROM Message")

では、まずは簡単なコードを書いて理解を深めます。簡単な掲示板プログラムを書いてみましょう。