Special
» 2020年06月19日 10時00分 公開

1年半、チューニングの嵐を越えて──「Tポイント」データ分析基盤を開発した男たち、汗と涙の記録

[PR/ITmedia]
PR

 数字の上では、日本人の2人に1人以上が利用している「Tポイント」。CCCマーケティングは、そんなT会員の購買情報などを分析し、クライアント企業のマーケティング、商品開発、店舗運営などをサポートしている。しかし分析業務は年々複雑化・大容量化し、データベースの処理能力不足が健在化していた。

photo 左からCCCマーケティングの松井太郎氏(ITシニアマネージャー)、大賀宏昭氏(データアナリシス企画 データマネジメントユニット ユニットリーダー)

 「今日もデータベースが重いです!」──CCCマーケティングの松井太郎氏(ITシニアマネージャー)のもとには、データアナリストたちから寄せられるデータベースの処理能力に対する不満が日に日に増えていた。

 そこで同社は、データ分析基盤をオンプレミス環境から「Microsoft Azure」に移行。他に類を見ない大規模な会員の分析データを取り扱うシステムだけに、処理能力や耐障害性などミッションクリティカルな要件に加え、使い勝手の高さも要求され、プロジェクトは難航した。開発メンバーはいかにして苦難を乗り越えたのか。

(前編)「Tポイント」7000万人の購買データに挑む──分析を速めた、執念のクラウド導入劇

photo

 「クラウドは必須だ。あえて、反逆者となる道を選んだ」とCCCマーケティングの松井太郎氏(ITシニアマネージャー)は笑う。2015年当時、クラウドに対する理解は社内でも現在ほど進んでいなかったという。品質面とセキュリティの観点からクラウド移行が難航を極めたのは想像に容易い。社内で奔走したプロジェクトメンバーに話を聞いた。


分析業務の完全移行 Modelerとの闘い

 クラウド導入の検討は、2015年にスタート。セキュリティ要件の確認など社内調整を済ませ、2017年6月にプロジェクトが正式に発足した。この段階では、Microsoft Azureの他、他社のパブリッククラウドも同時にPoC(概念実証)を実施し、性能を比較検討していた。最終的にMicrosoft Azureを選んだ理由は(1)Azure Synapse Analytics(当時の名称はAzure SQL Data Warehouse)の処理能力の高さ、(2)従前から使っていた分析ツール『IBM SPSS Modeler』をそのまま使える点──が大きかった。

 クラウド移行前、分析業務の処理は20〜30件程度の多重度でも処理性能は悪化。処理によっては丸一日流れていたこともあった。合計100人ほどのデータアナリストとデータサイエンティストを抱えるCCCマーケティングにとって、あまりにも不十分な環境だった。しかしAzure Synapse Analyticsが稼働する現在は、常時60件近い分析業務が同時実行できているという。

 他社クラウドDWHとの比較ではこの同時実行数が大きなポイントとなった。競合他社の場合は、10程度のタスクを走らせると処理速度が極端に遅くなったという。またユーザー定義関数の同時実行数の制限有無も大きな要素だった。松井氏は「多重実行性を考慮した場合、パフォーマンスの部分で満足できたのは、Azure Synapse Analyticsの方だった」と説明する。

 一方、IBM SPSS Modelerの移行という部分は、チャレンジングな対応を迫られた。この点について、2016年から今回のプロジェクトを支援している日本マイクロソフトの宮原誠治氏(デジタルトランスフォーメーション事業本部 エンタープライズ クラウドアーキテクト技術本部 シニアクラウドソリューションアーキテクト)は次のように振り返る。

 「他社との競合だったこともあり、タフな事案だった。私を含め3人のアーキテクトを投入しPoCのサポートに当たったが、Microsoft Azure採用のキーファクターとなったのは、SPSS Modelerの移行対応だった」

photo CCCマーケティングの松井太郎氏

 CCCマーケティングのデータアナリストたちは、主にSPSS Modelerで分析業務を行っている。数百にも及ぶ処理がテンプレート化されており、クラウドへの移行に際しても「これを使えるようにしないと、高性能のデータベースを導入しても仕事が回らなくなる」(松井氏)という位置付けだった。「他社クラウドDWHでもModelerの移行は自助努力といわれており、データサイエンティストやアナリストが作成した高度かつ複雑な処理の移行を請け負えるベンダーもいなかった。この完全かつ安全な移行をどのようにコミットできるかが最重要だった」という。宮原氏がSPSS Modelerこそがキーファクターだったと述べた理由はここにある。

 しかし当時、SPSS Modelerは、Microsoft側のAzure Synapse Analyticsには製品として正式対応していなかった。宮原氏は「社内で議論を重ね、IBMの代わりにわれわれでSPSS Modelerの正式対応までの製品サポートおよび移行支援を行うことを決めた」と当時の内幕を明かす。そこで、日本マイクロソフト側のサポートチームでもSPSS Modelerを導入し、徹底的に分析。Azure Synapse Analyticsに最適化させるため、さまざまな動作確認を行ったという。

