機械学習・AI

2019/09/04

データ基盤とは?種類と用途、データパイプラインとワークフロー管理

データアナリティクスやAI、IoTなどのビッグデータ分析が注目されています。そのようなデータ活用を支えるインフラが「データ基盤」です。データレイク、データウェアハウス、データマートなどデータ基盤の種類や「分析基盤」「機械学習基盤」など用途について知りたいという方も多いのではないでしょうか。

今回の記事では、そのような「データ基盤」について解説します。データパイプラインとワークフロー管理、データエンジニア、SRE、DataOpsなどの最新動向についても紹介します。

データ基盤とは

データ基盤とは、分析などに利用するデータを蓄積し、必要に応じて取り出すことができる処理システム群のことを言います。近年、機械学習やディープラーニングなどのAI技術が注目を浴びていますが、それらの業務でビッグデータを活用するためにもデータ基盤が必要です。データ基盤を構築するインフラ環境としては、オンプレミス、クラウドの両方が使われます。

データを蓄積するデータベースだけではなく、データの解析や可視化といった利用にいたるまでの一連の処理を自動化するうえでも、柔軟性の高いデータ基盤を作ることが業務の効率化に繋がります。

データ基盤の種類

データ基盤にデータを登録する場合、次にデータを取り出す時に使いやすいようにデータを加工することもありますが、場合によっては加工したデータではなく、加工前のデータが必要なこともあります。そのため、データ基盤には様々な形式でデータを取り出せる機能が求められると言えるでしょう。データ基盤にはどんな種類があるのでしょうか。

データレイク

データレイクは、形式に関わらずデータを集約して保存するストレージリポジトリのことを言います。関係モデルに当てはまるデータを構造化データ、そうでないデータを非構造化データと言い、データレイクは構造化データであるかどうかに関係なくデータを収納することが可能です。そのため、リアルタイム分析や機械学習などでよく利用されます。

基幹システムなどのリレーショナルデータベース(RDB)では、データ同士を結びつけるのに関係モデルを組み立て、それに当てはめてデータを入力していきます。一方で、IoTやSNSなどから収集したデータの中には関係モデルに当てはまらない非構造化データも多く存在します。

データウェアハウス

ウェアハウスとは日本語で倉庫と言う意味であり、社内で使用しているアプリケーションやデータベースに保存された構造化データを収集し、それを目的に応じて定義された形に統合して格納したデータベースのことを言います。データレイクは構造化データ・非構造化データの両方を格納することができますが、データウェアハウスは構造化データのみを格納する点が異なります。分析担当者がSQLでデータを操作できる状態をつくるため、データレイクと比べてデータの抽出・分析作業がスムーズに進みやすいというメリットがあります。

データマート

データマートは、用途に応じて必要なデータだけを抽出・加工してまとめたデータベースです。データウェアハウスでは蓄積したデータを分析する際にデータの抽出・加工が必要ですが、データマートでは、利用者がすぐに取り出せるように利用しやすい形に処理したうえで格納したデータベースのことを言います。

部署や役割によって業務に必要なレポートの形式やデータは異なります。そこで部署ごとにデータマートを用意していれば業務に応じて必要なデータをすぐに取り出すことができます。しかし、業務を効率化するには各部署の連携が必要です。そのため、近年では統合できるデータマートをデータウェアハウスに組み込み、データウェアハウスに移行する企業も増えています。

データ基盤の用途

それでは、構築したデータ基盤はどのように使われているのでしょうか。例を見てみましょう。

レポーティング分析

レポーティング分析とはデータを抽出して分類し、並べ替えやグラフ化を行うことをいいます。会社を経営するにあたって定期的に売上などのデータを見て、それをもとに運営方針を決める必要があります。マーケティングや営業などの施策分析や効果測定をおこなうこともあるでしょう。そのため、データを取り扱う部署は会社の上層部にわかりやすく市場の傾向などを伝える必要があります。データアナリティクスやビジネスアナリティクスに関する領域では、データ基盤に集約したデータをBIツールでダッシュボードしたり、データアナリストが分析を行って出た結果をレポートにまとめるなどを行います。

アドホック分析

アドホック分析は1回きりで終わる分析手法のことを言います。KPIのモニタリングなど定期的な分析は長期的に行われますが、アドホック分析では目的を限定して課題を調査したり、傾向やパターンをつかむために分析をおこないます。データ基盤を整備すると定形レポートをシステムで抽出できるようになるだけでなく、アドホック分析を行う分析者の負担を減らすことができます。データアナリストやデータサイエンティストが分析の度に都度データを準備する手間を削減し、分析に集中することができるのです。

機械学習・AI

機械学習やディープラーニングなどAI技術を活用してビッグデータ解析を行う際にも、データ基盤が欠かせません。ITのシステム開発と異なり、AIの開発では、最初から精度が担保されているわけではなく、AIに学習させるデータや特徴量、ハイパーパラメータなどを調整しながらトライアンドエラーでAIモデルを作成します。

