分析基盤の成長フェーズに応じた課題に適宜対処する
次に小林氏は、データ分析基盤の成長曲線に応じて3つのフェーズに分け、フェーズごとの課題にどう対応するかを説明した。最初のフェーズは、データ分析基盤がない状態から立ち上げる『0→1フェーズ』。続いて、立ち上げたデータ分析基盤が組織で使われ始める『1→10フェーズ』、さらに分析基盤が全社規模で多くの人に使われ拡張する『10→100フェーズ』がある。
では、実際にprimeNumberで3つのフェーズがどのように進んだのか。0→1フェーズでは、6つ程のテーブル数でミニマムな分析要件から始めた。なお、このフェーズは早期に終了し、直ちに1→10フェーズが訪れることになる。0→1フェーズが成功すると、こうした分析がしたい、このデータを使いたいなどの新たな要望が増えるからだ。
実際に1→10フェーズでは、テーブル数が900となりデータを集めるETLの本数も300程になっている。この規模ではすべてのテーブルを把握しきれず、ETLジョブも手作業では実行できない。そして10→100フェーズもすぐに訪れる。「指数関数的にテーブル数やETL数は増え、そのため1→10フェーズではそれに対応する準備をしなければなりません」と小林氏は説明する。
また、10→100フェーズではデータ品質や民主化について考える。数千ものテーブルがあれば欠損データや品質の低いテーブルが散見されるためだ。もし、それらをそのまま意思決定に利用すれば、間違った判断を下しかねない。間違った意思決定を防ぐためには、データ品質を担保して多くの人がデータを使えるように適切に“民主化”することが求められる。
こうした課題への対応策として0→1フェーズでは、データソースにAPI接続でデータを取得して統合化するという一連のフローを自動化。さらに、分析用データベースを用意してデータを蓄積することでユーザーがアクセスできるようにする。その上で、より分析基盤を活用、共有するためにデータの可視化にも取り組む。
また、データの統合ではETLツールを適用できるという。これはデータをソースから取ってきて、統合する手段をツール化したもので、OSSやSaaSなどさまざまなものがある。ちなみに、小林氏が所属するprimeNumberが提供している『trocco』は、ETLツールとしても利用できるクラウドサービスだ。
分析用のデータベースには、クラウド型のデータウェアハウスを小林氏は薦める。クラウドには分析用途に特化したものがあり、安価で高速な分析ができるからだ。その上で迅速に立ち上げられ、このフェーズで優先されるスピードの要求にも応えやすく、後のフェーズで求められる拡張性も備えている。
加えて、もう1つ必要な技術スタックが、BIツールだ。これはデータを可視化することに特化したダッシュボードツールであり、グラフ表示やデータウェアハウスへの接続機能などが提供される。
続いて1→10フェーズでは、徐々に複雑化してきた分析基盤をベストプラクティスに沿いながら効率的に管理して自動化を目指す。primeNumberでは、300に近いETLジョブを自動化してCI/CDの継続的なインテグレーション、デリバリーができる仕組みが必要になったという。「まさにソフトウェアエンジニアリングのベストプラクティスを用いて解決すべき課題です」と小林氏。定期実行されるETLやSQLジョブ管理を効率化し、肥大化してきたデータウェアハウスのテーブルを整理して品質を改善する。さらに、蓄積されているデータをビジネス現場に返す必要もあり、これは重要なポイントだと指摘する。
これらを解決するための技術スタックには、多くのジョブを効率的に自動化するワークフローツールを薦める。ジョブの順番を管理し、エラーがあった際のリトライなどのフローを簡単に構築できるなど、分析基盤を作る際には必須のツールだ。また、データモデリングツールも必要だ。これには、データモデリングの設計とそれをどのように実装するか、2つの観点を考える必要がある。数が増えたテーブルをどのようにまとめて整理するか設計し、それを実現するためのツールを選定することになる。
さらに、ビジネス現場に価値を返すためには「リバースETLという概念があります」と小林氏。これを使えば、分析基盤で分析した結果を、たとえばCRMツールや広告配信プラットフォームに戻すことで、レコメンデーションやターゲティング広告の配信などに応用できる。
10→100のフェーズでは、ユーザーが増加する中で、データの品質の担保と民主化に対処しなければならない。欲しいデータはどこにあるのか、データを使おうとした際にどのようなことに注意しなければいけないのか、それらがわかるようにする。誤ったデータが存在していないか、データ分析基盤上のデータをモニタリングして確認。データ分析基盤をどう利用するかの利用方法を明確にし、それをユーザーに浸透させる必要もある。
また、データを効率的に探し意味を理解するためには、データカタログが有効だ。データカタログではデータの意味などを蓄積し、溜まったデータの意味を分析の際に参照することで該当データを理解できるようにする。さらに、データ品質の改善には、データ品質モニタリング機能があり、ETLなどのデータ処理のジョブや溜まったデータそのものに対してテストケースを記述できる。たとえば、値がこの範囲に収まっていなければいけないなどと定義しモニタリングすることで、データ分析基盤全体の品質を管理していく。なお、データ分析基盤の利用方法を明文化し明確にするためには、ドキュメンテーションツールを使った方法が一般的だ。
小林氏は「troccoでは、近々データ品質モニタリング機能をリリース予定です。まさに、データマネジメント全般を包括するサービスに成長しています」と述べる。
各フェーズの課題をクイックに解消し、健全なデータ分析基盤を拡張していくために
本人確認サービス事業を展開するTRUSTDOCKでは、データ分析基盤の構築スピードを最大化するために、SaaS型ETLツールとしてtroccoを採用した。
また、atama plusでは、データ分析基盤は持っていたが利用度が低く、ユーザーがそれぞれアドホックにデータを取得して分析を行っていたという。分析の際にデータがどこにあるかがわからず、データの定義もはっきりしない。データ管理者に都度尋ねるなど手間も工数もかかっていた。
そこで、データ分析基盤の民主化を目指してtroccoを採用。データカタログを整備した結果、データ分析基盤の利用者数が5倍に爆増した事例もあると小林氏は自信を見せる。
最後に小林氏は、攻めのデータ活用と守りのデータマネジメントを同時にやる必要があり、データマネジメントは専門性が高い領域で成長フェーズに応じて課題が異なり、適宜対処する必要があると改めて指摘する。そしてデータマネジメントの課題に対処するための技術スタックにはさまざまなものがあり、自分たちでそれらを選んで仕組みを作り上げることは簡単ではない。このとき、データマネジメントを総合的に支援するtroccoがあることを憶えておいて欲しいと言うのだった。
troccoならETL/ELTを簡単に実現! 無料ですぐ使えるフリープランも開始
料金プランはこちら。お支払い情報不要で、すぐにtroccoをご利用いただけるフリープランもございます。ご相談も随時承っておりますので、お気軽にお問合せください。