ラベル Google I/O の投稿を表示しています。 すべての投稿を表示
ラベル Google I/O の投稿を表示しています。 すべての投稿を表示

2013年5月26日日曜日

32.Google BigQueryでAnalyticsとAdSenseのデータを分析する(Google I/O 2013)

このエントリーをはてなブックマークに追加




Ryo Yamasaki(@vierjp)です。

「BigQueryでGoogle AnalyticsとGoogle AdSenseのデータを分析する」というセッションについてのメモです。

I/Oではこの時間帯に別のセッションを聞いていたのでこの件について全く認識しておらず、
Google I/O報告会で初めて知ったので早速動画をチェックしてみました。

Google Analytics and AdSense Data Analysis in BigQuery (セッションページ)
動画


◯ BigQueryでAdsenseのデータを利用する

そのままではデータセット一覧にAdsenseのデータは表示されていませんが、
現時点で既に利用可能になっています。

・使えるテーブル
 DailyReport
 DailyAdUnitReport
 DailyCustomChannelReport
 DailyUrlChannelReport
 DailyDomainReport


・AdsenseのUIと比べて
 ・よりフレキシブルに好きな組み合わせや角度、基準で分析できる
 ・大量データに対して分析できる

・さらに
 ・一日中更新される
 ・Adsenseのデータに対するBigQueryからのQuery実行は無料

* 無料ってのはいいですね!


・クエリの例
 以下は売上の多いカスタムチャネルの一覧とその売上を取得するクエリです。

select custom_channel_id,
custom_channel_name,
sum(earnings) AS earnings
from
[google.com:adsense-reports:Reports.DailyCustomChannelReport]
GROUP BY
 custom_channel_id,
 custom_channel_name
ORDER BY
 earnings DESC
 LIMIT 5
結果がわかりづらかったのでセッション中でのクエリ例に「custom_channel_name」を追加しています。
 Adsenseを利用していてカスタムチャネルを設定しているならこのクエリで自分のAdsenseアカウントの結果を見ることができます。

* カスタムチャネルの命名が変かもしれませんがスルーしてくださいw


・テーブル定義の参照方法

AdSense BigQuery Integration Guide - AdSense — Google Developers」から
各テーブル名のリンクをクリックしてBigQueryのWebインタフェースに遷移するとデータセットにAdsenseのテーブル定義の一覧が追加されます。
(このURLからアクセスした場合のみ表示されるらしく、再度普通に開いても表示されない)

 BigQueryを操作しているのと同じGoogleアカウントに紐付くAdsenseのデータを参照するようです。


◯BigQueryでAnalyticsのデータを利用する


こちらはまだ一般公開されておらず、2013年9月のリリースを目指しているそうです。

・「Google Analytics プレミアム」のユーザーがAnalyticsのデータを「インポート」できるようになる。
 こちらはAnsenseのようにリアルタイムではなくデイリーでデータが更新されるそうです。
  (そもそもAnalytics自体の更新もリアルタイムではありませんが)
  Analyticsのプレミアムアカウントの存在を初めて知ったので調べてみたところ「想定価格 100万円/月」と、
  なかなかお高い。。

・利用できるデータはFirstPartyのデータだけで、AdwordsやGeographyと行ったデータは利用できない。
 (少なくとも2013年9月時点では)

・申請すれば開発者は事前に使えるかもしれないとのことです。
 Google Analytics Premium & BigQuery 申し込みページ


◯セッションで紹介されていたツール Tableau


Tableauというサードパーティ製のWindows用のGUIツールについて紹介していました。
複数のデータを同じ期間(条件)で並べてグラフ化して比較したり関連を見たりするデモでした。


◯まとめ

AdsenseにしてもAnalyticsにしても、
BigQueryを使って解析することで自社で持っている別の情報とJoinして分析できる事が魅力的かと思います。

例えばニュースサイトなら
「その日に公開した記事のカテゴリ」と「Adsenseの売上」「Analyticsのアクセス情報」
を結びつけて分析するような事もできるでしょう。

以前に書いた「23.BigQueryの新機能 (2013/03/15)」のBig JOINもこういった分析を手助けしてくれます。


Adsenseのデータはタダで分析できるのが良いですね。
分析した上での広告の最適化はGoogleにとってもメリットがあるからでしょうか。

