GAE/GO Cloud Datastoreを使ってみる
Cloud Datastoreについて
スキーマレスなオブジェクトデータベースです。
Kindと呼ばれるテーブルみたいなものに
Entityと呼ばれるオブジェクトを格納できます。
Entityには一意のKeyが割り当てられています。
EntityのフィールドはPropertyといいます。
Go言語から使う
標準のappengine/datastoreパッケージをラップしてくれた
mjibson/goonを使うのが便利でよさそうです。
goapp get github.com/mjibson/goon
Putしてみる
|
|
結果:
これだけのコードでKind作成してKeyを割り振ってくれます。
Key Nameはprimary keyの別名みたいなものですが、
ない場合はIDが割り振られます。
goonのタグをつけてみます。
|
|
結果:
IdはEntityに含まれなくなり、
Key Nameに入るようになりました。
Getしてみる
Key Name指定で取得
|
|
全件取得
|
|
Queryのメソッドの組み合わせて簡単なフィルターやソートは可能です。
感想
goon優秀です。
Memcacheへのキャッシュ機能もあります。
さわってみただけでしたが、Datastore自体は癖があるので、使う時は注意がいりそうです。
参考