![ggsoku.com](https://cdn-ak-scissors.b.st-hatena.com/image/square/42492a3092d317d1b48b1ac45c3920d773d16fd1/height=288;version=1;width=512/https%3A%2F%2Fi1.wp.com%2Fggsoku.com%2Fwp-content%2Fuploads%2Fgoogle-spanner1.gif%3Ffit%3D660%252C600%26ssl%3D1)
AppEngineは、万能なプラットフォームではありません。むしろ、かなり使い道は限定されていると言ってもいいでしょう。 向いていないアプリで使うとかなりはまって、アプリが完成しないリスクがあります。 一方、向いているアプリで使うとこれまでよりかなり費用を節約できたりとか、儲けにつなげることができます。 AppEngineにどのようなアプリが向いているかというと、AppEngineがGoogleの既存のインフラをそのまま利用していることをまず知っておく必要があります。 Googleのインフラは、(極端に単純化すると)大量のデータを多くの人に同時に見せるために最適化されています。 AppEngineも同様で、大量のデータに大量にアクセスがあっても大丈夫なように、BigtableというKVSを使っています。また、自動でスケールアウトするWebのFront Endも既存のインフラをそのまま使って
グーグルが「Evolution and Future Directions of Large-Scale Storage and Computation Systems at Google」(グーグルにおける、大規模ストレージとコンピュテーションの進化と将来の方向性)という講演を、6月に行われたACM(米国計算機学会)主催のクラウドコンピューティングのシンポジウム「ACM Symposium on Cloud Computing 2010」で行っています。 講演の内容を4つの記事(MapReduce編、BigTable編、教訓編、デザインパターン編)で紹介しています。この記事はMapReduce編の続き、BigTable編です。 分散処理に対応するBigTable 次はBigTableの説明に移ろう。BigTableは、大規模分散の半構造化データストアシステムだ。 グーグルでは多くの構造的
Photo by shindotv ここ最近、海外のブログで「NoSQL」という単語をちょこちょこと見るようになりました。 これは新しいデータベースのムーブメントで、「SQL=リレーショナル」ではないデータベースの事を指しています。 NoSQL DBサーバの有名な物は、Facebookがリリースした「Cassandra」、Erlangで書かれた「CouchDB」、日本からは、mixiがリリースしている「TokyoTyrant」があります。 またGoogle App Engineでは、DataStoreというBigTableベースのNoSQLサービスが提供されています。 ある程度ユーザを集めたコンシューマ向けサービスは、大抵の場合パフォーマンスとの戦いとなります。 技術誌の中でも「スケールアウト技法」的な記事を目にすることが増えてきたことからも、多くのサイト運営者が、パフォーマンスの問題を抱
グーグルが取り組む次世代Bigtable、全世界規模でサーバ1000万台を自動化して構築する「Spanner」プロジェクト 米国の計算機学会であるACM(Association for Computing Machinery)が開催した、大規模分散システムのワークショップ「LADIS 2009(Large Scale Distributed Systems and Middleware)」の2日目、10月11日のキーノートスピーチで、グーグルが現在取り組んでいる「Spanner」プロジェクトの中味が明らかになりました。 キーノートスピーチを行ったのは、グーグルのSystems Infrastructure Groupに所属するフェローのJeff Dean氏。同氏は、現在グーグルが「Spanner」というプロジェクトに取り組んでおり、それは「Storage & computation sys
Google App EngineのDBサービスはジョインができないなどの制約があるので,パフォーマンスを高めるには工夫が必要だ。キーワードは「キャッシュ」「非正規化」「分散」「事前計算」など。そのほか,処理性能の予測やフレームワークの利用などに注意したい。 米Googleの「Google App Engine」(以下,GAE)は,Webアプリケーションの開発・実行環境を提供するサービスです。前回はGAEの概要編として,サービスの全体像や開発の流れ,データベース・サービスの概要などを説明しました。Java言語とPython言語で開発でき,各種ライブラリやアプリケーション・フレームワークがそろっている一方で,「データベースのジョインができない」といった制約があることを解説しました。 今回はGAEの設計編として,GAE上で動作するアプリケーションを設計する際のコツを,主にデータベース設計を中心
素朴な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」の内部構造を紹介し、クラウドの本質をより深く掘り下げます。 前
もう1つの、DBのかたち、分散Key-Valueストアとは:分散Key-Valueストアの本命「Bigtable」(1)(1/3 ページ) RDBとは別の、クラウド時代のデータベースとして注目を浴びている「分散Key-Valueストア」。その本命ともいえる、Googleの数々のサービスの基盤技術「Bigtable」について徹底解説 クラウド時代のデータベース「分散Key-Valueストア」 グーグルがインターネットの世界をここまで席けんできた最大の理由は何でしょうか。実は、それは同社の優れた検索技術ではありません。グーグルが成し遂げた最も大きなブレークスルーの1つは、同社が生み出した巨大な分散データストア、「Bigtable」にあります。 Bigtableは、Google検索をはじめ、YouTubeやGoogle Map、Google Earth、Google Analytics、Goog
社員採用が通年化されました また採用広報です。 株式会社クロスワープ/CROSSWARP Inc. (titleちゃんとしてねーなー、うちの会社) ってわけで、採用ページが上がっています。 基本的に通年採用って事で締め切りとかは特に無しですので、腕に覚えのある方はどうぞ。 募集要項の選考プロセスにある通りでプログラムの書き問題がありますのでご了承ください。 posted @ 17:16 | Comment (1) [ASP.NET]デザイン時に web.config での定義を使えるようにする 表題の物、おすそ分け。 using System.Configuration; using System.Web.UI; using System.Web.UI.Design; namespace System.Web.UI { public static class ControlExtender
App EngineをjQueryでAjax化しBigtableをCRUD操作:Google App Engineで手軽に試すJavaクラウド(3)(1/4 ページ) BigtableはCRUD処理ができるんです! 連載第1回の「EclipseでJava版App Engineを始めるための基礎知識」では環境設定が中心でしたが、連載第3回となる今回は、「Google App Engine for Java(以下、GAEj)」上で動作するJSPのユーザーインターフェイス(以下、UI)をAjax/JavaScriptでリッチにし、「Bigtable」でCRUD(登録・参照・更新・削除)処理を行ってみます。 今回の解説では、Ajax/JavaScriptライブラリのjQueryのバージョン1.3.2を使用したCRUD処理画面の操作内容と、そのJavaScriptでのプログラム処理を最初に見ていき、
講演は ustream で見て、懇親会だけ参加してきた。かな〜り勉強になった。GAE Data Store 関連でよくわからないことがあったので、2点質問をした。 Q. entity を更新してから index を更新していると言うが、それだと unique secondary index はサポートできないと思うのだが、どうか。 A. unique secondary index については、別途テーブルを作って管理してください。 感想. 複数の、ノードを跨がる unique secondary index があると 2-phase commit 的な話になるので、その割り切りはアリなのかなー。 Q. range query をサポートしていないというが、sharded, sorted array なのに何故? A. 上下の両界をサポートしていないだけで、片方を指定した ascendin
BigtableデータをApp EngineのJSPで日本語表示:Google App Engineで手軽に試すJavaクラウド(2)(1/4 ページ) Google App Engineで動くJSPの日本語表示が正常に 連載第1回の「EclipseでJava版App Engineを始めるための基礎知識」では環境設定が中心でしたが、今回からGoogle App Engine for Java(以下、GAEj)の実践的なプログラミングに入っていきます。 「GAEjでどんなことができるのか」については、第1回の最初に概要を紹介していますが、今回はその中でもGoogleの巨大データストア「Bigtable」へのアクセスを中心に紹介し、JSPを使用した画面表示やGoogleアカウントへのサインイン/アウト、ログ出力などにも触れていきます。 ところで、この原稿を書き終えるころ(2009年5月13日)
GAE/Jを使うのに一番戸惑うのが、データのストレージがRDBMSではなく、Bigtableなことでしょう。 JOINが使えなかったり、WHERE句でORが使えなかったり、これまで慣れ親しんでいた方法が軒並み使えません。 これらの制限は、Bigtableに限ったことではなく、KVS(Key Value Store)型のクラウド系のデータベースではみんないえることだと思います。 最初、私も戸惑ったんだけど、いろいろ触っているうちに気付きました。昔、AS400でやってたころと一緒ジャンと。AS400とは、IBMから出ているオフコン(?)ですね。今は、System iと呼ばれているようです(最新だとまた違うようですが)。 AS400のファイル(テーブル)は、キーもしくはインデックスでアクセスします。インデックス(論理ファイル)は、ある行の特定のカラムがソートされていて、物理ファイル(テーブル)へ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く