Analyticsはお高く感じますが、BigDataの重要性が言われている昨今
AnalyticsのデータをBigQueryで自由に集計できる事には
マーケティング目的の分析において十分に見合う価値があるのかもしれません。




このエントリーをはてなブックマークに追加

2013年5月24日金曜日

31.Google Cloud Storageに大量データをアップロードする際のテクニック(Google I/O 2013)

このエントリーをはてなブックマークに追加



Ryo Yamasaki(@vierjp)です。

Google I/Oで聞いた「Importing Large Data Sets into Google Cloud Storage」のセッションについて、
動画を見て復習したのでメモを公開。
(動画も上記URLにあります)


◯Small to medium imports

gsutilを使った小〜中規模のアップロード方法
*「gsutil」はGoogle Cloud Storageを扱うためのCUIのツールです。

・ディレクトリ構造
[Directory]
├data
|├data1.csv
|├data2.csv
|├data3.csv
|└data4.csv
└data.csv

・カレントディレクトリのファイルをUploadする
gsutil cp data* gs://iodemo

・サブディレクトリ内のファイルも再帰的にUploadする
gsutil cp -R data* gs://iodemo

・bucket内のファイルを参照する
gsutil ls gs://iodemo
(Google Cloud Consoleからも同様に確認できます)

・ローカルからCloud StorageにUploadする
gsutil cp *.txt gs://my_bucket

・Cloud StorageからローカルにDownloadする
gsutil cp gs://my_bucket/*.txt .

・S3からローカルにDownloadする
gsutil cp s3://my_bucket/*.txt .

・S3からCloud Storageにコピー
gsutil cp s3://my_bucket/*.txt gs://my_bucket

・Cloud StorageからS3にコピー
gsutil cp gs://my_bucket/*.txt s3://my_bucket

*S3との転送にも対応しているのですね



◯マルチスレッドで高速にUploadする方法

Composite Objects and Parallel Uploads - Google Cloud Storage — Google Developers

通常CPコマンドはファイルを1つずつUploadするのでファイル数が多いと時間がかかります。
そこで「-m」オプションを指定するとマルチスレッドで複数ファイルを並列にUploadできます。
(比較的最近追加された機能なので古いgsutilでは使えません。最新版を使いましょう)

gsutil -m cp 〜〜

複数ファイルを並列に同時アップロードするので帯域とDisk I/Oをフルに使ってアップロードが可能になります。



◯Use object composition to improve throughput
サイズの大きなファイルを高速にUploadする方法

1.ファイル「big-file」を「big-file-part-*」に分割
split -n 10 big-file big-file-part-
2.マルチスレッドでUpload
gsutil -m cp big-file-part-* gs://bucket/dir/
3.ローカルの分割ファイルを削除する
rm big-file-part-*
4.Cloud Storage上で分割ファイルを結合する
gsutil compose gs://bucket/dir/big-file-part-* gs://bucket/dir/big-file
5.Cloud Storage上の分割ファイルを削除する
gsutil -m rm gs://bucket/dir/big-file-part-*

* 操作が増えるのでお金は若干余計にかかるそうです。



◯S3からCloud Storageへ、5ペタByteのデータをコピーした事例


・可能な限り速くコピーする
・Live Migration(ダウンタイム無しに)
という条件。

・AppEngineのDatastoreにオブジェクト(ファイル)のリストを持っているっぽい。
・オブジェクト名の一覧をAppEngine上で取得
・AppEngineからTaskQueueを使ってCompute Engine上に配置した「コピー処理」をキック
・Compute Engineはgsutilを使ってS3からGCSにコピー
 (ピーク時に160のCompute Engineのインスタンスが走っていた)
・顧客のシステムからVerify(hash値が一致する事を確認)
(たぶんこんな感じ?間違ってるかも)

平均で秒間10GB、最大で秒間20GBのコピーを行った。



・Object Change Notification (experimental)

Object Change Notification - Google Cloud Storage — Google Developers
bucketに対する変更の通知をWebアプリで受け取ることができる。



・JSON API  (experimental)

Getting Started - Google Cloud Storage — Google Developers

Cloud Storageに対して操作を行うJSONのAPI
JSON APIを使うと「batch request」をすることができる。
「gsutil -m」のように「呼び出し側からマルチスレッドで並行に複数のリクエストを投げる」のではなく、
「一度のリクエストで複数の命令を投げる」手法。

一気に大量のオブジェクトに対してアクセス権限を設定したり削除したりする場合等に有効。



