Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Google App Engine for Javaを使ってみよう!
(5)Datastore Java API

Google App Engine for Javaを使ってみよう! (5)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/05/27 14:00

 この連載では2009年4月に発表されたJava版のGoogle App Engineを解説します。今回はGoogleのスケーラブルなデータストレージにアクセスするためのAPI「Datastore Java API」の使い方を勉強したいと思います。

目次

はじめに

 Googleのインフラで実行されるクラウドサービス Google App Engineが2009年4月7日にJavaに対応しました。Javaエンジニアにも利用できるようになったGoogle App Engineを一緒に勉強して行きましょう!

 今回は、GoogleのスケーラブルなデータストレージにアクセスするためのAPIを勉強したいと思います。

対象読者

  • ウェブサービス開発に興味のあるJavaエンジニア
  • Google App Engine for Javaに興味がある方

必要な環境

  • 「Google Plugin for Eclipse」がインストールされている、Eclipse 3.3(Europa)か3.4(Ganymede)

 開発環境の構築手順については、第1回の解説を参照してください。

Datastore Java APIとは?

 Google App Engineではファイルシステムを直接利用することが禁止されており、Google App Engine上でデータを保存しておきたい場合には、データをデータストアに格納する必要があります。今回勉強するDatastore Java APIは、データストアへのアクセス用APIで、次の機能が用意されています。

  • データの書き込み
  • データの取得
  • データ取得時の並び替え(ソート)
  • 動的自動インデックシング
  • トランザクション処理

 Datastore Java APIには沢山の制限項目があり、第1回で説明したGoogle App Engineの制限とは別に、以下の制限があります。Google App EngineとDatastore Java APIの両方が制限値以下の状態でないとAPIの呼び出しができません。

 今のところ、課金によってこれらの制限値を増やすことはできません。

制限の範囲(1日):管理コンソールの「Quota Details」より(2009/5/22時点)
リソース 単位
データストアAPI呼び出し回数 10,368,000
APIへのデータ送信 12ギガバイト
APIからのデータ受信 116ギガバイト
データストアCPU時間 62.11 CPU時間
最大エンティティサイズ 1メガバイト
エンティティのインデックスの最大値 1,000バリュー
バッチPUT/DELETE 500エンティティ
バッチGETの最大エンティティ数 1,000エンティティ
クエリーの結果オフセットの最大数 1,000
DatastoreとBigTable

 Google App EngineのDatastoreのデータが、Googleが開発したデータストレージのBigTableに格納されるかどうかに興味のある方は非常に多いと思います。

 

 Datastore Java APIは、DataNucleusというライブラリを利用して実装されていますが、GoogleとDataNucleusプロジェクトが共同で開発したdatanucleus-appengineプラグインを通してBigTableにアクセスしているという情報がDataNucleusのページに書かれています

 

 datanucleus-appengineプラグインはソースコードが公開されてますので、興味のある方は実装を確認してみてはいかがでしょうか。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 山下 大介(ヤマシタ ダイスケ)

      京都大学を中心とした、産官学共同プロジェクトのSOBAプロジェクトに参加後、同プロジェクトで開発したP2P配信によるVoIP技術を2005年に商業化。オープンソース、VoIP、P2P、クラウドコンピューティングに精通。趣味はGoogleの追っかけ。現在は、株式会社SOBAプロ...

バックナンバー

連載:Google App Engine for Javaを使ってみよう!

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5