米国のAzure開発チームも協力 1年半のチューニング

 PoCや評価などの工程を経て、Microsoft Azureの採用が決定。2017年12月にはシステム構築を終えたものの、松井氏は「そこからが汗と涙の物語だった」と明かす。結果的にMicrosoft Azureへの完全移行は2018年末までずれ込んだ。構築前の2017年6月から約1年半にわたり、細かいチューニングが続いたためだ。

 前述のように分析ツールとして利用中のSPSS Modelerには、業務で利用している数百にものぼるテンプレートが存在した。Azure Synapse Analytics上で実行すると、オンプレミス時代と比較して、5〜6倍のパフォーマンスを示すものもあれば、逆に処理速度が低下してしまうものも多数存在したというのだ。

 CCCマーケティングの大賀宏昭氏(データアナリシス企画 データマネジメントユニット ユニットリーダー)は「全てのテンプレートをチェックする必要があった。Azure Synapse Analyticsは初めてだったので、変えるべき関数はどれか、残すべき関数は何か、といった判断を迫られ、ノウハウの蓄積もなかったので、日本マイクロソフトのアーキテクトの方々の協力を得ながら人海戦術でのチェックが半年間続いた」と当時の苦労を滲ませながら語る。

photo CCCマーケティングの大賀宏昭氏

 先に、日本マイクロソフトの宮原氏が語ったように「日本マイクロソフトには、SPSS Modelerの検証チームを編成してもらい、互いに情報のやりとりをしながら検証を進めていった」(大賀氏)という。

 地道なチューニングを進めていくうちに、ターニングポイントが訪れた。大賀氏は「データベースのデータの定義とSPSS Modelerが発行するSQL文の定義で、データの型が一致していない部分があり、それゆえにオーバーヘッドが発生し、処理性能が出ないという事象が起きていた。(当初はこの事象に気付いてなかったが)違う部分で生じたエラーについて問い合わせた際、副次的に判明し、データベース側の型を変えるという措置を取ったことで、劇的に性能が改善した」と話す。

 データベースとSPSS Modelerの相性を、日本マイクロソフトと二人三脚で粘り強く検証していく中で、ノウハウがたまり、改善のスピード感も向上していった。

 さらに、日本マイクロソフトのサポートは米国のMicrosoft Azure開発チームも巻き込んでの展開となった。松井氏は「Azure Synapse Analyticsのチューニングに関しては、本国の開発責任者や日本のサポートチームとの間で不定期にコミュニケーションさせてもらい、とても助かった」と目を細める。

 この点について、宮原氏は「クラウドの場合、米国の開発部門との距離が近く、要望やトラブル処理などをスピーディーに進められる。今回のプロジェクトは、日本国内の他のDWH事例とは比較にならない、かなりハードな、ミッションクリティカルな使い方。そのため世界初のトラブルが何件も出たが、本国の開発責任者がCCC様のトラブルに対して、現場のわれわれと協力して積極的に対応してくれた。結果として、CCCの名前は本国の開発部門でも有名になったほどだ」と付け加える。

 松井氏は「インパクトがあるアップデートも度々あった。例えば、当初はクエリを発行するまでの構文解析処理が重かった。これはデータアナリストがModelerで作成するクエリが非常に複雑だということに起因する。実行が始まれば数分で返ってくるが、そもそも構文解析処理が1分間くらいかかっていた。ところが、ある日を境に10秒ほどで返ってくるようになっていた。他にもある日のメンテナンス後、処理が早くなっていることに気づき、実行計画を確認したところ、処理ステップが明らかに減っており、より効率の良い実行計画にアルゴリズムが改善されていた」と振り返る。宮原氏によると、これらも米国のチームが改善したものだという。

 またAzure Synapse Analytics Gen2(Generation2)のリリースもあり、ストレージ層I/Oやコンピュート性能の大幅な性能向上が得られたという。

 このようにチューニング作業が必要だったため、ある日を境に一気にMicrosoft Azureへ移行するというわけにはいかなかったが、2017年6月以降、パフォーマンスが出るものから順次Microsoft Azureに移行。特に大手を担当するデータアナリストなどには個別の勉強会を開催するなど、およそ1年半の歳月を経て2019年には、オンプレミス環境だったデータウェアハウス製品を廃止し、Microsoft Azureに一本化した。

 大賀氏は「(CCCマーケティングの社内で)データアナリストの知識とクラウド構築における知見の両方を理解しているのが私だけだったので、チューニング作業を1年半やり続けたのはかなり大変だった」と苦笑する。日本マイクロソフトと米国の開発チームのサポートに加え、大賀氏のように分析を行う現場(データアナリスト)の事情とシステム開発側の都合をつなぐ存在がいたことが、プロジェクトが成功した要因の1つと言えよう。

データアナリストが業務に注力できる環境を目指して

 オンプレミス時代は、データベースの性能不足からデータアナリストやデータサイエンティストたちから「処理が終わらない」と悲鳴が上がり、「健全な状態ではなかった」と回顧する大賀氏。Microsoft Azureに移行したことで「これまで分析結果が出るのに数時間を要していたものが、数分で結果が出たという喜びの声も上がっている。処理が速すぎて、逆に仕事が増えたと冗談交じりに訴える人もいる」と笑う。

photo Microsoft Azure上に構築したデータ分析基盤の構成図

 データアナリストが積極的に分析に取り組める環境を整えたことで、大賀氏は次のステップも見据える。「これまで社内では(分析作業を)ツールに頼ってきたところもある。これからは機械学習など、新しい取り組みも進めるために、SQLやPythonの知識も必要になるだろう。スキル習得のため、社内では勉強会を開くなど教育にも力を入れている」

 大賀氏は「クライアント企業の課題をデータドリブンによって解決することが、われわれのミッションだ。より効率的にスピーディーに、データアナリストが業務に注力できるよう環境を整備していく」と力を込めた。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:日本マイクロソフト株式会社
アイティメディア営業企画/制作:ITmedia NEWS編集部/掲載内容有効期限:2020年6月25日