Building Spanner Better clocks → stronger semantics Alex Lloyd Senior Staff Software Engineer How to build a planet-scale serializable database Build clocks with bounded absolute error, and integrate them with timestamp assignment: • Ensure timestamp total order respects transaction partial order • Offer efficient serializable queries over everything Spanner • Descendant of Bigtable, successor to
* 参照した論文 + http://labs.google.com/papers/gfs-sosp2003.pdf * 特徴 + 安いPC(OSはGNU/Linux)で分散ファイルシステムを構築しています(*注1)。 + PCは壊れるという前提で設計しています(*注2)。このため、分散システムを構成するノードが壊れた時、データが失われないことと、自動で復旧できることに主眼を置いています。 + ファイルシステムを利用する側(アプリ)に、ある程度の想定を求めています。任意の利用ケースに対してそこそこのパフォーマンスを出す(=平均的に良い性能)のではなく、特定の利用ケースで性能を発揮できるように設計しています。 + 性能を発揮できる利用ケースは次のようなケースです。 ++ 主にサイズの大きいファイルを扱う(*注3)。 ++ ファイルへの書き込みは追記(append)が多い(ファイルの一部分を何度
グーグルは1月6日、Google App EngineのデータストアとしてPaxos algorithmによるデータセンター間のデータ同期を採用し、可用性を大幅に向上させた新データストア「High Replication Datastore」を追加したと、ブログのエントリ「App Engine 1.4.1 をリリースしました - High Replication Datastore の紹介」で明らかにしました。 App Engine 1.4.1 をリリースしました - High Replication Datastore の紹介 - Google Japan Developer Relations Blog 複数のデータセンターにまたがったレプリケーションを行うことで、特定のデータセンターに障害が発生した場合でもほとんどの場合で問題なく動作するとのことです。 可用性は高まるが書き込みは遅く
BrettさんのSTMに関する記事の中でGoogle Megastoreについて言及されていて、そのリンク先がハミルトン先生の2008年7月の記事(内で紹介されていたPhil Bernsteinさんのメモ)でした。つまりどうやらMegastoreに関する公開情報でGooglerのお墨付きなものはこれしかなさそうです。そこで改めて要点を写経しつつ、App Engineレベルから見た疑問点等をまとめてみました。なお、青色部分は私の訳注および感想です。同じ記事について解説したkuenishiさんの記事もありますので、合わせてご参照ください。 ところでここでは「BigTable」表記です。BigtableのTが大文字か小文字かについてguidoは「う〜ん論文ではtだったから小文字じゃないかな〜」と言ってました。つまりGoogle社内でも統一されてません。 Google Megastore What
A giant step into the fully distributed future has been taken by the Google App Engine team with the release of their High Replication Datastore. The HRD is targeted at mission critical applications that require data replicated to at least three datacenters, full ACID semantics for entity groups, and lower consistency guarantees across entity groups. This is a major accomplishment. Few organizatio
► 2024 (17) ► May (4) ► April (4) ► March (2) ► February (6) ► January (1) ► 2023 (44) ► December (5) ► November (6) ► October (2) ► September (3) ► August (1) ► July (2) ► June (5) ► May (5) ► April (2) ► March (6) ► February (3) ► January (4) ► 2022 (44) ► December (4) ► November (2) ► October (7) ► September (6) ► August (2) ► July (3) ► June (5) ► May (1) ► April (2) ► March (4) ► February (5)
osdi2006 This is an open forum for discussion of papers presented at OSDI 2006. Please add your comments to these postings. We invite comments from anyone who has read the paper or heard the presentation; please note that the papers themselves are not available for free online access until 2007. Bigtable: A Distributed Storage System for Structured Data Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wi
The document summarizes Google's Bigtable storage system, which provides a structured storage layer for large distributed data sets. Bigtable stores data as a sparse, distributed, multidimensional sorted map. It is built using the Google File System for storage, Chubby for locking, and provides a simple "get/put/delete" interface for accessing rows and columns. Bigtable tables are sharded into tab
This text is translation of: 34 projekty Open Source udostępnione przez Google Update: Currently list is longer than 35 projects, during change from Polish to English I have added one new project - and this is why title says 35 instead 34 ;). After updates there are even more! Sorry for your confusion. Google is one of the biggest companies supporting OpenSource movement, they released more than 5
App Engineで現実的な送金処理について考え中です。 ドラフト版なので、怪しい点があればご指摘いただければ幸いです。 コメントで情報いただきました。 Distributed Transactions on App Engineで紹介されてる方法と基本的に同じなので、おそらく問題なく動きそうです。ありがとうございました。 今回はこんな図を使います。 この図の読み方は、矢印の方向にユースケースの一連の処理(またはリクエストの処理)が流れていて、右に行くほど時間が経過しています。そして、矢印がくし刺しにしている四角形は、そのユースケース中で操作するエンティティを表しています。 また、左右の位置が同じ矢印は、基本的には同じ時刻に発生したイベントを表しています。上記の図では、A, B, Cがそれぞれの口座エンティティを同時に操作している感じです。 並行性制御(おさらい) 最初の図のように、それ
Song of Cloudで送金のトランザクション処理パターンが紹介されていました。 http://songofcloud.gluegent.com/2009/11/blog-post_18.html 同様のpython版がこちら Distributed Transactions on App Engine - Nick's Blog 上記のやり方で基本的には問題はないのですが、バージョン管理による楽観的排他制御を行っていないので、送金だけを考えるなら、残高を差分で更新しているので大丈夫ですが、これを一般的なパターンに拡張しようとすると、楽観的排他制御は必要になります。 楽観的排他制御とは、エンティティにバージョン番号を持たせておいて、メモリ読み込んだときのバージョン番号と書き込むときのバージョン番号が等しいことを確認する方法で、RDBMSの場合は、次のようなSQLを実行することで実現しま
Google Waveで覚えておくと便利なWave検索方法まとめ。 公開:2009年11月30日 16:55, 更新:2009年11月30日 18:14 トラックバック(0) コメント(0) Google Wave内で情報(Wave)を探す時、様々な条件を与えて検索する事が出来ます。覚えるのは大変だと思うので、一覧にしていつでも参照できるようにしてみました。追加情報や修正箇所がありましたら、コメントやTwitter(@souta_tw)などで知らせ頂けると、とーっても助かります。 なおこの一覧は、Google Wave内で僕も含めた有志がまとめた情報(要Google Wave)を元に再編集しています。 一覧中の表記について name アカウント名(@~は無くてもOK)、グループ名、もしくはキーワード。 tag Waveに付いているタグ。 検索条件と実際の検索方法について 一覧では検索条件
Google Wave関連情報のまとめ 公開:2009年11月30日 13:08, 更新:2009年11月30日 13:14 トラックバック(0) コメント(0) Google Waveに関連する情報を、カテゴリーごとにまとめています。新たな情報が見つかれば、随時追加します。追加情報や修正箇所がありましたら、コメントやTwitter(@souta_tw)などで知らせ頂けると、とーっても助かります。 ガイド 英語 Using Google Wave 英語:公式、簡単な案内。 The Complete Guide to Google Wave: How to Use Google Wave 英語:非公式、詳しいガイド。本家ライフハッカーの元編集長のGina Trapaniと、現編集長のAdam Pashの二人が書いたもの。 日本語 Google Wave コンプリートガイド 日本語:非公式、
Googleが Goという新しいプログラミング言語 を出したようで。早速、インストールして軽くドキュメントを流し読みしてみました。 英語なんて読みたくないよ、という人もいるかもしれないし、誰かの役に立つかもしれないので自分用メモおいときます。完全に自分用なんである程度他の言語の知識がある人向けな上、ざっくり流し読みなんで間違ってるかも。 どんな言語? ネイティブコードを吐く、コンパイル型。 速度はCレベル。 GC搭載。ポインタはあるけど、ポインタ演算はできません。 各種アーキに最適化された、それぞれのコンパイラセットを持ちます。例: 6g, 6l : amd64 8g, 8l : i386 linux, mac, naclに対応。 動的型言語と静的型言語のおいしいとこどり。 concurrent処理が組み込まれてます。 個人的雑感 こんな言語設計思想かなあと感じたり とにかく、シンプルな言
11月19日(日本時間11月20日午前3時半)、グーグルはWebアプリケーションの実行に特化したオープンソースの新しいOS、Google Chrome OSのための「Chromium OS」プロジェクトをオープンソースとして公開したと発表しました。 オフィシャルページでグーグルは「Google Chrome OS will be ready for consumers this time next year.」と書き、Chrome OSの製品がユーザーの手に届くのは来年になるとしています。 公開されたのは、以下のものです。 Source code(ソースコード) Design docs(システムデザインのドキュメント) User interface experiments(ユーザーインターフェイスのドキュメント) Getting and Building a Chromium-Based
Did you know...?LWN.net is a subscriber-supported publication; we rely on subscribers to keep the entire operation going. Please help out by buying a subscription and keeping LWN on the net. There may be no single organization which runs more Linux systems than Google. But the kernel development community knows little about how Google uses Linux and what sort of problems are encountered there. Goo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く