◯Partition with Prefix

ファイル名の先頭文字列毎にUploadするテクニック。
Prefixを指定してコピーすることで簡単に同時実行する。

例えばファイル名が「0-9」で始まっているなら、以下のようにすることでさらに10分割して並列にUploadできます。

gsutil -m cp 0* gs://my_bucket
gsutil -m cp 1* gs://my_bucket
gsutil -m cp 2* gs://my_bucket
・・・
gsutil -m cp 8* gs://my_bucket
gsutil -m cp 9* gs://my_bucket



◯Copying a specific list of files from a text file or program output

テキストファイルやプログラムの出力結果で指定されたファイルをアップロードするためのテクニック

・files.txt
README.md
notes.txt
images/disk_import.jpg

catした結果をパイプで繋いでgsutilに渡す。
cat files.txt | gsutil -m cp -I gs://my_bucket
→リストに書いてあるファイルが全てコピーされる



◯run gsutil near to your source or target

ネットワーク的に速い環境からコピーするため、
ファイルのコピー元かファイルのコピー先に近いところで実行するべし、というお話。

Cloud StorageにUoloadするならCompute Engineからが速そう。
そして話は次の「Offline Disk Import」に繋がります。



◯Offline Disk Import (Limited Preview)

Offline Disk Import - Google Cloud Storage — Google Developers

Uploadしたいファイルをハードディスクに入れてGoogleに送ると
Google内のネットワークからUploadしてくれる

というまさに究極手段。

Google/IO 初日の5/15にサービス開始。

・手順
1.Offline Disk ImportのInterest Formから申し込み
2.SATAのハードディスクをencfs(暗号化ファイルシステム)でフォーマットする
3.データをハードディスクにコピーする
4.Googleに郵送する
5.Googleが顧客の所有する新しいbucketにimportする(Googleの高速なネットワークを使って)
6.GoogleがHDDを郵送で送り返してくれる

現時点ではアメリカ国内の顧客限定ですが、
間違いなく今後数ヶ月の間に国際的に利用できるように拡大するし、
優先順位が上がるかもしれないので海外の顧客も「Interest Form」から連絡してください、とのこと。

料金は通常のGoogle Cloud Storageの料金「リクエスト回数, 帯域使用料,ストレージ使用料」に加えて
HDD毎に「$80」加算されます。



◯Google Cloud Storageの最近のリリース一覧

Versioning
Durable Reduced Availability storage
30% price drop
Cloud Console
Composite Objects
Notifications
JSON API
Offline disk import



