リレーショナルデータベースはNoSQLを取り込み始めた。NewSQLの登場とNoSQLの終わり、という予想
MySQLの次期バージョンとPostgreSQLの次期バージョンにどのような新機能が追加されるのか、昨日、一昨日の2本の記事で紹介しました。
- MySQLの次期バージョンはMemcached APIを備える! MySQL Conference & Expo 2011基調講演
- PostgreSQLの現状と次期バージョン9.1の新機能。MySQL Conference & Expo 2011
この2つのデータベースの次期バージョンに共通しているのが、NoSQLの機能を取り込んでいることです。NoSQLに対するリレーショナルデータベースによる反撃が始まっています。
リレーショナルデータベースがNoSQLを取り込み始めた
MySQLの次期バージョンであるMySQL 5.6に搭載予定の新機能の1つが、Memcached APIの搭載です。アプリケーションからMemcached APIを通じてInnoDBへとダイレクトにアクセスでき、SQLパーサーなどをバイパスしていることが見てとれます。
ダイレクトにInnoDBへアクセスする手法は、DeNAの樋口証(ひぐちあきら)氏が開発したMySQLのプラグインであるHandlerSocketがすでに採用しており、MySQL+HandlerSocketの方がmemcachedよりも高速にクエリ処理を行えるベンチマーク結果が出ています(参考:NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現)。
同様の構造を持つMySQL 5.6のMemcached APIでも高い性能が期待できます。MySQLにおける「NoSQLキラー」な機能となりそうです。
PostgreSQLの次期バージョンとなるPostgreSQL 9.1に搭載予定の機能が「Unlogged tables」。特定のテーブルに対してはロギングをしないことでオーバーヘッドをなくし、NoSQLのような高速なデータアクセスを実現すると説明されています。
ログをとらないということは、おそらくそのテーブルに対してはトランザクション処理による安全性を一部犠牲にする代わりに高速なアクセスを実現する、ということでしょう。性能がどこまで向上するかは未知数ですが、NoSQLを意識した実装であることが説明から伺えます。
考えてみれば、リレーショナルデータベースの実装の中心には、シンプルなテーブルデータへの高速な読み書きがあります。そこにログやトランザクションやSQLパーサなどの機能を追加しているわけですから、それらを取り去ってしまえばNoSQL並に高速なアクセスが実現できるのは不思議ではありません。
ウサギの皮を被っていたリレーショナルデータベースが、その下に隠していたオオカミの実力をちらりと見せ始めた、と例えてもいいでしょうか。
NewSQLが登場し、NoSQLの終わりが始まった
米調査会社のthe451groupは、NoSQLのように高いスケーラビリティや性能を備え始めたリレーショナルデータベースのことを「NewSQL」と名付けています。同社のブログにポストされたエントリ「What we talk about when we talk about NewSQL」から引用します。
“NewSQL” is our shorthand for the various new scalable/high performance SQL database vendors.
“NewSQL”は、さまざまな新しいスケーラブルで高い性能を備えたSQLデータベース(ベンダ)のための表記だ。
同社にNewSQLとされたデータベースは、VoltDB、RethinkDB、ScaleDB、Akiban、CodeFutures、ScaleBase、Translattice、NimbusDBなどがあり、さらにDrizzle、MySQL Cluster with NDB、そして前述したMySQL with HandlerSocketも名前があがっています。
また、NewSQLをサービスとして提供する「NewSQL-as-a-service」に分類されたのが、Amazon Relational Database Service、SQL Azure、Xeround、Database.com、FathomDBなどです。
このようにしてNewSQLに分類されたリレーショナル機能を備えたデータベースたちは、NoSQLが担おうとしていた分野へどんどん進出していくことになるでしょう。
そしてNoSQLとNewSQLとの領域が重なることによって両者の境界はどんどんぼやけていき、「NoSQLの終わりが始まっている」と明言しています。
we have already noted the beginning for the end of NoSQL
私たちは、NoSQLの終わりが始まったことすでに指摘している。
NoSQLの登場は、それまでほぼリレーショナルデータベース一種類しかなかったデータベース市場に、さまざまな種類のデータベースの可能性があることを明らかにしてくれました。それがここ数年で多数のベンチャーやオープンソースプロジェクトが新しいコンセプトや仕組みのデータベースへ取り組むきっかけとなっています。
もしNoSQLというムーブメントが終わるとしても、NoSQLがもたらした「データベースといえばリレーショナル、という時代の終わり」は続きます。今後さらに、用途や目的に最適化されたさまざまな種類のデータベースの分化は広がっていくはずです。
関連記事
- クラウドに最適化したMySQLのフォーク「Drizzle」が正式版公開
- セールスフォース、無料で使えるクラウドデータベース「Database.com」を発表。Dreamforce '10
- SSD専用に設計された「ReThinkDB」、ロックもログも使わない新しいリレーショナルデータベースのアーキテクチャ
- NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現
- FathomDB、「スケーラブルなRDBをDatabase-as-a-Serviceで提供する」と宣言
- クラウド対応のスケーラブルなMySQLデータベース、米Xeroundが発表
- NoSQLを上回る性能のVoltDB、そのアーキテクチャとは
- MySQLに自動フェイルオーバー機能を追加したAmazonクラウド。オンラインのままパッチ当てやバックアップも
あわせて読みたい
サイボウズのクラウド「Kintone」は、アプリストア+ノンプログラミング開発か?
≪前の記事
米オライリーメディア、紙の出版物をオンデマンド印刷へ移行。「もはや既存の出版ビジネスモデルはうまくいかない」