「データ管理基盤の会社からデータ分析基盤の会社になった。米Teradataは、数年前に戦略を変えた。2017年10月からは、データベースにデータ分析エンジンを統合したブランドとしてTeradata Analytics Platformをうたっている」。
米TeradataでCTO(最高技術責任者)を務めるStephen A.Brobst氏
米Teradataは、DWH(データウエアハウス)用途に向いたデータベース管理システム(DBMS)として、「Teradata Database」を提供してきたベンダーだ。ここ数年は、データの管理に加えて、データの分析機能に注力してきた。DBMSにデータ分析エンジンを組み合わせて提供している。
データ分析機能への注力は、米Teradataの戦略の変化を受けたもの。SQLで構造化データを管理するだけでなく、機械学習ライブラリによるデータ分析なども取り込む。直近の2018年5月には、時系列の変化を考慮した分析ができる“4次元分析”機能を取り入れた。
日本市場でも新ブランドを浸透させる。2018年5月23日に東京で開催したプライベートイベント「Teradata Universe Tokyo 2018」の場で、Teradata Analytics Platformのブランド名を発表した。
SQLのデータ管理とNoSQLのデータ分析を統合したNewSQL
「SQLをベースにNoSQLの要素を取り入れた。これを“NewSQL”と呼んでいる」。米TeradataでCTO(最高技術責任者)を務めるStephen A.Brobst氏は、米Teradataがデータ分析機能を取り込む姿勢を、こう表現する。
「以前は、SQL派とNoSQL派との間で戦いがあった。互いに自分たちが優れているとして争っていた。SQL派とNoSQL派は、どちらも正しくて、どちらも間違っている。米Teradataは、SQLとNoSQLのいいとこ取りをした」(Brobst氏)
実際の取り組みとして、DBMSの周りに、データ分析の仕組みを構築した。R、Ruby、Python、Perlなどの言語も取り入れた。金融商品の属性を理解したり、ウェブログを分析したりする用途に向けて半構造型のデータを扱えるように、JSONやKVSオブジェクトなどのデータ形式もネイティブで取り込んだ。
機械学習など各種のデータ分析エンジンを取り込める
Teradata Analytics Platformでは、ソフトウエアとして実装したコプロセッサ(データ分析エンジン)が、DBMSエンジンと共存している。DBMSを中心に、データ分析エンジンをAPIベースで自由に組み合わせて使えるようにしている。
ある特定のデータ分析エンジンにロックインされないことも重視した。「AI(人工知能)のデータ分析は急速に進化している。陳腐化する可能性がある」(Brobst氏)からだ。Teradata Analytics Platformは、新しい技術やアルゴリズムが出てきた時に、これをプラグインして使い始められる。
利用できるデータ分析エンジンの例に、米Teradataが買収した米Aster Data Systemsの機械学習ライブラリがある。グラフ分析のエンジンも新たに開発した。金融業における資金洗浄の検知や、レコメンデーションなどに利用できる。
オープンソース(OSS)のデータ分析エンジンも積極的に組み込む。例えば、データを高速に分散処理する基盤ソフトのApache Sparkを搭載した。米Googleが提供している機械学習ライブラリのTensorFlowも取り込む予定だ。「優秀なエンジンが出てきたら、どんどん取り込んでいく」(Brobst氏)
分析対象のデータを、データ分析エンジンへと適切に配備する
Teradata Analytics Platformは、単にDBMSとデータ分析エンジンを組み合わせただけの製品ではない。「オーケストレーション機能、すなわち、データが必要な時に必要なところに置かれるようにする機能を持つ」とBrobst氏は説明する。
データを分析する際には、DBMSやHadoop、Amazon S3などからデータを取ってきて、分析エンジンに渡す。Teradata Analytics Platformのオーケストレーション機能を使えば、データを重複させることなく取ってこられる。「データ分析エンジンとデータとの統制を図っている」(Brobst氏)
かつては、データ分析者が自ら、Teradata Databaseなどからデータを取り出し、Hadoopなどのデータ分析エンジンに入れて処理し、またDBMSに戻すといった作業をやっていた。「時間もかかるし、データも重複してしまう。こうした問題を解消した」(Brobst氏)
データ分析エンジンとデータの統制を図ることのメリットは、複数のジャンルの分析を効率かつ効果的に行えること。例えば、同じデータを使って、浅層学習と深層学習といった異なるエンジンで分析する、といった統制ができる。
実際に、最先端のユーザーは、複数のアルゴリズムを使って深層学習や浅層学習などを使い分けている。例えば、個人に的を絞ったレコメンドに深層学習を活用し、広く一般的なレコメンドには従来型の手法を使う。