個人的には、あとはリクエスト回数に対する課金額
Amazon S3のリクエスト50%~60%値下げを全リージョンで開始、これまでの半額以下に
に追従してくれれば、と思います。
2013/4/3にAmazonが半額にした結果、
これだけGoogle Cloud StorageがS3の2倍のお値段になっちゃってるんですよね(´・ω・`)
他は概ねS3より若干安い料金体系なのですが。





このエントリーをはてなブックマークに追加

2013年5月19日日曜日

28.Google App Engine for PHP (GAE/PHP) を早速試してみた

このエントリーをはてなブックマークに追加




Ryo Yamasaki(@vierjp)です。

Google I/Oでハンズオンに参加したおかげか、
すぐにGoogle App Engine for PHPのLimited Previewを使えるようにしてもらえたので早速試してみました。

◯Google App Engine for PHP Limited Preview申し込み


・Google App Engineのアカウントとアプリの作成


申し込みは自分のGoogleアカウントに紐付いている「AppEngineの"アプリ"」に対して行います。
そのため「AppEngineのアカウントが無い」または「アプリを作成していない」という場合には、
先にアカウントとアプリの作成を行う必要があります。

比較的新しめのところでは以下のサイトが参考になるかもしれません。
egashira.jp : 初めてのGoogle App Engine

アカウントの大量取得を防ぐためか
AppEngineのアカウント登録時には携帯の電話番号やメールアドレスを使った確認があるので、
手元に携帯電話を用意しておいてください。


・Limited Previewの申し込み


Google App Engine for PHP Limited Preview申し込みサイト


中央の緑色のボタン「Register an app for the Limited Preview」を押します。

するとGoogleアカウントの権限の認可を求められるので、許可してください。

・アプリ選択画面


アプリ選択画面に来たら「PHPを使えるようにしたいアプリ」を選択し、
・AppEngine for PHPで何をしたいのか
・MemcacheやURLfetchのようなAppEngineのAPIを使う予定はあるか
・WordpressやphpMyAdminのようなアプリを使う予定はあるか
などを記述します。

最後に「Request PHP for this application」ボタンを押して申し込みは完了です。

申し込み完了直後と、実際に利用できるようになった後にメールが届きます。
また、再度「Register an app for the Limited Preview」を押すと、
現在の状況を参照することができます。

利用できるようになると以下の画面になります。

・申し込み完了画面



◯SDKのダウンロード

Installing the PHP SDK - Google App Engine — Google Developers

手順に従って以下をインストールしてください。
・Python 2.7
・PHP 5.4
・App Engine PHP SDK


◯AppEngine上で「phpinfo()」を表示してみる

適当なディレクトリに以下の内容でファイルを作成します。

・app.yaml

application: vier-test

version: phpinfo

runtime: php

api_version: 1



handlers:

- url: /

  script: index.php



基本的には「runtime: php」の行以外はPython版と同じ書き方のようですね。

・index.php

<?php

  phpinfo();

?>

普通はyamlとphpファイルだけなのですが、
セキュリティ都合か、デフォルトでは「phpinfo()」を実行できないようになっています。
そのため以下の内容で「php.ini」ファイルを作成して同一ディレクトリに配置します。

・php.ini

google_app_engine.enable_functions = "phpversion, phpinfo"

これで一つのディレクトリに
「app.yaml」「index.php」「php.ini」の3つのファイルが存在する状態になります。


◯デプロイする


・デプロイ方法

前項で作成したアプリのディレクトリに移動して以下を実行します。
(「appcfg.py」は展開したSDKのディレクトリにあります)

/Users/User/appengine_php_1_8_0/appcfg.py update -R --runtime=php .

認証中にGoogleアカウントのIDとPassを聞かれます。
二段階認証を設定している場合には
アプリケーション固有のパスワード」を取得するか、
上のコマンドに「--noauth_local_webserver --oauth2」を追加して実行します。


デプロイ後の「Admin ConsoleのVersion画面」です。

言語が「php」になっているのが確認できます。


実際にAppEngine上に配置した状態は、以下のURLで確認できます。
http://phpinfo.vier-test.appspot.com/


「Server API AppEngine PHP Runtime SAPI」となっているのが確認できます。


◯セッションやハンズオンの話

・Datastoreの話

前回「27.Google I/Oで発表されたGoogle Cloud Platformの新機能」にも書いた通り、
現時点でのドキュメントには「Cloud SQLを使う方法」しか書いていませんが
一応セッションではDatastoreにアクセスするコードがありました。
また、新プロダクトの「Cloud Datastore」はJSON APIを使えるので、こちらはPHPからも利用できると思います。


・WordPressは動きそう

セッション内でWordPressの話があったので「Cloud SQL」と組み合わせることで動作するんじゃないでしょうか。

* 2013/05/21追記
コメントでneranさんから教えていただきましたがドキュメントに思いっきり書いてありますね。
Running WordPress - Google App Engine — Google Developers

* 2013/05/22追記
実際に試してみたので詳細については次の記事
29.Google App Engine for PHPでWordPressを動かしてみた」をどうぞ。


・phpMyAdminもAppEngine上で動くかも

ハンズオンでは、CloudSQLを操作するために「AppEngine上に配置したphpMyAdmin」を使用しました。



ハンズオン用に最初から用意されていたので、
完全に素で動くのか、いくらか修正が必要なのかはわかりませんが、
一応AppEngine上で動作させる事はできるようです。


以上、今回もサンフランシスコからでした。(´▽`)




このエントリーをはてなブックマークに追加

2013年5月17日金曜日

27.Google I/Oで発表されたGoogle Cloud Platformの新機能

このエントリーをはてなブックマークに追加





こんばんは。Ryo Yamasaki(@vierjp)です。

現在Google I/Oに参加するためサンフランシスコに来ています。
今は2日目の夜ですが、
Google Cloud Platformの変更点についてセッションを聞いて理解した限りで書こうと思います。
まだ検証もドキュメントの確認もちゃんとできていないので間違っている点もあるかもしれませんが予めご了承ください。
3日目のセッションを聞いた後や実際に検証した上で間違いに気がついたら訂正なり追加の記事なり書くと思います。

