
Twitterもどきを作りながらGoogle App Engineの肝データストアを理解する
白石俊平(あゆた)
2008-04-14 17:00:00
データストア概要
特集の三回目となる今回は、Google App Engineを利用する最大の目的ともいえる「データストア」についての説明だ。まずは、データストアの概要をお話ししておきたい。
データストアとは、「アプリケーションのデータを保存しておく仕組み」のことだ。通常のWebアプリケーションであれば、これはバックエンドに控えるリレーショナル・データベースの役目となる。
Google App Engineが提供するデータベースは、本質的にRDBとは異なる。実装の詳細は高レベルなAPIに隠蔽されているものの、Googleの分散ストレージ技術(GFS、BigTable)の上で構築されているのは間違いない。これらのストレージ技術は、リレーショナルモデルを基にはしていない。
Googleの分散ストレージを利用できるおかげで、App Engineのデータストアを利用するアプリケーションは、データのことをほとんど意識しなくとも、強力なスケーラビリティとパフォーマンスを発揮することができる。これは、ユーザ数がどれほど増えようとも24時間連続稼働が求められる、近年のアプリケーションに取っては、まさに福音と言っても良い。
また、データストアがリレーショナルモデルを基にしていないとはいえ、問い合わせに用いる言語はSQLを模した「GQL」と呼ばれるものだ。GQLを使えば、RDBからデータを取り出すのと似たような感覚で問い合わせを行うことができる。また、データモデルのプログラミング自体がオブジェクト指向的であり、O/Rマッピング技術を用いているような感覚でデータを取り扱うことができる。
では前置きはそろそろお開きにして、データストアのプログラミングに関する説明を始めよう。