“Watson”はどんなDBで動いている?/PostgreSQL 9.4が正式リリースに:Database Watch(2015年1月版)(2/2 ページ)
学習し、判断する人工知能「Watson」。これを動かすために使われるデータベース関連技術をウォッチする。MongoDB対抗も可能な実装を盛り込んだPostgreSQL 9.4と今後の動向も追った。
PaaS「Bluemix」での試用やソーシャルデータソース取得の工夫
なおこれまで示した製品は、既にIBMのPaaS型開発環境であるBluemixでも利用可能です。まずはWatsonについて見ていきましょう。概念拡大や言語認識などWatsonの思考能力を構成する機能がパーツとして並んでいます(現時点ではまだ全てβ版)。Bluemixでは、2014年12月からdashDBも月額50ドルで提供しています。
ここで、IBMの分析環境と関連したニュースにも触れておかなくてはなりません。IBMでは2014年秋に「Twitter」との連携を発表しました。Twitteとの連携機能の一つはIBMのクラウドサービス上でTwitterデータが利用できるというものです。具体的にはWatson Analyticsの他、「Watson Developer Cloud」やBluemixでTwitterのデータが利用できます。
Twitterのデータは、API経由で誰でも入手できるものの、一度に読む込めるデータ量に制限があるため、取り込むのにそれなりに手間が掛かります。これが、IBMのクラウドサービスを経由することで、個々のアプリケーションでTwitterデータを取り込む、という手間がなくなります。
IBMとTwitterの提携ではデータ提供だけにとどまりません。将来的にはTwitterデータをビジネスの意思決定に生かすためのアプリケーションやソリューションの提供が構想として挙げられています。
将来、IBMが示すデータ分析環境が実現すれば、あらゆるシステムが有機的につながり、人間と対話できるようになってきます。人間がコンピューターに日常会話で問い掛けるSFのような未来図がいよいよ現実のものとなってきそうです。日本語への対応が待ち遠しいですね。
PostgreSQL 9.4とその先に搭載される機能は
2014年12月18日、PostgreSQLグローバル開発グループはPostgreSQL 9.4を正式発表しました。その少し前に日本で開催された「PostgreSQL Conference」において、PostgreSQL 9.4の概要を解説したミカエル・パキエ氏にPostgreSQL 9.4およびその先について聞きました。
パキエ氏はヴイエムウェアでPostgreSQLのテクニカルスタッフをしているフランス人エンジニアです。前職ではPostgres-XCの開発に携わっており、現在は本業に関わる技術情報交換だけではなく、PostgreSQLコミュニティと深く関わっています。次期バージョンであるPostgreSQL 9.5で採用される見込みの新機能にはパキエ氏が提供したパッチも含まれているそうです。
PostgreSQL開発コミュニティのリリーススケジュールの通例として、春ごろに新機能をフリーズしてからβ版をリリース、検証を経て秋ごろには新バージョンを正式発表しています。ところが2014年は新バージョン(9.4)発表が12月にずれ込んでしまいました。理由は、PostgreSQL 9.4で目玉実装である、新データ形式JSONB(バイナリJSON)の完成度を高めるための調整が必要だったことにあります。具体的には、当初の実装ではJSONBを扱う際のデータ圧縮効率が期待よりもパフォーマンスが出なかったことが原因でした。この圧縮効率を調整するためには、ディスク上のフォーマットを変更する、という重い手直しが生じたものの、最終的には2014年12月に正式版提供へと到達しました。
前述のように、PostgreSQL 9.4では新しいデータ型としてJSONBを追加、GINインデックスの性能も改善されています。この二つの実装により、ドキュメント指向のNoSQLデータベースと同様の機能を、より高速に実現できると期待されています。GINインデックスのデータサイズ縮小に関しては、コミュニティには、GINインデックスを多用していたユーザーから「9.3から9.4にしたらデータベースのサイズが半分になった」という報告もあったそうです。GINインデックスを多く用意しているユーザーにとっては、バージョンアップするだけで、データベースサイズを縮小できる可能性が高いでしょう。
思い起こせば2010年にPostgreSQL 9.0が発表されたとき、PostgreSQLコミッターの一人が、まだ出てきたばかりのNoSQLにいち早く目を付けて、将来的にはNoSQL的な機能も盛り込むという構想を表明していました。9.0当時の構想がいよいよ本格的に実現したという印象があります。
他にも9.4では、レプリケーション機能の向上、アップデートが可能なマテリアライズドビューの高速化など性能向上が図られています。
さて、まだまだ機能フリーズ前なので気が早いですが次の9.5では、どのような計画があるのでしょうか? コミュニティでは既に多くの議論が行われています。
パキエ氏によると、現段階で有望な新機能として、「BRIN(Block Range INdex)」「WAL圧縮」「UPSERT」「列レベルセキュリティ」が挙げられるそうです。
BRINは巨大なテーブルに速くアクセスするための方法で、シーケンシャルスキャンとインデックススキャンの中間のような性質を持っています。WAL圧縮はその名の通り、WALを圧縮したもので、使用状況次第ではボトルネックを解決し、性能を高めることに寄与すると期待されています。パキエ氏もパッチ提供という形で協力しています。
他には、9.5よりも先の話となりそうですが、パーティショニングやパラレルスキャン関連の機能が話題になっているそうです。
パーティショニングについては、もともと数年前に機能改善に着手する動きがありつつも、しばらく停滞していました。パキエ氏によると、最近この機能改善の取り組みに復活の動きが見られるとのこと。本格的に実装の見直しが実現すれば、PostgreSQLとしては大きな転換点ともなるかもしれません。パラレルスキャンは複数プロセスで並列にスキャンを行うもので、処理性を高められることから企業ユーザーからの要望が高い機能の一つになっています。
PostgreSQLのよいところとして、パキエ氏は「クラッシュしないところです。だってデータベースって“データ”の“ベース”でしょ?」と言い、性能や拡張性を維持しつつも、データを確実に保護できる点を評価していました。確かに、その通りですね。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「夢の人工知能」ではない:Watson Analyticsのテーマは、データ分析という作業をなくすこと
IBMが2014年12月18日に提供開始したデータ分析クラウドサービス「IBM Watson Analytics」。人工知能がデータ分析に基づき、ビジネスの問題に正しい答えを出してくれるというイメージを抱くのなら、それは誤りだ。このサービスの価値は、ビジネスの現場にいる人たちが、事実上データ分析作業をしなくても、データから知見を得られることを目指している点にある - Bluemixでの提供も視野に:IBMがWatsonエンジンをサービス化、間もなくベータテスト版提供へ
IBMが長年研究してきた人工知能「Watson」の技術を投入し、機械学習、予測分析機能と自然言語解析を組み合わせたサービスがスタートする。数週間以内にベータテストプログラムをスタートする予定だという。