Database Requirements in the Age of Scalable Services
by Adam Bosworth
- 最近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.
感想.標準化の結果オープンソースが入り込む隙間ができて,その後オープンソースが成長した,というのに納得.いろいろ聞いていて面白い内容.