間違いに気がついた方はツッコミやご指摘いただけたら幸いです。


◯Google App Engine


◯PHP対応


https://developers.google.com/appengine/docs/php/

・概要
AppEngine上で使えるプログラミング言語として、
Python、Java、Goに続く第四の言語としてPHPが追加されました。
言語に関する要望の中では昔からPHPが一番多かったそうで、今回ついに対応となりました。


ドキュメント内ではデータアクセスとして書かれているのが
「Cloud SQL」と「Cloud Storage」のみで「Datastore」についての言及がありませんが、
セッション中のサンプルコードにはDatastoreへのアクセスっぽいコードが存在していました。
* 2013/5/23追記 セッションの動画を見直したら「Cloud Data Store」(後述)と言っていました。



* 2013/5/24追記 早速Limited Previewをもらえたので試してみました。以下の記事も参考にどうぞ。
28.Google App Engine for PHP (GAE/PHP) を早速試してみた
29.Google App Engine for PHPでWordPressを動かしてみた
30.Google App Engine for PHPにおけるポータビリティを考える
36.Google App Engine for PHPでWordPressを運用するためのプラグインが登場
39.Google App Engine for PHPでCakePHPを動かしてみた


◯Modulalized Applications (Servers?)



スライドによって名称が「Modulalized Applications」だったり「Servers」だったりしましたが、同じ物を指していると思います。

おそらくTrusted Tester中に「Servers」と呼ばれていた機能で、
一つの「アプリ」の中に複数の「コンポーネント」を定義できるものではないかと。
これは現在の「アプリケーション」と「バージョン」の概念の間に存在するような仕組み。
たぶんこんな感じ?(想像図です)

概念は既存の「backends」の位置づけに似ていますが、
・スケーリング
・デプロイ
・バージョニング
・パフォーマンス設定
を「コンポーネント」毎にできるようになります。
例えば、
インスタンスクラス(F1等)やインスタンス数等の設定は「コンポーネント」毎に設定できます。
と言っても既存のBackendsでも上記については一応できていたので、
もう少し細かく設定できたり制限がなくなるといった要素もあるのかもしれません。
セッションでは「3つのコンポーネントに分けているアプリ」の例もありましたが、
「Frontendとbackends」という既存の分け方を、より柔軟にするような趣旨かと思います。

これが正式リリースされた際に既存の「Frontend」「Backend」がどうなるかは少し気になります。
(既存のアプリのために何らかの形で残りそうには思いますが)

以下についてはアプリ毎に存在し、各コンポーネントから共有する形になります。
・Datastore
・Memcache
・TaskQueue

この機能について、あるセッションでは「Launched Today」と書いてあったり、
また別のセッションでは「Limited Preview」と書いてあったりで、
リリース時期がいまいち不明です。

ただ、これがリリースされたらさすがに管理画面の構成が変わるはずですが、
現状変わっていないのでおそらくまだ「Limited Preview」なのでしょう。


◯Mobile Backend Starter




「サーバーサイドのコードを一切書かずにサーバーと連携するAndroidアプリを作る」ためのAppEngineアプリ。
「Mobile Backend Starter」は「Platformの拡張」ではなく、「AppEngineのアプリケーション」として提供されます。

以前からこのブログで扱っている「Google Cloud Endpoints」も近い要素がありますが、これは本当にサーバーの知識が不要です。

・サーバー側アプリをデプロイをするための環境を構築する必要が無い
→eclipseをダウンロードして、アプリのソースコードを取得してデプロイする・・・という作業が必要ありません。
Webの画面上から「Mobile Backend Starter」のアプリを直接デプロイすることができます。

・OAuth2の認証をサポート
 (内部的にはCloud Endpointsを使用しています)

・サーバー側のコードを書く必要が無い
→DAOをAPIとして公開するような作りになっていて、クライアント側からクエリの内容を指定してクエリを実行します。
 (詳しく見ていないけどアクセスコントロールの仕組みはちゃんとあるらしい)

・ContinuousQuery
 ・サーバー側でクエリの結果に影響するデータが登録されると自動でクライアント側の画面に反映される
  ・クライアント側からクエリを実行した際にProspective Searchに端末IDとクエリの内容を登録する
  ・データの更新時にProspectiveSearchが呼び出される(登録内容にマッチする更新が行われたか、が確認される)
  ・ProspectiveSearchに登録した条件にマッチした場合、GCMを使ってクライアント側に通知する
  ・クライアント側はGCMのMessageを受け取ると、API経由でクエリを再実行して「最新のクエリ結果」を取得して描画する

