SQLの都市伝説。マイケル・ストーンブレイカー御大が斬る!

2010年7月22日はてなブックマーク del.icio.us Twitter

データベース研究者の大御所、マイケル・ストーンブレイカー氏が、「SQL URBAN MYTHS」(SQL都市伝説)というWebセミナーを、自身が創設した会社VoltDBで公開しています。

一般にリレーショナルデータベースに対して言われている「SQLは遅すぎる、トランザクションのコストは高すぎる」といった評価について、SQLが遅いのではないし、トランザクション以外のコストが高すぎるのだ、と反論する内容。

これらは同氏が以前から主張してきた内容ではありますが、最近流行しているNoSQLデータベースに対する反論にもなっているため、多くのエンジニアに刺激になる内容となっています。

SQLに関する6つの都市伝説

都市伝説1:SQLは遅すぎる。NoSQLのような低レベルなインターフェイスを使うべき
都市伝説2:キーバリュー型が有望で、SQLは問題外
都市伝説3:SQLデータベースはスケーラブルではない
都市伝説4:オープンソースでスケーラブルなSQLエンジンは存在しない
都市伝説5:ACIDは遅すぎるので避けるべきだ
都市伝説6:CAP理論では、CA(一貫性と可用性)よりもAP(可用性と分断耐性)を選ぶべき

これらの多くは、SQLに準拠し、ACIDに対応したシェアドナッシングなVoltDBで反論できる。

fig

都市伝説1:SQLは遅すぎる。NoSQLのような低レベルなインターフェイスを使うべき

なぜSQLが遅いのか?

つまり、性能はSQLそのものとは関係ない。インターフェイスや実装の問題である。

fig

都市伝説2:キーバリュー型が有望で、SQLは問題外

VoltDBなら、SQLのストアドプロシージャの上にキーバリューのインターフェイスを持っていますよと。多くの機能を持つSQLが少ない機能のキーバリュー型をサポートするのは簡単。MySQLだってMemcachedを使えばそうなる。

fig

都市伝説3:SQLデータベースはスケーラブルではない

最近のはそうでもない。

fig

都市伝説4:オープンソースでスケーラブルなSQLエンジンは存在しない

VoltDBはオープンソースだよ! (なぜかMySQLやPostgreSQLに言及なし)

fig

都市伝説5:ACIDは遅すぎるので避けるべきだ

ACIDとは要するにしっかりしたトランザクション処理のこと。実際には銀行など多くのアプリケーションがACIDを要求しているし、もしACIDを使わなければアプリケーションがさらに複雑になってしまう。

今後は、より多くのシステムがACIDを求めてくるだろう。こうした要件に対してACIDを使わないのは問題外だ。

fig

現実に多くのデータベースは1テラバイトもないはずなので、すべてオンメモリでの処理ができるようになるだろう。しかも、DBMSの処理のほとんどはリカバリ処理(の準備)、バッファプール管理、ロッキング、ラッチなどの余計なものがほとんどなのだ。

ACIDにかかるコストは実は小さなものであり、それ以外の部分が実は問題になっているのだ。

fig

都市伝説6:CAP定理では、CA(一貫性と可用性)よりもAP(可用性と分断耐性)を選ぶべき

CAP定理のC(一貫性)、A(可用性)、P(ネットワーク分断耐性)のどれを選ぶべきかは、ある意味宗教的な議論だ。

順序に依存した処理の場合(例えば、ある社員を100ドル昇給させたあと、さらに10%昇給させるといった処理)では、ネットワーク分断耐性と結果整合(Eventual Concistency)では順番が保証されないため対応できない。また、在庫がゼロのときに注文を受けてはならない、といった制約にも対応できない。

VoltDBなら…

そしてVoltDBなら、こうしたSQLの都市伝説を打ち破る製品だと紹介しています。メインメモリをストレージとして使うため、バッファプールがなく、トランザクション処理は軽く、ロックもラッチもない。しかもACIDに対応すると。

fig

VoltDBのアーキテクチャについては、6月1日の記事「NoSQLを上回る性能のVoltDB、そのアーキテクチャとは」で紹介しているのでご参照ください。


次の記事≫ Twitter、急成長に対応するため独自のデータセンターを年内設置へ
前の記事≪ 楽天、性能向上を分散オブジェクトキャッシュで実現。将来のデータ構造変革のプラットフォームとしても期待

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
RSSリーダーで : Feed
≫ 過去の記事を読む




アクセスランキング - 過去7日間

  1. 次の10年、「統計分析」こそテクノロジー分野…
  2. その分析、Hadoopなら速く安くできます …
  3. 米国で求められているクラウドのスキルは? A…
  4. [速報]VMworld 2010、クラウド時…
  5. グーグルが構築した大規模システムの現実、そし…
  6. 経過報告:「SAP」をSocial Appl…
  7. 技術評論社のクラウド技術誌「G-CLOUD …
  8. グーグル、オラクルとの係争を理由に今年のJa…
  9. グーグルが構築した大規模システムの現実、そし…
  10. [速報]VMworld 2010、IT as…
  11. アドビ「iPadでFlashアプリを動かす」…
  12. グーグルが構築した大規模システムの現実、そし…
  13. 呼びかけ:「SAP」をSocial Appl…
  14. グーグルが構築した大規模システムの現実、そし…

アーカイブ  (最新記事10)

バックナンバー

2010年9月
2010年8月
2010年7月
2010年6月
2010年5月
2010年4月
2010年3月
2010年2月
2010年1月
2009年12月
2009年11月
2009年10月
2009年9月
2009年8月
2009年7月
2009年6月
2009年5月
2009年4月
2009年3月
2009年2月






Trackbacks (TrackbackURL:http://www.publickey1.jp/mt/mt-tb.cgi/1184)

  • (トラックバックは承認後に掲載されます)

Comments