リレーショナルデータベースはNoSQLを取り込み始めた。NewSQLの登場とNoSQLの終わり、という予想

2011年4月20日

MySQLの次期バージョンとPostgreSQLの次期バージョンにどのような新機能が追加されるのか、昨日、一昨日の2本の記事で紹介しました。

この2つのデータベースの次期バージョンに共通しているのが、NoSQLの機能を取り込んでいることです。NoSQLに対するリレーショナルデータベースによる反撃が始まっています。

リレーショナルデータベースがNoSQLを取り込み始めた

MySQLの次期バージョンであるMySQL 5.6に搭載予定の新機能の1つが、Memcached APIの搭載です。アプリケーションからMemcached APIを通じてInnoDBへとダイレクトにアクセスでき、SQLパーサーなどをバイパスしていることが見てとれます。

fig

ダイレクトに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」から引用します。

What we talk about when we talk about NewSQL — Too much information

“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 NoSQL RDB データベース




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本