・クライアント側を楽に実装するための仕組みも用意されているらしい。

大々的に好評されていませんでしたが実は4/20ぐらいにはリリースされていて、少しソースを読んでいました。
Mobile Solutions - Google Cloud Platform — Cloud Platform」で
「Try it now」ボタンを押して利用を開始する事ができます。

ソースコードも公開されているので、
ProspectiveSearchとGCMの利用方法のサンプルアプリとして見ても面白いと思います。



◯Cloud Datastore


https://developers.google.com/datastore/

Blog @vierjp : 33.Google Cloud Datastoreを試してみた 概要編 (1/3)」に詳細をまとめ直しています。

◯概要
位置づけとしてはAppEngineのDatastoreを単独のサービスとして切り出したもの。
現在「Preview Release」という扱い。
概要レベルでは機能も同じとのこと。
ただしプログラムからの呼び出し方は大きく異なる模様。

これまでDatastoreはAppEngineの各アプリと1:1で完全に紐付いていて、
そのアプリ以外からアクセスすることができなかったが、
Cloud Datastoreとして単独のサービスになった事で、
異なるAppEngineアプリや環境から呼び出すことができるようになった。

複数のAppEngineのアプリから同一のDatastoreにアクセスしたり、
逆に一つのAppEngineのアプリから複数のDatastoreにアクセスしたり、
Compute Engineからアクセスしたりもできる。
さらには別のクラウドやオンプレミスのサーバーからもアクセスできる。


◯Cloud DatastoreのAPI
基本的に既存のDatastoreと機能は同じだそうですが、
ドキュメントを見る限りアクセス方法は異なります。
Protocol Buffer形式でリクエストを投げる「Protocol Buffers API」か、
JSON形式でリクエストを投げる「JSON API」を使用します。
Protocol Buffers APIは現状JavaとPythonから利用できます。
(現時点でGO用・PHP用は用意されていません)

注意が必要なのは既存のDatastoreアクセスに使っている「Low Level API」とは異なるという事。
そのため現在利用している「Low Levle APIベースのフレームワーク」は
「Cloud Datastore」に対してそのままでは使えないのでしょう。
(API Proxyレベルで処理を差し替えて対応できたりしないだろうか)
* 2013/06/11 追記 AppEngine上のアプリからはこれまで通りに使えます。
詳しくは「Blog @vierjp : 33.Google Cloud Datastoreを試してみた 概要編 (1/3)」を参照。

JSON API経由なら言語を問わず利用する事ができるので、
node.jsのサーバーから利用する」ような事もできます。

JSON APIは既にAPIs Explorerに表示されています。
Discovery APIベースなので、多くの言語に対応するClient Libraryが公開されることでしょう。


◯ユースケース
- ケース1 AppEngineアプリのバックエンドとしてCompute Engineを使う場合

AppEngineのアプリが保存する大量データの処理にCompute Engineを使う。
データの保存領域に「Cloud Datastore」を使うことで、
時間のかかる大量データの処理をCompute Engine上のバッチから行う事ができる。
(Cloud DatastoreならAppEngineのアプリとCompute Engineの両方からアクセスできるので)

ComputeEngineを使っていわゆる「夜間バッチ」的な一括処理に使ったり、
DatastoreのデータをBigQueryに転送する前に加工したり、
という用途が思いつきます。

これまではAppEngineアプリの持つ大量データの処理は
「Shutdown対応」をした上でbackendsを使ったり、細かいたくさんのTaskに分散させて処理する等、
実装段階で手間をかけていましたが、それが軽減されるでしょう。


- ケース2 Compute Engine上にWebアプリを配置する場合
AppEngineを使わない場合でも、
例えばCompute Engine上にnode.jsのサーバーを立てて、
そのデータ保存領域としてCloud Datastoreを使うということもできます。

実際にI/O 3日目の「Code Labs」でこの説明が行われるようです。
「Getting Start」では「node.jsからGoogle Cloud Datastoreを使う方法」について書かれています。
Overview - Google Cloud Datastore — Google Developers


