米Amazon Web Services(AWS)が2017年4月に一般提供を開始した、ビッグデータ分析の新しいクラウドサービス「Amazon Redshift Spectrum」が注目を集めている。

 正確には従来のデータウエアハウス(DWH)サービス「Amazon Redshift」の拡張機能だが、オブジェクトストレージ「Amazon S3」上のデータに対して直接クエリー処理を実行する、という新しい機構を備える。S3からRedshift内部のストレージにデータを取り込む必要を無くすことで、運用が容易になるうえに、安価に利用でき、データ容量の上限を無くせる、といった利点があるとされる。

 では本当の実力はどうなのか。リクルートテクノロジーズが他社に先駆けて実施した、Amazon Redshift Spectrumの検証結果を基に解説する。

 この本題に入る前に今回は、リクルートテクノロジーズが従来、データ分析基盤として使ってきたAmazon Redshiftのどこに問題を感じていたのかを紹介する。

利用者増でコストや性能が課題に

 リクルートテクノロジーズがRedshift Spectrumの検証に踏み切った経緯の発端は、2年前にさかのぼる。同社は2015年春に、BI(Business Intelligence)ツールを使って構築したグループ内の特定事業向けの営業支援ツールを、プライベートクラウドからAWSに移行した。従来、DWHはオンプレミス(自社所有)環境に設置したアプライアンス製品を使っていた。AWSへの移行に際し、DWHサービスのAmazon Redshiftを採用した。

 リクルートテクノロジーズのビッグデータ部データマネジメントグループでグループマネジャーを務める本村聡氏は、BIツールについて「当時から営業企画など200人の利用者が、業績を把握したり週次レポートを作成したりするのに活用していた」と話す。AWSへの移行により「システム全体で約4割のコストを削減できた」(同氏)と振り返る。

左からリクルートテクノロジーズ ビッグデータ部 データマネジメントグループの本村聡グループマネジャーと、金融データプラットフォームグループの河野愛樹氏
左からリクルートテクノロジーズ ビッグデータ部 データマネジメントグループの本村聡グループマネジャーと、金融データプラットフォームグループの河野愛樹氏
[画像のクリックで拡大表示]

 その後、利用対象者を増やすに従い、大きく二つの課題が生まれた。一つはデータ量の増大に伴うコスト増だ。Redshiftは複数のノードによる分散処理によって、大量のデータを高速に処理する。Redshiftのアーキテクチャーでは、クライアントのアプリケーションとのやり取りやSQLの解析などを担うLeader Nodeと、Leader Nodeから送られるタスクを処理する複数のCompute Nodeでクラスターを構成する。

Amazon Redshiftの構成
Amazon Redshiftの構成
[画像のクリックで拡大表示]

 Compute Nodeのノードタイプを変えたり、ノード数を増やしたりすることで、性能やストレージ容量を増強できる。分散処理では、ノードのメモリーとストレージ容量の一部をセットにして割り当てた「スライス」と呼ばれる単位に分割して実行する。

Redshiftのノードタイプとスペック
Redshiftのノードタイプとスペック
[画像のクリックで拡大表示]

 Redshiftではノードタイプごとにノード数やストレージ容量の上限があるが、単一ノードの容量が16TBと最大である「ds2.8xlarge」を使うと128ノード、2PBまで増やすことができる。ただ、「コストが掛かり過ぎる。ストレージ容量だけ増やしたいのに、それに比例して処理性能も上げざるを得ず、バランスが悪い」とリクルートテクノロジーズ 金融データプラットフォームグループの河野愛樹氏は指摘する。