今回は、次期標準となるSQL2016に盛り込まれる新機能の中でも、土田氏と小寺氏が注目してほしいとする新機能を三つピックアップします。先行して導入されている製品も既にあるのは前述の通りですが、標準として定まれば、他のRDB製品にも盛り込まれる可能性が高まります。RDB製品と需要の将来を見る上でもSQL標準の動向は参考になると思います。
「Row pattern recognition」は、データ分析のための機能です。日本語での機能名は未定ですが、「行間パターン認識」といった表記になる見込みです。
株価チャートを思い浮かべてみてください。株価の値が上下しながら時系列で表され、投資家やファンドマネージャーはこの動きを投資判断材料の一つにします。土田氏によると、「投資家やファンドマネージャーは、市場の価格変動には一定の秩序が存在するとされる“エリオット波動論”による相場分析法も参考にするそうです。例えば、この理論を基にRow pattern recognitionで分析し、方向性や転換点を予測するのに活用します」とのことです。
株価分析の他に、アクセスログの傾向から不正アクセスを予測検知したり、口座の動きからマネーロンダリングの予兆があるかどうかを監視するといった、予測分析での活用シーンもあります。
もちろん、実業務では現場の深いノウハウを組み合わせる必要はあります。「こういうパターンは、不穏な動きである(可能性がある)という情報を膨大なデータから発見するのに役立てようというわけです」(土田氏)
以下が仕様のサンプルです。データが前の値より下降しているパターンか、上昇しているパターンかをRow pattern recognitionで見分けます。
「JSON(JavaScript Object Notation)」は、データ交換でよく使われるデータ形式の一種です。JavaScriptの表記方法をベースとしますが、JavaScriptとは独立した構造化テキストフォーマットです。XMLに比べて軽量で簡潔であり、可読性が高い特徴があります。
「SQL2016では、SQLから直接JSON形式のデータにアクセスできるようになります」(土田氏)。
こちらは、テーブルにJSON型のデータ形式を格納できるようになるという意味ではなく、少し紛らわしいかもしれません。ただ、近年ではPostgreSQLや「MySQL」などオープンソースのRDBではJSON対応が進んでいます。いずれもJSON型というデータ型を保持できるようになりました。SQLからJSONデータに直接アクセスするのと、JSONデータをテーブルに持つのは少し違います。現時点ではSQL2016にJSON型が追加されることはないようですが、需要の高まりに応じて、今後どうなるかを注視したいところです。
「Polymorphic table functions」は、新しい表関数です。関数の入出力形式として表(テーブル)で指定できるようになります。一見すると「表を操作するのがSQLなのに、出力形式が表とは、どういうこと?」と思うかもしれません。
こちらは、ビッグデータ分析需要の高まりが背景にあります。昨今、RDBが関与するシステムで扱うべきデータソースが急速に多様化しています。例えば、単純なCSVファイルに始まり、Hadoop、NoSQLなど、外部のデータソースおよび処理系も扱うようになりました。
Polymorphic table functionsは、SQLから外部のデータソースにアクセスして、それを表形式で出力できる機能と言えます。これまでも外部データソースをRDBに取り込む方法はいろいろとありましたが、この仕様が“SQL標準”として制定されるということになります。
この他にもSQL2016には間に合わなかったものの、今後盛り込まれそうな機能もあります。土田氏は、例えば「KVS(キーバリューストア)的なデータや科学技術演算処理向けの多次元配列への対応」などを示してくれました。こちらは別の機会に取り上げたいと思います。
RDBの基本であり、年々進化を続けるSQL。本連載では、SQL2016の最新情報とともに、今後もSQL標準を深追いしていきます。
Copyright © ITmedia, Inc. All Rights Reserved.