- ケース3
 AppEngine・ComputeEngine以外のクラウド環境からデータを操作する
 JSON APIがあるので基本的にどこからでも操作できるはずです。
 自社にあるオンプレミスのサーバーからアクセスすることもできますし、
 アプリのアップグレードに伴うデータの一括更新処理をローカル環境から実行するようなこともできるでしょう。
 (この場合ComputeEngineから動かすのと比べて速度が遅そうですが)


◯Preview期間中の制限
Preview期間中は、課金を有効にしている場合にも、
Read、Write、Small Operationそれぞれに対して
「10 million per day, no more than 500 per second」のlimitが設定されています。
(連絡すれば増やしてもらえるそうです)



◯Google Compute Engine



現地時間で15日についにGoogle Compute Engineが一般公開されたそうです。
以前と比べて変更されたのは以下のとおりです。

- Sub-hour Billing
 課金の時間単位が変わったそうです。
 最低課金額は10分単位だが、その後は一分単位で課金される、とのこと。

- Shared Core Instance
 →f1-micro,g1-smallの追加
  さらに安いインスタンスが追加されました。
  これまでの一番安いインスタンスが「n1-standard-1」の「$0.115/h」ですが、
  「f1-micro」は「$0.019/h」で格段にお安くなっています。
  実際にどのくらいのパフォーマンスがあるのかわかりませんが、
  メモリをそれほど必要としない長時間の処理に良いのでしょう。

- Advanced Routing
3日目のセッションで話されるそうですが未確認です。
* 2013/5/25追記 オンプレミス環境や他のクラウドとセキュアに繋ぐためのVPN的なもの・・・らしいです。

- Persistent Diskのサイズが最大10TBになった。
これまでの最大サイズ「1TB」から10倍の「10TB」になります。

参考:
Google Compute Engine Pricing (料金体系)



◯Google Cloud Storage (2013/5/23追記)

すっかり忘れてましたがセッション動画見直していたら新機能があったので追記。

◯Offline Disk Import (Limited Preview) 
https://developers.google.com/storage/docs/early-access?hl=ja

アップロードしたいファイルをハードディスクに入れてGoogleに送ると、
Google内のネットワークからUploadしてくれる
という究極手段。
(最初ネタかと思ったのは内緒^-^;)

Google/IO 初日の5/15にサービス開始。

・手順
1.Offline Disk ImportのInterest Formから申し込み
2.SATAのハードディスクをencfs(暗号化ファイルシステム)でフォーマットする
3.データをハードディスクにコピーする
4.Googleに郵送する
5.Googleが顧客が所有する新しいbucketにimportする(Googleの高速なネットワークを使って)
6.GoogleがHDDを郵送で返す

* 現時点ではアメリカ国内の顧客限定です
ただし、間違いなく今後数ヶ月の間に国際的に利用できるように拡大するし、
優先順位が上がるかもしれないので海外の顧客も「Interest Form」から連絡してください、とのこと。

料金は通常のGoogle Cloud Storageの料金がリクエスト回数, 帯域使用料,ストレージ使用料」に加えて
HDD一つ毎に「$80」加算されます。

* 2013/5/24追記 Google Cloud Storeのセッションに関して別途詳細記事を書きました。
31.Google Cloud Storageに大量データをアップロードする際のテクニック(Google I/O 2013)



◯Google BigQuery (2013/5/28追記)

IO報告会(#Devfest)で知ったので追記。

◯Google Analytics and AdSense Data Analysis in BigQuery
AdSense BigQuery Integration Guide - AdSense — Google Developers

・BigQueryでGoogle AdSenseのデータを分析可能になりました
・Google Analyticsのデータは2013年9月の公開を目指しているそうです

AdsenseにしてもAnalyticsにしても、
BigQueryを使ってこれらと自社で持っている別の情報とをJoinして分析できる事が魅力です。

Google BigQueryのセッションに関して別途詳細記事を書きました。
32.Google BigQueryでAnalyticsとAdSenseのデータを分析する(Google I/O 2013)


概要レベルですが、今日はここまでとしてまた近日中に続報を書こうと思います。

以上、 San Franciscoからでした!



◯TopGate社 Google I/O フィードバックセミナー (2013/6/11追記)

2013/5/31に行われた「TopGate社 Google I/O フィードバックセミナー」で
私がGoogle Cloud Platform担当として発表したスライドです。
Report of Google I/O 2013 Google Cloud Platform

こちらも併せてどうぞ!




このエントリーをはてなブックマークに追加