タグ

GAEに関するpaulowniaのブックマーク (29)

  • Google Cloud SQLとBigtableのコード記述と処理スピードを比較・検討してみる

    Java言語からのアクセスで、Cloud SQLではMySQLの動的SQLを使用し、BigtableではLow-Level APIを使用しています。Bigtableアクセス用のAPIとしてはこの他に、日発のオープンソースフレームワークのSlim3やJDO(Java Data Objects)、JPA(Java Persistence API)などもありますが、アクセスパフォーマンスでは、ここで使用するLow-Level APIか最も優れているはずです。 処理スピード比較 処理スピードの比較は、アイテムマスタのCRUD処理(登録・参照・更新・削除)をそれぞれ同じ画面内容からのアクセスで、Bigtableはクラウド環境で、Cloud SQLではクラウドとローカルの両方で測定を行っています。処理時間の測定では該当のメソッドが呼び出された瞬間から登録などの処理完了直後までの時間を、それぞれの処理

    Google Cloud SQLとBigtableのコード記述と処理スピードを比較・検討してみる
  • Google App Engine for JavaでMySQLを使ってみる

    はじめに 米Googleは2011年10月6日、Google App Engine(以下、GAE)から利用できるRDB(リレーショナルデータベース)「Google Cloud SQL」を発表しました。これまでGAEで使用できるデータストアは、いわゆるNoSQLのBigtableだけでしたが、これでNoSQLSQLの両方が使えるようになった訳で、Googleによれば、RDBはGAEユーザーから最もリクエストが多かった機能だということです。 この記事では、Google App Engine(Java)を使って、クラウド環境下でのRDBの使用方法について解説していきます。 対象読者 Google App Engine for Javaに興味がある方 クラウドでのRDB(リレーショナルデータベース)使用に興味がある方 必要な環境 Eclipse 3.5(Galileo)/3.6(Helios)/

    Google App Engine for JavaでMySQLを使ってみる
    paulownia
    paulownia 2012/04/13
    スケールするのかな?
  • Remote API for Java - Google App Engine - Google Code

    Python Overview CGI Environment Storing Data Datastore Overview Entities Queries Transactions Data Modeling GQL Reference Choosing a Datastore Using the High Replication Datastore Metadata Queries Statistics Reference Types and Property Classes GQL Reference Model Expando PolyModel Property Query GqlQuery Metadata Query Key Functions Exceptions Services Blobstore Overview Reference BlobInfo BlobKe

  • サーバー側コーディング不要のGoogle App Engine開発環境「jsonengine」

    はじめに 稿では、JavaPythonによるサーバー側コーディングを一切必要とせずにGoogle App Engineによる開発を実現するツール「jsonengine」について紹介します。 対象読者 Google App Engineに興味はあるが経験のない方。JavaScriptやActionScriptによるクライアント開発、またはiPhoneAndroidによるスマートフォン開発の経験のある方。JavaPythonの開発経験は不要です。 必要な環境 最低動作環境は次のとおりです。 Java SE 5 jsonengineって何? 「jsonengine」は、JavaPythonによるサーバー側コーディングを一切必要とせずにGoogle App Engineによる開発を実現するオープンソースのツールです。このツールは、昨年開催された「Mashup Awards 6」において「

  • Server-side JavaScript と CommonJS - hagino3000's blog

    Python Hack-a-thon #3でLTした時の資料をslide shareにupしました。Google App EngineでServer-side JSやれるよ、といった内容なのですがスライドの内容が殆ど無いのと、CommonJSとかその辺の説明をおもいっきり省略したので、少し補足。 Google App Engine で初めるServerSide JavaScriptView more presentations from hagino 3000. 発表した通りに、nitroというフレームワークを使ってGAE上でjsを動作させようとすると次の知識が前提になってきます。 Rhino CommonJS Narwhal jack nitro 以下、それぞれについて簡単な説明を。 Rhino JavaScriptJava実装。ServletからRhinoを呼んでJavaScript

    Server-side JavaScript と CommonJS - hagino3000's blog
  • #appengine でComet! Channel APIでpushできるぞ - スティルハウスの書庫の書庫

    Google I/O 2010ではApp Engine関連の大きな新機能発表がいくつかありましたが、「Channel API」もそのひとつ。これは「Webブラウザとのpush通信(comet)のためのAPI」です。 ついにpushできるよ! これまでApp Engineにおいてクライアントへのpushを行うには、 XMPPプロトコルを通じてのXMPPクライアントへのメッセージ送信 URLFetchを用いて外部のpushサーバー(WebSocket対応サーバーとかTornadoとか)経由でへWebブラウザにpush(例:松尾さんのwebsocket連携) のいずれかしか手段がありませんでした。 しかしXMPPクライアントの実装は容易ではなく、とりわけApp Engine側のXMPPサーバーとしてGoogle Talkサーバーを用いる場合はTLS通信が必須となり、利用可能なクライアントが極端に

    #appengine でComet! Channel APIでpushできるぞ - スティルハウスの書庫の書庫
  • google appengine に関してひと言

    ここ数日、Twitter上で appengine に関する発言をたくさん目にする。それを見る限り、「注目をされてはいるが、手を出しかねている人が多い」というのが現状だろう。そこで、私からもひと言。 App Engine は純粋なソフトウェア・エンジニアにとっての天国 私自身、色々な開発環境を試して来たが、私のようにプログラミングが大好きで、新しい言語や環境を学ぶのが楽しくて仕方が無いエンジニアにとっては、「App Engineは天国」というのが正直な感想。SQLRailsのように一見開発効率を良くしてはくれるが、直感的に実行効率とかが把握できない「補助輪付きプログラミング」と違い、App Engine上でのプログラミングは、ちょっと手を抜くとすぐに実行効率の悪さとして跳ね返ってくる「一輪車プログラミング」。 新しい言語を学ぶのが苦ならApp Engineは避けた方が良い 現時点で、Pyt

    paulownia
    paulownia 2010/11/11
    すっげブクマ数w悩んでるなら、とりあえずYouつくっちゃいなよ
  • AppEngineにどんなアプリが向いているのかを知ろう - ひがやすを技術ブログ

    AppEngineは、万能なプラットフォームではありません。むしろ、かなり使い道は限定されていると言ってもいいでしょう。 向いていないアプリで使うとかなりはまって、アプリが完成しないリスクがあります。 一方、向いているアプリで使うとこれまでよりかなり費用を節約できたりとか、儲けにつなげることができます。 AppEngineにどのようなアプリが向いているかというと、AppEngineがGoogleの既存のインフラをそのまま利用していることをまず知っておく必要があります。 Googleのインフラは、(極端に単純化すると)大量のデータを多くの人に同時に見せるために最適化されています。 AppEngineも同様で、大量のデータに大量にアクセスがあっても大丈夫なように、BigtableというKVSを使っています。また、自動でスケールアウトするWebのFront Endも既存のインフラをそのまま使って

    AppEngineにどんなアプリが向いているのかを知ろう - ひがやすを技術ブログ
    paulownia
    paulownia 2010/11/08
    大量アクセスを捌く必要のある、自社開発のWebサービス向けといったところかな
  • GAE/J使うならこの設定をしておけ! - 手抜きぷろぐらまのメモ帳

    ※2010/4/23 sessionのクリアについてご指摘頂き、追記しました。Google App Engine for Java(GAE/J)にて、どんなアプリを使う場合でも (自分的に)ほぼ必須となる設定ファイルのまとめ。 ていうか、リファレンス読めばいーんだけどさ 1.sessionを有効にする & クリアの設定をする Javasession使わないケースなんてあるのか? appengine-web.xml に 下記を追加 <sessions-enabled>true</sessions-enabled> GAE/Jでsessionを使う場合、このままだとDatastoreにsession情報が残ったままなので定期的にクリアするcronを設定する web.xml に 下記を追加 <servlet> <servlet-name>_ah_sessioncleanup</servlet-

    GAE/J使うならこの設定をしておけ! - 手抜きぷろぐらまのメモ帳
  • appengine-cl - App Engline Code Lab - Google Project Hosting

    Code Archive Skip to content Google About Google Privacy Terms

  • Google App Engineのデータストアに一貫性と可用性のオプションが追加

    グーグルは「Google App Engine Blog」にて、データストアに2つの新機能、Eventual Consistency(結果整合性)とDatastore Deadline(データストアデッドライン)を追加したことを明らかにしました。これにより開発者は、データの一貫性と可用性のどちらを重視するのか、選べるようになりました。 プライマリが落ちていたらコピーを他のデータストアから取得 Google App Engine Blog: Read Consistency & Deadlines: More control of your Datastore Eventual Consistency(結果整合性)オプションは、プライマリのデータストア以外のデータストアにコピーされたデータを読み込むことを許すオプションです。 グーグルの解説によると、これまでのGoogle App Engin

    Google App Engineのデータストアに一貫性と可用性のオプションが追加
  • Google App Engine をはじめてみよう

    "Google App Engine Java の色々な機能を、実際にコーディングしながら体験してみよう" という主旨のもと、Google App Engine for Java のコードラボをこれまでに3回開催してきました。Java を使った Web アプリケーションの開発経験はあるけれども、App Engine は初めてという方向けで、毎回、即日定員に達してしまう人気コースです。 このコードラボで利用している教材は、GTUG のメンバーとGoogle のソフトウェアエンジニアたちが共同で作り上げたものです。コース設計からドキュメントの制作、コース参加者のフィードバックを反映するなど、さまざまな面でGTUGメンバーの惜しみない協力をいただきました。 そして、いよいよこのコース教材「Google App Engine Code Lab for Java」を一般に公開することになり、3月11

    Google App Engine をはじめてみよう
  • AppEngine用のアプリケーションの自動テストについて(1)

    AppEngine用のアプリケーションのテストの手法について、公式ドキュメントがあまりにも貧弱なためそれを補足する資料を作ろうと思います。 DatastoreはもちろんMail送信やQueueへのTask投入等のテストを行う説明まで何回かに分けて徐々に書いていき、 最終的にはそれらのエントリを清書してWikiにまとめたいと思います。これはその第一回目で、テストのための仕組みの説明と基的なテストの手順について説明します。 文中でApiProxyと書かれているクラスはcom.google.apphosting.api.ApiProxyの事です。 この説明での「AppEngine環境」とは、データストアサービスなどのAppEngineで提供されている各種サービス群を利用するための環境のことをさします。 テストのためにAppEngine環境を起動するには、大きくわけると ApiProxy.set

  • Song of Cloud: SDK 1.2.8 Release Notesで語られなかったこと

    先日App Engine SDK 1.2.8 for Javaがリリースされました。 公式のリリースノートに記載されていない非常に重要な機能追加がありますので、ここで紹介します。基的にすべてデータストアのお話です。しかもLow-Level API。 ご指摘いただきまして、ミスリードしそうな個所について修正しました。今後もわかったことがあれば追記していく予定です。 プロダクション環境でカーソルが予想外の動きをしました。このため、開発環境と両方で動くコードに更新しました カーソルの追加 これまでデータストアでページング処理を行う場合には、ページング用のプロパティを用意したり、ページング用のインデックスを用意したりと、様々な力技が提案されてきました。 しかし、今回のアップデートでCursorという「クエリの現在位置を覚えておくオブジェクト」がひっそりと追加されました。これを利用すると簡単にペー

  • appengine java night #3に行ってきた。 #appengine #ajn3 - あおうさ@日記

    いやー今回も濃くておもしろかったですね。こんな濃い人が集まるApp Engine勉強会はたぶん日でここが一番なんじゃないかと思います。 ソースを見るなり質問が飛ぶ飛ぶ!しかも普通の質問じゃないんですよね。裏でクラウドがどういう風になっているかを話したりするそんな勉強会。 今回はグリーの一井さんに会場をお借りしました。一井さん会場提供ありがとうございます。しかも11:30くらいまで付き合ってくれるなんてやさしすぐる。 おしながき 編 私:実際に作ってわかったApp Engineの困ったところ 竹嵜さん:ぶいてく流 スケーラブルアプリの作り方 LT(Lightning Talk?, Long Talk?) @WdWeaverさん:スケールアウトの真実? @tmatsuoさん:Kay (Python 版の framework) について id:marblejenkaさん:makeSyncCa

    appengine java night #3に行ってきた。 #appengine #ajn3 - あおうさ@日記
  • Google App Engineで開発するスケールするアプリケーション(前編)

    はじめに 「人類が使うすべての情報を集め整理する」 この壮大なミッションを掲げ設立されたGoogleは、そのミッションを遂行するべく、マシン・ネットワークなどのインフラ環境に莫大な金額を投資し、独自の技術を開発し続けています。Googleは検索エンジンだけにとどまらず、Gmail、Google Calendar、Google Maps、Google Analystics、Youtube、Google Apps、Google Earthなど、いまや全世界のユーザーが使用するサービスをリリースしており、その扱うデータ量、アクセス数は天文学的な数になることが予想されます。Googleはそれらのデータ量、アクセス数を高速にさばき、なおかつ耐障害性の高いスケーラブルな大規模分散システムを構築しています。 そんな中、2008年4月にGoogle App Engineがリリースされました。Google

    Google App Engineで開発するスケールするアプリケーション(前編)
  • App Engineでバージョンによる楽観的排他制御 - ひがやすを技術ブログ

    Song of Cloudで送金のトランザクション処理パターンが紹介されていました。 http://songofcloud.gluegent.com/2009/11/blog-post_18.html 同様のpython版がこちら Distributed Transactions on App Engine - Nick's Blog 上記のやり方で基的には問題はないのですが、バージョン管理による楽観的排他制御を行っていないので、送金だけを考えるなら、残高を差分で更新しているので大丈夫ですが、これを一般的なパターンに拡張しようとすると、楽観的排他制御は必要になります。 楽観的排他制御とは、エンティティにバージョン番号を持たせておいて、メモリ読み込んだときのバージョン番号と書き込むときのバージョン番号が等しいことを確認する方法で、RDBMSの場合は、次のようなSQLを実行することで実現しま

    App Engineでバージョンによる楽観的排他制御 - ひがやすを技術ブログ
  • Slim3 Preview release - ひがやすを技術ブログ

    Slim3の正式リリースは、来年の一月くらいになりそうですが、ドキュメントも最低限のものはそろったので、今の段階のものをPreview版として紹介しておきます。 サイトへは、http://slim3.org でアクセスしてください。 Getting Startedをやり、Slim3 Datastoreのドキュメントを読み、Online demoをみれば、Slim3のことは把握できるようになっています。 Oneline demoからソースも見れるようになっているので、動かしながらソースを確認することができます。Online demoは、IE6で見るとレイアウトが崩れていますが、これはIE6を使うなというメッセージということで。(IE7,8では未確認) Slim3は、Google App Engineに対して最適化されています。 例えば、最近、App Engineで問題になっているのは、spi

    Slim3 Preview release - ひがやすを技術ブログ
    paulownia
    paulownia 2009/11/15
    なるほど、スリムですな…
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

    paulownia
    paulownia 2009/09/19
    GAEでLuceneを動かす
  • Ruby on Rails: Welcome aboard

    Getting started Here’s how to get rolling: Install the gems $ sudo gem install google-appengine Assign an app identifier Simply create an application at appsopt.com, we'll refer to that as my-app in this document. Generate your rails app $ rails my-app; cd my-app; Generate a rackup file In the same folder, save this as config.ru. require 'appengine-rack' AppEngine::Rack.configure_app( :applicatio

    paulownia
    paulownia 2009/08/06
    お!