2009-09-01から1ヶ月間の記事一覧
MLのやりとりでJasonさんに見せるためにここにアップ。
IDG「ITアーキテクト」の最終号に最初で最後の記事を書きました。バキっぽい出だしにしてみました。Google App Engineの要、Bigtableを通して知る 分散キー/バリュー・ストアの実力 http://www.itarchitect.jp/mag/pdf/ita_vol025_Feature4.pdf (冒頭のみ)
謎なエラーのひとつ、NoClassDefFoundErrorについてヒントとなりそうなポストがMLにありました。http://groups.google.com/group/google-appengine-java/browse_thread/thread/ec4a06cd90cc49f3# You had a request back at 09-25 06:27AM 29.110 that excee…
Datastoreやmemcacheが固まる時によく出てくる「sun.misc.Unsafe#park」って何だろ?と思ってググってみたら(←なぜか変換できた。ATOKすばらしす)、以下のページによると「Object#wait」みたいなもんらしい。。http://d.hatena.ne.jp/freebeans/20080509/p…
以前、コンポジットインデックスを自作するというエントリを書きましたが、そのためにわざわざ新しいエンティティを作らずに、普通のエンティティにコンポジットインデックス代わりのプロパティを持たせる方法をちょこちょこ使い始めました。例えば、以下の…
appengineをここ10日くらいproductionで運用して、もうひとつ気づきました。CPUコストのほとんどが、アプリケーションの正常動作ではなくて、Datastoreやmemcacheが勝手に固まる謎のエラーによるものってことです。Datastoreやmemcacheが固まると、そのまま3…
http://home.att.ne.jp/sigma/satoh/diary.html (個別記事にリンクがない〜) 分散アルゴリズムに多少知識がある方ならば、Paxosを含む3相トランザクションプロトコルは遅いことは常識。だから遅延が大きいことは当初から予想されたことだと思います(個人…
appengine java night #1 にご登録いただいた皆さんへ、たくさんのご登録ありがとうございました! ひとつ重要なお願いです。告知ページでお知らせしましたとおり、Google東京オフィスの入館には事前に「本名」の事前登録が必要となります。もしappengine ja…
appengineを運用していると、ときおり原因不明のエラーが起きます。Googleが説明する0.1%程度のエラーとはちょっと違う感じがします。どれも毎回起きるわけじゃなくて、一時的に頻発したりします。想像するに、特定のApp Serverノード上でデプロイやクラスロ…
利用者同士で実践的ノウハウを共有するためのGAE/J勉強会、appengine java night #1の開催のお知らせです。 id:higayasuoさんとshin1ogawaさんをスピーカーに迎え、皆さんとわいわい議論&情報交換できればと思います。ぜひ以下ページからご参加登録ください…
ここ2か月ほどは、AIRクライアント+Railsサーバーで動いていた既存サービスをappengineに移行する作業を地道に進めてきました。先週末はそのリリース(ってもユーザーさん的には変化がない)があり、なんとか大きな問題はなく移行が完了しました。リリース…
Migration to a Better Datastoreの要点の後半です(前半はこちら)。 Megastoreレプリケーションで解決 Megastoreとは、Bigtable上に実装されたGoogle内部のライブラリ 宣言的スキーマ(スキーマ定義ってこと?)、複数行トランザクション、セカンダリイン…
appengine blogにポストされたMigration to a Better Datastoreの要点をピックアップしてみました。間違い等ありましたらご指摘ください! Googleは「マルチホーミング」を追求している データセンター単位でのダウンに対応する リードオンリータイプのアプ…
Seasar Conference 2009 Autumnのひがさんのセッション「SQL脳からBigtable脳へ」を見てきました。おおこれはB脳だ!と思った部分: レンジスキャンがBigtableのかなめ Bigtableは単なるKVSではなく「ソートされたキー」があるKVSという点が重要 自分の要件…
本日のDXEセミナー「Flex/AIR×GAE/J開発tips」の資料です。Flashデザイナーさん向けに、Flex/AIRとGAE/Jを組み合わせた事例紹介、Blaze/DS利用法、その他tipsを簡単にまとめてあります。Flex/AIR×GAE/J 開発tipsView more presentations from kazunori279.
Adobe Developper Connectionに書いた記事が掲載されました:Flex/AIRハマり帳 〜第3回 Flash Playerのシングルスレッドモデルでハマらない方法〜(この筆者近影は数年前のものでいまはもっとぽっちゃりしていることは内緒です)
私の環境ではprod/qa/devそれぞれにapp idを分けてます。切り替えながらデプロイするとオペミスがしばしばありますので、チェックリストを作ろうと思いました(随時更新)<デプロイ前> デプロイ先のapp idは間違いないか? cron.xmlの内容は問題ないか?(…
cb nanashiさんによるすばらしい実践的tipsまとめ!「あるある〜」という感じです。GAE/Jアプリ開発のTIPSまとめ
とても遅かった以前の実装をTask Queueを使って書き換えることができました。感想をまとめると、 Task Queueはすばらしい。30分かかってた処理が3分で終わるようになった(前の実装がヘボいのではという疑惑はさておき) 処理を複数のタスクに分割して並列処…
Datastoreで大量のエンティティを扱うようなコードを走らせると、DatastoreTimeoutExceptionがしょっちゅう出ます。こんな感じ: Caused by: com.google.appengine.api.datastore.DatastoreTimeoutException: Unknown at com.google.appengine.api.datastore…
@ITに記事が掲載されました。素朴なBigtable、できること できないこと
いまコーディング中の案件で、Task Queueにぴったりハマる要件があったので、飛びついてみました。 課題:Datasource上の大量のデータをクライアントにダウンロードしたい。30秒内では終わらないので複数のリクエスト/レスポンスに分割してダウンロードする…
bufferingsさんのありがたいまとめ: http://d.hatena.ne.jp/bufferings/20090904/1252080958
今朝のtwitterはSDK 1.2.5のリリースで賑やかでした。Task Queueはもちろん、さっそく使ってみたいのはXMPPです。ちょうどぴったりな要件があったのですごく嬉しい。。ただひとつ勘違いしてました。。App EngineのXMPPサポートってXMPPクライアント機能のサ…
早速つくってみた。
わけあって金融グリッド/金融HPCをにわか勉強中。。なかなか面白い。金融分野における計算機のグリッド技術 金融業界では、特にリスク管理の分野において多くの適用事例があります。例えば、数学的に厳密な解を求める方法が見つかっていないデリバティブ商…
twitterとfriendfeedとこのブログをリンクしてみました。 twitter: kazunori_279 friendfeed: kazunori279
shin1ogawaさんのエントリ:「#appengine JavaのLow-Level API入門 Relationship編」 ここまで読んでしまうような変態な皆さんは、フックする為に使用しているMyDelegate#makeSyncCall()メソッドが気になって仕方無いですよね。特に第四引数であるbyte[] req…
JDOが水面下でどう水かきしてるか垣間見えて面白いです。shin1ogawaさんのエントリ:「#appengine JavaのLow-Level API入門 Relationship編」 「JDOで色んなRelationshipの方法があるが、結局「EntityGroupはキーだけで構成される」という事がわかります。JD…