Python æ¦è¦ CGI ç°å¢ ãã¼ã¿ã®æ ¼ç´ æ¦è¦ ã¨ã³ãã£ãã£ã¨ã¢ãã« ãã¼ã¿ã®ä½æãåå¾ãåé¤ ãã¼ã¨ã¨ã³ãã£ã㣠ã°ã«ã¼ã ã¯ã¨ãªã¨ã¤ã³ããã¯ã¹ ãã©ã³ã¶ã¯ã·ã§ã³ åã¨ãããã㣠ã¯ã©ã¹ GQL ãªãã¡ã¬ã³ã¹ ãªãã¡ã¬ã³ã¹ Model Expando PolyModel Property Query GqlQuery ãã¼ é¢æ° ä¾å¤ ãµã¼ãã¹ Memcache æ¦è¦ Memcache ã®
昨日、low-level APIを試してみたんだけど。めちゃシンプルで分かりやすいってことがやってみて分かった。 low-level APIを使ったデータアクセス - ありの日記 そこで、low-level APIを使ったお得意のTODOリストサービスを作ってみた。あんまりむつかしいことはしてないんだけど、基本的な操作は一通りやってるはず。前回のTODOリストにはなかったページング機能を実装。と言っても、ユーザ管理とか何もないから。いや、みんなで共有して使えるというソーシャルなんとか的なアレがあるかも。 例によってSlim3で作って見ました。最初low-level APIを試すだけなら生のServletにそのまま書いてもいいかなと思ってたんだけど、やっぱりSlim3でやった方が色々はやそうなので、こっちにしました。やっぱりHOT reloadingが使えるのってメリット大きい。他にもCon
(随時更新中です。間違いなどありましたらコメントをお願いします!) このページのtinyurl: http://tinyurl.com/gaetips Datastoreのtips Bigtableの内部構造 BigtableによるDatastoreの実装 Datastoreによるクエリの実装 トランザクションとエンティティグループ Datastoreのtips List Proprtyとmerge joinの使い方 GAE一般のtips GAEのサーバー構成とリクエストの流れ Task Queue APIの使い方 開発環境とプロダクション環境の違い Flex/AIR+GAEのtips GAE/JにBlazeDSを組み込む BlazeDSの本番環境へのデプロイでハマる Datastore APIの取り扱いでハマる App Engine開発の便利な参考ページ TOPGATEさんのGoogle
Under the covers of the App Engine Datastore Ryan Barrett Google May 28, 2008 Contents Best practices Bigtable in one slide The Entities table Queries and indexes Kind index Single-property index Composite index Merge join Entity groups and transactions Bigtable in one slide (...ok maybe ten) What is Bigtable? Scalable, structured storage (vs unstructured)
素朴なBigtable、できること できないこと:分散Key-Valueストアの本命「Bigtable」(2)(1/2 ページ) RDBとは別の、クラウド時代のデータベースとして注目を浴びている「分散Key-Valueストア」。その本命ともいえる、Googleの数々のサービスの基盤技術「Bigtable」について徹底解説 あまりにもRDBとは異質な「Bigtable」 前回の「もう1つの、DBのかたち、分散Key-Valueストアとは」では、連載第1回目として、クラウドコンピューティングにおける新しい潮流である「リレーショナルデータベース(RDB)から分散Key-Valueストア(分散KVS)への移行」が、どのようなパラダイムシフトをもたらすのかを解説しました。今回からは、グーグルが運用する代表的な分散KVS「Bigtable」の内部構造を紹介し、クラウドの本質をより深く掘り下げます。 前
ここが大変だよBigtableとGoogle App Engine:分散Key-Valueストアの本命「Bigtable」(3)(1/2 ページ) RDBとは別の、クラウド時代のデータベースとして注目を浴びている「分散Key-Valueストア」。その本命ともいえる、Googleの数々のサービスの基盤技術「Bigtable」について徹底解説 月間3000万PVの大規模サイトの運用費が月額4万円!? 月間3000万PV相当の膨大なトラフィックを楽々とさばく大規模サイトが、月額4万円弱で運用されている。 Google App Engine(以下、App Engine)が普及するにつれて、そんな驚愕の国内事例も登場しつつあります。GClueがApp Engine上で実装したmixiアプリモバイルモバイルには、1日100万PV以上のアクセスが集中している状態でもサービスのレスポンス低下やダウンは皆無
前回のエントリが結構好評だったのと、前回のエントリだけだと、JDOから入った人は「Relationshipどーすんの?」となりそぅな気がしたので、調子に乗ってlow-level APIとJDOでのRelationshipの比較等について書きます。 JDOの方はLLParentクラスがOneToOneでLLChildAを、OneToManyでLLChildBを保持するような構成です。一方low-level APIではJDOと同じ事をキーのみでEntityGroupを構成します。LLParentkindは子エンティティのためのpropertyを一切保持しないと言う事です。JDOの方でもキーのみでEntityGroupを構成する事ができますが、ListPropertyで保持する方が一般的というかORMっぽいかなぁと思いまして。 一見、データの保持の仕方が全く違うよね?と見えますが、実はどちらの方
shin1ogawaさんのエントリ:「#appengine JavaのLow-Level API入門 Relationship編」 ここまで読んでしまうような変態な皆さんは、フックする為に使用しているMyDelegate#makeSyncCall()メソッドが気になって仕方無いですよね。特に第四引数であるbyte[] requestとかいうヤツ。「…何が入っているんだろう…というか全部が入っているんだよね?何でも取得できるよね」という予測ですよね!ズバリその通りです、ここに全部入っています。ただ、この中身は実行されるサービスによって変わる、ProtocolBufferによるシリアライズの結果です。例えば今回使った DatastoreサービスのPUTメソッドであればcom.google.apphosting.api.DatastorePb.PutRequestオブジェクトに組み立てられます。
#1はHTML5の勉強会とかぶって行けなかったので色々予習して行ってきた。 前半(18:30〜21:00)まで普通にセッションを行って後半はピザやビールを飲みながらのセッション&LTでなかなかおもしろかった。が、空腹でビールを飲んだせいで酔っ払ってしまった。 やはりみんな興味がありそうだったのがパフォーマンスの部分。あと、トランザクションの考え方について色々質問がされてた。 app engineのトランザクションについてはあおうささんの所で言及されてます。 2009-10-07 - あおうさ@日記 DatastoreService#put putには(というかdeleteにもある)トランザクションを指定してputする方法と、トランザクションなしでputする方法がある。この2つの違いは トランザクションを指定した場合 順番に実行される(addBatchで実行したような感じ) トランザクション
ここに詳しく書いてあることを本エントリは書いているだけですが、重要な内容なので書いておこうと思います。 appengineのトランザクション分離レベルはRead Committedとほぼ同等です。主要なRDBMSの一般的なトランザクション分離レベルということです。しかし、ちょっとした落とし穴があります。 Read Committedとは SELECT文は問い合わせが開始される直前までにコミットされたデータのみで、コミットされていないデータは参照しない。 コミット前のデータを読んだりしないということですね。(ダーティーリードはしない) appengineのcommit()には2つのマイルストーンがある commit()を実行すると下記の2つが順に実行されます。 マイルストーン A (エンティティに対する変更) マイルストーン B (インデックスに対する変更) データを作ってからインデックスを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く