Google App Engineで大量データを処理する場合、特別な配慮が必要になります。処理時間の制限など、独特の制約に引っ掛かる恐れがあるからです。 大量データを扱うケースとして、テーブルのスキーマ変更、検索結果のダウンロードなど、データの一括処理という三つについて、それぞれの設計ノウハウを解説します。 スキーマのバージョンをフィールドに持つ 一つ目の設計ノウハウは、テーブルのスキーマを変更する際に効果があるものです。 稼働中のシステムにおいて、機能を追加・変更する際、テーブルのスキーマ変更が必要になる場合があります。スキーマの変更に備えて、Google App Engineでは、RDBベースの場合とは違った設計が必要になります。「スキーマのバージョンをフィールドに持つ」というものです。 Datastoreはそもそも、同じテーブル内で、異なるスキーマのレコードが混在していてもかまわない
50年の経験を持つアイネットが提供 ユーザー企業の使いやすさを第一に考えた ワンストップで使えるマネージドクラウド サービスを止めない! サイバーエージェントに聞く高可用性の実現 そこにピュア・ストレージが選ばれた理由 クラウド導入が進まない本当の課題 ITベンダーだからこそ知っている クラウドに二の足を踏む企業のボトルネック 最新ストレージで変わるIT運用 仮想化テクノロジーとFlashArrayの組合せで 運用負荷軽減と高性能化を実現したDMM サステナビリティの今と未来 企業戦略としてのサスティナビリティ推進 世界の通信インフラを支えるコルトの取組み すぐに実践できる仕事効率アップ術 驚きの効果をもたらす外付けディスプレイ なんと最大50%の業務効率アップも! Kubernetes活用の最適解とは? 今、注目のコンテナを活用した柔軟なIT基盤 運用、管理の課題を解決しメリットを最大化
はじめに 本稿では、JavaやPythonによるサーバー側コーディングを一切必要とせずにGoogle App Engineによる開発を実現するツール「jsonengine」について紹介します。 対象読者 Google App Engineに興味はあるが経験のない方。JavaScriptやActionScriptによるクライアント開発、またはiPhoneやAndroidによるスマートフォン開発の経験のある方。JavaやPythonの開発経験は不要です。 必要な環境 最低動作環境は次のとおりです。 Java SE 5 jsonengineって何? 「jsonengine」は、JavaやPythonによるサーバー側コーディングを一切必要とせずにGoogle App Engineによる開発を実現するオープンソースのツールです。このツールは、昨年開催された「Mashup Awards 6」において「
実際にエントリーを書いてみて解ったのですが、Google APP Engineはかなり巨大になっていて、すべてを網羅しつつ技術的に詳細を解説しようとすると相当な分量になります。逆に言うと、やりたいことができるかどうかを調べるだけで相当な手間がかかるでしょう。 なので、そのあたりを簡単に纏めてみました。 Google APP Engineのメリット メリットをざっと並べると次のようになります。 サーバーの設定・運用・構築の手間がかからないこと データベースの分割、レプリケーションに相当するオペレーションが不要。Googleの技術・ノウハウで運用できる メールの送受信が容易 全体的に安価であること 運用の手間がかからないというよりはほぼ手出しができないというのが正しいのですが、安定しており、一番大変なデータベースの分割、レプリケーションといったオペレーションが不要なサーバーを安価に借りられる、
Google App EngineのPython版の開発環境をUbuntu 10.04に構築した際の手順をメモしておきます。 ついでに、Hello WorldをGAEにデプロイするまでの手順も載せておきました。 Python 2.5のインストール Pythonのバージョンは2.5です。Ubuntuの最近のバージョンのデフォルトは2.6なので、 Python 2.5を以下の手順でインストールします。 まず、Synapticのリポジトリを追加します。 以下の2行を/etc/apt/sources.listに追加するか、Synapticパッケージマネージャで追加してください。 $ sudo vi /etc/apt/sources.list deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main deb-src http:/
Google App Engine | 03:48 | 意地でも今日中に終わらせてみせる。変わらず鬼軍曹風でお届け。そして原文はココ。 アプリのアップロードについて App Engine のSDKにはアプリのファイルをアップロードする為のコマンドがある。SDKのほかのものと同様、Python2.5が動けばコンピュータは選ばん。好きなのを使え。アプリのファイルをアップロードするには「appcfg.py」コマンドを使う。ここで指定するのはupdateオプションとアプリのルートディレクトリだ。ルートディレクトリにはapp.yamlが含まれてないとイカンぞ。 appcfg.py update myapp/ appcfg.py は app.yaml からアプリID(application ID)を取得し、Googleのアカウント(アドレスとパスワード)を入力させる画面を表示する。サインインが成功した
App Engineで大量のデータを並列処理するフレームワーク ElShard を作っています。batch addとdeleteのサンプルができたので、とりあえずまとめてみます。 ElShardは、入力リストを分割して処理して集約する考え方に基づいています。並列処理はApp EngineのTaskQueueで実現しています。タスク間では10kBのペイロードしかやり取りできないため、データをやり取りする用途には適していません。そのため、実際のデータはDatastoreに格納しておき、キーをタスク間でやり取りすることになります。 現段階では集約をどうやって実現するか未定ですが、キーでソートされるというDatastoreの性質をうまく利用できる気がします。Matcher APIが使えるといいなぁ。 リストを処理する ElShardでは、InputとTaskの2種類のタスクを組み合わせてジョブネッ
Welcome back to The Interchange! If you want this in your inbox, sign up here. We’ll be taking a break next weekend as Mary Ann and Christine both take much-needed vacations (we didn’t
Android と GAE を同時に Ecliipse からデバッグする環境は出来たので、Google アカウントを Android アプリケーションから利用してみる。 GAE アプリケーション側でログイン状態を判定 typea_android_apps.py /cardroid というリクエストが来たら、cardroid パッケージ cardroid_request_handler モジュールの InitialCardroidPage クラスを呼び出すように設定 from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app from cardroid import cardroid_request_handler as cardroid_handler c
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く