「NewOLTPの時代にNewSQLが求められている」 マイケル・ストーンプレイカー氏

2011年7月8日

Web時代に生成される大量のデータを、トランザクションを維持しつつ処理できる新しい種類のデータベース「New SQL」が求められていると、データベース研究者の大御所、マイケル・ストーンブレイカー氏が米計算機学会ACM(Association for Computing Machinery)のコラム「New SQL: An Alternative to NoSQL and Old SQL for New OLTP Apps」(New SQL:New OLTPアプリケーションのための、NoSQLやOld SQLに替わるデータベース)で書いています。

New SQL: An Alternative to NoSQL and Old SQL for New OLTP Apps | blog@CACM | Communications of the ACM

これまで企業の情報システムの定番は、受発注処理などを行うOLTP向けのデータベースがあり、そのデータをETLでデータウェアハウスに集めて分析を行うものでした。

ストーンプレイカー氏はこうしたこれまでのデータベースに対する要件は「Old OLTP」であり、そのためのデータベースは「Old SQL」だった、と書いています。

“the Web changes everything,” and I have noticed a very different collection of OLTP requirements that are emerging for Web properties, which I will term “New OLTP.”

“Webがすべてを変える”、そしてWebによってデータベースに対するこれまでとはまったく異なる要件が登場してきている。それを“New OLTP”と呼ぼう。

このように「New OTLP」という新しいニーズが登場していることを示唆します。New OLTPとはどんな要件なのでしょうか?

NoSQLの性能とトランザクション機能を合わせ持つ

ストーンプレイカー氏はNew OLTPに関して2つの要件をあげています。

The need for far more OLTP throughput.
圧倒的に高いOLTPスループットの必要性

Webアプリケーション、例えばオンラインゲームのプレイ情報、スマートフォンからの位置情報など、そのアプリケーションが人気になればなるほど大量のデータが押し寄せてくるため、そうしたデータを処理できるだけの性能が必要とされると。

The need for real-time analytics.
リアルタイム分析の必要性

いまユーザーがどんなゲームをしているのか、スマートフォンのユーザーの周囲に何があるのか、こういったクエリは、従来のBI的な方法では実現できない。

こうしたNew OLTPのニーズは、例えば電子商取引の企業にとってはつねに大量のトランザクションを監視しなければならないなど、今後さらに広がっていくというのがストーンプレイカー氏の主張です。

そして、Old SQLはNew OLTPの要件に答えられず、また最近注目されているNoSQLにはACIDを満たすトランザクション機能がなく、SQLのような共通言語がないために開発効率が悪い点で、New OLTPの要件を満たさないとしています。

そこで「New SQL」の登場です。

New SQL. Systems are starting to appear that preserve SQL and offer high performance and scalability, while preserving the traditional ACID notion for transactions. To distinguish these solutions from the traditional vendors, we term this class of systems “New SQL.” Such systems should be equally capable of high throughput as the NoSQL solutions, without the need for application-level consistency code.

New SQL。SQLを備え、高性能かつスケーラビリティを提供、従来のACIDなトランザクションを実現するシステムが登場し始めている。これまでのベンダによるソリューションと一線を画すため、これらを“New SQL”と呼ぼう。これらはNoSQLのような高スループットを実現しつつ、(トランザクション機能を備えているため)アプリケーションレベルで一貫性の実装をする必要がない。

日本での注目はこれからか

ストーンプレイカー氏はNew SQLの具体的な製品名として、ClustrixNimbusDBVoltDB の3つをあげています(VoltDBはストーンプレイカー氏自身による企業の製品)。

Clustrixはクラスタ上の並列分散データベースで、マルチバージョニングによってロックを使わずに並列性を高めるアプローチのデータベース。

NimbusDBはクラスタのノードがピア・ツー・ピアとなっており、データベースのファイルやトランザクションログを複数ノードで処理することでボトルネックを解決すると説明しています。

VoltDBは以前の記事「NoSQLを上回る性能のVoltDB、そのアーキテクチャとは」で書きましたので、少し引用します。

VoltDBは、シェアドナッシングなサーバ群から構成されるスケーラブルなクラスタ上の分散されたインメモリデータベースである。
(略)
ロック、ラッチ、リソース管理のようなオーバーヘッドを排除しつつトランザクションの一貫性を備えるために並列的なシングルスレッド処理によるデータアクセスを行う。

いずれも面白そうなアーキテクチャのデータベースばかりです(と思うのは僕だけでしょうか)。

これらのデータベースは日本ではまだあまり話題になっていませんが、ストーンプレイカー氏が主張するように、スケーラビリティのあるOLTP向けデータベースのニーズはこれからエンタープライズ市場で高まってくることでしょうから、いずれ注目される日がくるのではないでしょうか。ただ日本のエンタープライズ市場には、ベンチャーのデータベースが食い込むのはかなり難しそうな感じはしますが……

関連記事

あわせて読みたい

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本