次はデータベースを扱っていると避けては通れないSQLについてです。SQLは国際標準として規格定められています。厳密にいえば、SQLは制定年ごとにいくつかの規格があり、どこまで対応しているのかは製品によって分かれています*。
* 例えばPostgreSQLのバージョン9.2では、SQL2008のほとんどの機能に対応しています。
今回はSQL標準に詳しい東京外国語大学 アジア・アフリカ言語文化研究所 教授 芝野耕司氏に標準制定の舞台裏や将来について聞きました。
「いまはデータベース製品もけっこう減ってしまってね……」と少し寂しそうに話す芝野先生。長い歴史で見るとSQL標準とRDBMS製品には栄枯盛衰の波があるようです。
SQL標準を遡ると、その起源はIBMにあります。IBMの社内標準から始まったものが、ANSIやISOにより国際標準として規格化され、追ってJIS規格にもなりました。最初の規約は1987年にISOで定められたもので、以降、数年おきに拡張を続けながら新たな規格が制定されています。代表的なものにはSQL92やSQL99が挙げられますが、これ以降にもSQL2003、SQL2008、最も新しいものにはSQL2011があります*。
* SQL規格の表記は文献によりゆれがありますが、今回は「SQL(制定年)」としています。
実際の制定作業は年に数回、関係者が一堂に集って行われます。最盛期であった1995年ごろは、朝から晩まで2週間ほど、作業にかかりっきりだったとか。芝野先生含め、関係者は段ボールに山と積まれた書類に囲まれながら審議していたそうです。
芝野先生によると、最初に標準が制定された後はまさに「雨後の竹の子のように」データベース製品が出てきたのだそう。昔から見るといまは寡占化が進み、私たちが目にする製品群に落ちついたところのようです。
技術を国際標準として制定することについて、芝野先生は「意義がある」と話していました。
SQLに限らず、標準化することで、規格に準拠した製品化が進み、競争が生まれ、結果的に良い製品が生まれるからです。SQLで考えると、同じSQL構文ならどの製品でも同じ結果が返ってくるのであれば、ベンダ各社は応答の速さや使い勝手などで工夫を凝らすようになります。規格として定められたからこそ製品が洗練され、技術が長く生きながらえてきたのかもしれません。
現状はどうでしょうか。近年ではSQL標準制定の動きはかつてほど盛んではありません。技術として安定したことの裏返しでしょうか。現在、標準策定に積極的に関わっているのは、アメリカ、ドイツ、日本に絞られてきているそうです。しかし、まだ標準化制定の活動は終わっていません。次の規格は2016年をターゲットに活動が続けられています。
直近のSQL2011から間もないので、SQL2016については議論がスタートしたばかりではあるものの、ワーキンググループ内ではNoSQLやビッグデータといった昨今のトレンドにも目が向いているようです。NoSQLがSQL標準に何らかのヒントを与えることがあるかもしれません。
また日本の関係者の間からはSQL標準にセキュリティ関連の機能を盛り込みたいとの意向があるそうです。セキュリティに関してはRDBMS製品内の独自の機能やセキュリティ専用の別製品が担っていることが多いのが実情です。芝野先生は「DBMSのカーネルでしかできないこともあるはず」と話していました。まだ、次期SQL標準に提案されるか未定のようですが、期待しておきたいところですね。
「枯れた」技術の舞台裏では最新の動向も踏まえつつ、地道に進化を遂げようとする努力が続けられていました。
Copyright © ITmedia, Inc. All Rights Reserved.