また、機械学習やディープラーニングでは、構造化データだけでなく、画像やテキスト、音声などの非構造化データも含めデータを活用するデータ基盤が必要です。

モニタリング・監視

システム監視を行う場合、ログファイルが膨大な量になってしまいます。そこで膨大な量のデータが管理されており、システム化・自動化されていないと条件を指定して必要なデータを取り出すのはかなり大変な作業になっています。データ基盤がしっかり運用されていれば、システム監視の際に万が一トラブルが発生しても原因をスピーディに見つけることができます。

データパイプラインとワークフロー管理

データ分析をスムーズに行うための理想的な構想としてデータパイプラインという考え方が存在します。しかし、データパイプラインを実現するにはそのパイプラインを扱うワークフロー管理が必要です。データパイプラインとは何か、データパイプラインを実現するためのワークフロー管理はどのように行うのかについて解説します。

データパイプライン

データパイプラインとはデータ基盤へのデータの出し入れや目的に応じたデータ利用を効率よく行うためのデータ処理に関する一連の流れと考えるのが良いでしょう。例えばデータ基盤に格納されているデータが最新に保たれていないと、出力するレポートに最新の内容が反映されません。そのためデータウェアハウスなどの分析基盤では、バッチ処理などでデータの収集や加工・集計を処理します。

データパイプラインがしっかり構築することで、データ分析の自動化や効率化が可能となるのです。

ワークフロー管理

データ基盤にとってベストなデータパイプラインを構築するために欠かせないのがワークフロー管理です。データを通信する際、一度に大容量のデータを送信しようとすると他のデータ送信に支障が出るため、一時的にデータを分割し、そしてデータが全て目的地に到達したら分割したデータを復元するでしょう。データ基盤においても同様であり、データ基盤は大量のデータを同時に扱うのでワークフロー管理ができていないと処理スピードに大きな影響を及ぼしてしまいます。

そうならないように、データ基盤ではワークフロー管理ツールを用いてデータパイプラインを構築し、複数のジョブを実行しています。

ETLツールとの違い

ETLツールとは様々な業務データをデータウェアハウスに送信するためのツールのことを言います。ETLツールを用いてデータパイプラインを構築することも可能ではありますが、ETLツールはJavaによる高速実行や分散処理が想定されていることから容量が大きくなってしまいがちです。それに対してワークフロー管理ツールはHadoopなどのフレームワークが登場したことでAPIを呼び出すだけで利用できるようになりました。そのため、システムの軽量化を考えるとETLツールよりもワークフロー管理ツールの方が良いと言えるでしょう。

このような理由により、データ基盤を構築するにあたってデータウェアハウスにはETLツール、データ基盤全体のパイプラインにはワークフロー管理ツールが用いられることが多いです。

データ基盤の動向

それでは今後のデータ基盤の動向はどのようになっているのでしょうか。データ基盤の動向だけでなく、その開発に関わる人材の傾向も見てみましょう。

ストリームデータ処理

ストリームデータとは途切れなく送信されるデータのことであり、例としてはリアルタイム配信の動画や株価・交通情報などが挙げられます。データ基盤を活用すればストリームデータの処理もスムーズに行うことが可能です。近年ではIoTのセンサデータやWebサイトログなど扱えるデータの種類が増加しており、異常や不正の検知などリアルタイムな分析の需要も拡大しています。したがって、今後は今以上にリアルタイムなストリームデータ処理を行うためのデータ基盤の需要が高まるでしょう。

クラウドサービスの利用

AWSやGoogle Cloud Platformなどを活用する企業が増加しているのに伴い、データ基盤もクラウド化する企業は増えています。実際にクラウドを用いてデータ分析を行えばコストが4分の1になると言われており、開発費を抑えて効率よくデータ活用を行うのにクラウドは今後さらに欠かせないものとなっていくでしょう。

DataOpsとSRE人材

データ基盤に関する専門的な知識を持っている技術者はまだ少ないです。しかし、ビッグデータを業務に活用しようと考えている企業は増える一方と言えるでしょう。欲しいデータをすぐに信頼できる形で入手できるようにするために、データの利用者と管理者とが協調してプロセス、ツール環境や組織文化を継続的に改善する取組みのことをDataOpsと言い、これを実践できるITエンジニアの需要は今後高くなる可能性が高いです。

DataOpsを実践できる技術者をSRE人材と言います。データ基盤の構築を専門とする「データエンジニア」には、データの運用を行う「SREエンジニア」として働く場合もあります。サーバー・ネットワーク・データベースなどインフラに関する知識だけでなく、アプリケーション開発など幅広い知識が求められるため、すべての要件を満たす人材は、かなり優秀なエンジニアといえます。これまでのエンジニア経験をいかせるため、データサイエンス分野へのキャリアチェンジにSRE人材を目指すのは一つの手段と言えるでしょう。

関連記事Related Posts