ビッグデータやAI、IoTをはじめとする技術の進化により、企業は膨大なデータをリアルタイムで収集・分析することが可能になった。ビジネス競争を勝ち抜いていくために、データ分析はもはや必須と言って過言ではない。そこで必要になるのが、データ分析基盤だ。だが実際、どのように構築すればよいのだろうか。
今回、IT企業、金融企業、エンタメ企業と多業界でデータマネジメントを推進する吉村武氏に、データ分析基盤の基本概念から、構築のポイントに至るまで、分かりやすく解説していただいた。
そもそもデータ分析基盤とは何か
年々ビジネスで扱われるデータ量は増えているが、業務系システムのデータベースではその分析処理に時間がかかりすぎる。――そうした課題を解決するものとしてDWH(Date Warehouse)というデータ分析基盤の概念が登場したのが1990年ごろのことだ。その後、技術の進化に伴って商用DWH製品が次々に登場したことにより、それまでは難しかった企業のデータ活用が一気に現実味を帯びた。昨今では、社内のデータを全て集約して横断的に分析するために「業務系システムのデータベースとは別に、データ分析基盤が構築されることが多い」(吉村氏)という。
データ分析基盤の最大の特長は、やはりビッグデータを扱えることだ。企業が保有する膨大なデータを収集し、一元的に蓄積・加工・管理することでよりビジネスに有益な分析を可能にする。業務系システムの目的がビジネスのワークフローをシステム化することによる効率化や顧客満足度の向上であるのに対し、データ分析基盤の目的はデータの活用によってビジネスを発展させることにある。
こうした違いから、業務系システムには正確性とレスポンスの速さが求められるが、データ分析基盤で重視されるのは「大量のデータをいかに素早く処理できるか」という部分になる。
「業務系システムの処理ではユーザーを3秒も待たせたらアウトですが、データ分析はそこまでシビアではありません。リアルタイム性は求められませんが、その分、一度に処理しなければならないデータ量が非常に多くなります。業務系システムのデータベースで大量のデータをさばくにはチューニングの手間と時間がかかりますが、データ分析基盤の多くはもともとペタバイトクラスのデータ処理を行う前提で設計されているのでその心配はありません」(吉村氏)
データ分析基盤の構成と分析までの基本プロセス
データ分析基盤は、「データレイク層」「データウェアハウス層」「データマート層」の三層で構成される。データ分析の工程は大きく「データ収集」「加工」「可視化」の3つに分けられるが、各工程に関連するデータがそれぞれの層に格納されることになる。
データを分析するには、当然ながらまずデータを収集しなければならない。社内では生産管理システムや在庫管理システム、販売管理システムなどさまざまなシステムにデータが格納されているうえ、最近ではIoT機器によって収集されるデータや、音声・動画データなどが必要になることも少なくない。各業務部門で管理するExcelファイルなどが対象になることもあるだろう。
ここで課題となるのが、データ形式もオーナーもそれぞれ異なることだ。これらを集めようとした場合、例えばAWS上にデータがあるならば少なからずAWSの知識が必要になり、特定の商用DBならばそのDBの知識が必要……といった具合で、一つ一つ仕様を学び、対応していくのは難しい。
こうした課題を解決するのが、データのExtract(抽出)、Transform(変換)、Load(格納)を行うETL(Extract/Transform/Load)ツールだ。ツールによって抽出(Extract)、Load(格納)できるシステムやデータ形式が異なるため自社に合うものを探す必要はあるが、個別にプログラムを作成・メンテナンスしていくのは非常に手間がかかるため「データ基盤の構築でデータを収集する際は、ETLツールの利用を前提にするのがよい」(吉村氏)という。
データレイク層
さまざまなデータソースから抽出(Extract)された未加工のデータは、データレイク層に格納される。データを大量に置いておける“データ置き場”のようなイメージだ。データレイク層には、テキストデータだけではなく、音声や画像、動画など、電子データならば何でも格納することができる。
データウェアハウス層
次にこのデータレイク層から欲しいデータを取り出し、適切な形式に変換(Transform)してデータウェアハウス層に格納(Load)する。例えば、同じテキストデータでも「.txt」や「.csv」、「.xml」など異なる形式のデータが存在し得る。これらのフォーマットをそろえ、テーブル構造にして格納するわけだ。
以上が基本的なデータ収集から格納までのプロセスだが、「最近データ加工業界では(ETLではなく)ELTのほうが良いのでは、という説が流行っている」(吉村氏)という。ELTでは、データレイク層からデータウェア層にそのままデータをコピー(格納)した上で、データレイク層で変換を行う。この場合、データウェアハウス層への書き出し速度は非常に速くなる反面、データウェアハウス層の処理負荷が高くなる。そのため、かなり大規模なデータを扱うケースや、データウェアハウス層にクラウドベースのDWHサービスを利用するケースには有効だとされている。
データマート層
ETL/ELTのいずれにせよ、データウェアハウス層に格納されたデータからさらに分析に必要なデータに絞り込み、格納する先がデータマート層だ。
「データマート層はデータウェアハウス層のデータを分析に必要な単位に集計して保存しておく層です。例えば売上データなら、事業部別に集計してからデータマート層に保存しよう、みたいな集計をしてデータマートを作成します」(吉村氏)
分析するユーザーは、このデータマート層にBIツールなどでアクセスし、必要に応じてさらに絞り込んだデータを可視化していくわけだ。
誰がデータ分析基盤を構築するのか – アナリティクスエンジニアという職種
一般に、データ分析基盤を構築するのはデータエンジニアの役割だが、データ分析を行うのはデータアナリストである(『データマネジメント組織はどう在るべきか、欠かせない3つの役割とは』参照)。分析と密に関わるデータマート層をどちらが構築するかは企業によって異なるが、データマート層を構築するにはシステムの知識が必要なため、データアナリストには難しい。とはいえ、データエンジニアはスキル的には構築できても、どういう観点で集計しておいたら分析に使いやすいのかという“軸”が分からない。
そこでここ2~3年流行っているのが、「アナリティクスエンジニア」という職種だという。
「アナリティクスエンジニアはデータマート層をつくる専門家です。データエンジニアとシステムアナリストを兼ね、データウェアハウス層までデータエンジニアがつくり、データマート層はアナリティクスエンジニアがつくってデータアナリストに渡します」(吉村氏)
データ分析基盤ツールの選定方法
データ分析基盤ツールを選定する際、まずオンプレミスにするか、クラウドベースにするかを考えることになる。最大の違いは、データを保管する場所だ。クラウドベースではデータを社外に置くことになるため、セキュアな環境を担保しなければならないといったセキュリティ要件を満たせずオンプレミスを選択する、というのが定説であった。だが昨今、それも変わりつつある。
「5~10年前は、クラウドではデータが社外に保管されることをリスクと考える企業が多かったのですが、最近はクラウドでも、クラウドベンダーが専用線を用意したり、クラウド側に各企業専用のデータ保管場所を用意したりすることができるようになってきました」(吉村氏)
これにより、クラウドでもオンプレミスと大差なく安全性が確保できるという認識が広がり、「最近では金融のような”守り”が堅い企業も、最初の選択肢はクラウドというケースが多い」(吉村氏)という。
また近年、法人向けクラウドストレージの料金も非常に安価な傾向にある。オンプレミスではデータが増えるほど高価なハードディスクの増設が必要になるが、クラウドなら1ギガあたり2~3円ほどでデータを保持できることも、クラウド選択への後押しとなっているのだろう。
なお、分析に関しては「何らかのBIツールが利用されることもあるが、Jupyter Notebookが利用されることも多い」(吉村氏)という。Jupyter Notebookはブラウザ上で動作するオープンソースの対話型プログラム実行環境だ。「ノートブック」と呼ばれるファイルに、PythonやRなどでプログラムを記述して利用するもので、データ分析を行う際に広く使われている。
「クライアント側でもサーバ側でも実行できますが、マシンスペックが気になるようであれば、クラウド側での実行をオススメします」(吉村氏)
主なDWHサービス4種
クラウドベースの主なDWHサービスとして吉村氏が挙げたのが、Google CloudのBigQuery、Amazon Redshift、Snowflake、Databricksの4種だ。
マルチクラウド対応のBigQueryは、処理データ量に応じて自動的にスケーリングするため、コストの最適化を図れるメリットがある。それに対し、AWSに統合されたAmazon Redshiftは、コンピューティングリソースの調整を管理者が行わなければならず、煩わしいことは否めない。そこで脚光を浴びたのが、BigQueryと同じくコンピューティングリソースを自動調整してくれるSnowflakeだ。AWS上で動作する”マネージドな”(自動的に管理してくれる)DWHサービスを求めた企業が、BigQuery派とSnowflake派に分かれたとも言える。同様に、特にAzureにおけるマネージドなDWHとして利用されているのがDatabricks(Azure Databricks)である。
「Databricksだけは自らを『データレイクハウス』だと称しているので、ほかのDWHサービスとは少し違うのかもしれません。データレイクハウスでは、フォーマットを統一していない状態で集計処理を実行できる、というのが特長です」(吉村氏)
今や、ほとんどの企業が業務システムでもクラウドを使っているはずだ。利用するDWHサービスは、それらとの連携も考えて選択するとよいだろう。
データ分析基盤を構築する際のポイント
データ分析基盤を構築する際、安定した環境を作らなければならないのは大前提となる。その上で、まず留意すべきはあまり運用負荷がかからないようにすることである。例えば、データレイク層からデータマート層に至るまでの一連の処理の途中で失敗したときに簡単に復旧できるよう、最初から処理をやり直さなければいけないようなつくりにしないことが重要だ。
「処理自体もあまり作り込まないほうがよいです。ETLツールも汎用的なものがあるので、あるものをうまく使って車輪の再発明をしないようにしましょう」(吉村氏)
また、データ出力をリアルタイムや日次・週次など、どのスパンで行うかの基準は、集めたデータをそのタイミングで使う必要があるかどうかだ。コストをかけてリアルタイムで集めたとしても、すぐにアクションを行わないのであれば意味がない。週に一度の会議ででしか確認しないのであれば、週次のデータ出力でよいだろう。同氏曰く、クラウドサービスはデータ量よりも集計・加工処理でコストがかかるケースが多いことにも気を付ける必要があるという。
「データ保持は安価でも、データに集計処理を走らせるとその数だけ課金されるため処理を多くすると高額になります。リアルタイムのストリーミングデータだと、常に処理を行うので当然高くなります」(吉村氏)
* * *
企業において、蓄積されたデータは大きな資産である。今後のビジネスを有利に展開していくためにそのデータの活用が必須であることは言うまでもない。では、どうすれば社内に散在するデータを活用できるのか。その要となるのが、データ分析基盤だ。今回、吉村氏にその基本から構築のポイントまで、昨今のトレンドも交えて解説していただいた。本稿の内容を参考に、自社にとって最適なデータ分析基盤を構築していっていただきたい。
データドリブン関連の注目ホワイトペーパー
SnowflakeとAzure Databricksを比較! 自社に合ったデータ活用基盤を選ぶには既存データからさらなる価値を引き出し、ビジネスを成功に導く4つのステップ
ビジネス価値を高めるデータ分析―AI活用への理解を深める
データドリブンな意思決定を実現するには? データ連携ツールが果たす役割に迫る
データドリブン関連のオススメ記事
データドリブンとは?情報資産の活用でビジネスの成長を加速する方法データドリブン経営とは?4つのメリットと成功に向けた6つのステップ
データドリブンマーケティングを実践するには? 5つのステップと成功の秘訣
データドリブン思考で成功に導くビジネス戦略
データドリブン思考を開発に取り入れるメリットとは
データドリブンな組織になるために – 企業文化をどのように醸成すべきか
データドリブン思考を人事に導入するメリットとは
データ活用で失敗しないために – 検討開始時に押さえるべき基本的な考え方
データマネジメントとは - 概要から導入のステップ、生成AIとの関係性も解説
データ分析基盤とは? 基本概念から構築のポイントまでを徹底解説
データマネジメント組織はどう在るべきか、欠かせない3つの役割とは
小売業がデータ活用で成果を得るために持つべき視座とは