Database Requirements in the Age of Scalable Services

by Adam Bosworth

Google,Inc.のVPによるkeynote

  • 最近Webで起きたこと:Simple, Sloppy, Standards, Scale
  • Simple:PHP+JavaScriptによるアプリケーション開発
  • Sloppy:add custom metadata or verbs
  • Standards:どのプラットフォームでも動作するようになった,オープンソースがこれらを全て実装した.
  • Scale:DNS(partitioning), Caching, Stateless, Coarse Grained interactions
  • 高性能マシンがどんどん安価で提供され,ネットワークも高速となった.(ネットワークがディスクアクセスよりも速い).これがWEBへ大きく作用した.
  • Google:100mもの検索リクエスト,ペタバイト級のデータからの検索,数百ミリ秒でのレスポンス,ハードウェア障害はいつもどこかしら発生するが"it takes a licking and keeps on ticking". Queries with low latency change the game.
  • Googleのビジョン:データのWEB化,Doing for information what HTML over HTTP did for user interface.
  • Google初期のビジョン:http://xml.coverpages.org/bosworthXML98.html 全てのデータがオープンスタンダードな方法で提供され,ユーザは情報を探したり,変更したりできる.→失敗?
  • なぜ失敗したか:too late, didn't work like web , too hard for customers, web service
  • MySQLについて:多くを求めないなら良いデータベース,しかし顧客は高機能化を求めている.WEBの教訓は,分散+オープンスタンダードが支持されるということ.
  • オープンとは何?:オープンソースが支持されるのはTransparencyが高いから.サポートにお金を払うのであり,ソフトウェアライセンスではないから.No Lock inだから.
  • 非オープンとは何?:標準化されていないもの.20世紀の遺物.いろんな顧客からのQueryを受け付けられないこと(相互運用性の話?)
  • 必要なこと:一つのシンプルなOpen wire format, Sloppy Open model, P系プログラマおよびJSプログラマ
  • 何が起きているか:RSS/AtomによるWEB PublishingのAggregation
  • Basic Model:URLはクエリと同じ
  • Normalクエリとの違い:リクエスト時間に制限があるので正確な結果は返さず
  • Scalable Framework - Queries:Routerでロードバランスして各パーティションにふり,さらに各パーティションでMaster/Slaveレプリケーションで分散
  • You can be Google too.
  • Big centralized DB's will be so 20th century.
  • We can change the world.

感想.標準化の結果オープンソースが入り込む隙間ができて,その後オープンソースが成長した,というのに納得.いろいろ聞いていて面白い内容.