Azure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etcYoichi Kawasaki
これはappengine ja night #12のプレゼン資料です。 Channel APIとは Channel APIは、App Engineで動作するプッシュ通信サービスです。詳しくはこちら: #appengine でComet! Channel APIでpushできるぞ Channel API on Google App Engine Matcher APIとは Matcher APIとは、「スケーラブルなリアルタイムマッチングサービス」です。 マッチングの条件を独自のクエリ構文で記述して登録 エンティティやdictの内容が条件に合致すると、タスクで通知 数千、数万件の条件を数秒でチェックし通知できます Matcher APIとは 簡単に言うと。。 DB/Datastoreのクエリは「過去に対するクエリ」 Matcherのクエリは「未来に対するクエリ」 例えばこんなdb.Model
こっちは本物のMapReduceだ! グーグルがAppEngine-MapReduceをオープンソースで開発中 グーグルはGoogle App Engine上でMapReduce処理を実現するオープンソースを開発中だと、先日行われたイベントGoogle I/Oで明らかにしています。プロジェクトのホームページもGoogle Code上に「appengine-mapreduce - Project Hosting on Google Code」として公開されています。 Reduce処理やJava版はこれから 1つ前の記事「グーグルによるMapReduceサービス「BigQuery」が登場。SQLライクな命令で大規模データ操作」では、グーグルがSQLライクな命令を用いて大規模データ処理のサービスを提供することをお伝えしました。 記事でも書いたとおり、これは内部でMapReduceを使っているかど
理由は解りませんが、残念ながらデプロイ環境では動作しないようです。 Google APP Engineでは、従来のシステムのRDBMSに相当する(実際はKVSですが)データストアをデータの保存、検索に使用します。 このデータストアにはいくつかの制限があるのですが、その中でも大きいのが範囲検索です。イコールで無いクエリは、一つのプロパティ(RDBMSにおけるカラム)に対してしかかけられません。 しかし、緯度経度や時刻のようにとりうる値の上限と下限がわかっている場合においては、複数のプロパティにまたがる範囲検索が可能です。 方法 まず対象となるプロパティの値について以下の正規化を施します。 数値は文字列に変換し、桁をそろえる。 とりうる最小の値が負の数の場合は、その絶対値を足してとりうる最小の値が0になるように 例えば緯度ならばとりうる最小の値は-90度なので90を足す。 小数点以下の桁数は一
本稿の前編では、Webシステムをスケールさせるための一般的な手法や考え方、そしてGoogle App Engineの概要と特徴について説明しました。中編となる本稿ではミニブログサービスのTwitterとGoogle App Engineを連携させるレコメンドアプリケーションの設計について説明し、後編では実装編として実際のソースコードに基づき説明します。 はじめに Google App EngineはGoogleのインフラを使用し、開発したアプリケーションをインターネットで公開できるサービスです。Google App Engineの特徴はアクセスや負荷に応じてシステムが自動にスケールする仕組みと、Google独自のスケーラブルなデータベースであるBigtableを使用できることです。BigtableはKey-Value方式のデータベースで、ペタバイト級のデータを扱うことができます。そのような
送金のトランザクション処理パターンでは、Google App Engine (GAE)のEntity Groupにまたがるトランザクション処理を行う方法について紹介しました。また、それに少しだけ最適化を施した結果、下図のような処理になりました。 しかし、このトランザクション処理はいくつかの制約があります。 (a) 送金中に合計金額がずれる (b) 送金先の口座に制約をかけられない このトランザクションはEventual Consistency (結果整合性)というレベルの整合性保証しかしないため、2つのEntity Groupの値にずれが発生する場合があります(a)。たとえば、口座(A)から口座(B)に1000円だけ送金する場合、(1)と(2)の間は「口座(A)から出金したが、口座(B)に入金されていない」という状態になります。 また、送金元の口座に制約はかけられますが、送金先の口座に制約
(随時更新中です。間違いなどありましたらコメントをお願いします!) このページの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
ゴールデンウィークに特に予定のなかった筆者は,「ちまたで噂のGoogle App Engine for Java(GAE/J)とFlexでスケジュール共有ツールでも作ってみよう」と思い立ちました。およそ5日間かけて開発を進めたのち,2009年5月6日に「ご都合.com(画面1)」を公開しました。その後,はてなブックマークやニュースサイトなどでご紹介いただいたおかげで,公開後6日で約2000人の方にご利用いただいています。 そこで本稿では,この「ご都合.com」の開発で実際に筆者が得た経験を通じて,GAE/JによるWebアプリケーション開発の実際とそのポテンシャルについて紹介します。 米Googleが2008年4月に発表したGoogle App Engine(画面2)は,「自分が開発したWebアプリケーションをGoogleのデータセンターで運用できるクラウドコンピューティング・サービス」です
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く