ニュース&ブログ
【Azureデータ分析基盤】基本的な仕組み・構成要素を徹底解説!
投稿日:2024/06/26
はじめに:
近年、自社データ(ビッグデータ)を活用してビジネスにおける課題解決や意思決定を
迅速に行うことが、企業にとって重要になってきています。
クラウドサービスを活用することによって、比較的 低コストで手軽に データ分析基盤システム
(=データを集約させ、分析した結果を格納/可視化)が構築できるようにもなりました。
とはいえ、なかなかシステムのイメージを掴むことができず、
「導入にまで踏み出せない」という方や企業様がまだまだ多くいらっしゃるのではないでしょうか?
そこで今回は、Microsoft Azure を使った データ分析基盤システム についてご紹介します!
具体的かつシンプルな構成例を記載しますので、どのような要素(リソース)が組み合わさることで
このシステムが実現できるのか、構成のイメージを掴むヒントになると幸いです。
前提:
・本記事では、データ分析基盤システムに必要な構成要素(イメージ)について、お伝えすることを目的としています。
そのため、システムの非機能要件(可用性/拡張性/性能/セキュリティ 等)に関する詳細は触れていません。
・今回ご案内する構成(各リソース)は一例であり、設計要件に合わせてカスタマイズする必要がある点、ご留意ください。
データ分析基盤システムについて:
データ分析基盤とは、企業が保有する様々なデータソースからデータを収集・蓄積し、
分析・活用することを目的としたシステムです。
具体的な用途としては、例えば以下のようなものが挙げられます。
┌──────────────────────────────────────────────┐
・顧客行動分析 :
Web サイトの閲覧履歴、SNS の投稿データ、購買履歴等を分析し、
顧客ニーズの把握や効果的なマーケティング施策の立案
・業務の可視化と改善 :
生産性データ、業務フローデータ、エラーログ等を分析し、
業務の課題発見や改善策の立案
・リスク管理 :
不正検知データ、システム稼働状況データ、セキュリティログ等を分析し、
リスクの早期発見と対策立案
・新サービスの企画 :
製品・サービスの利用状況データ、ユーザーの嗜好データ、
市場動向データ等を分析し、新たな商品企画や改良に活用
└──────────────────────────────────────────────┘
このように、データ分析基盤システムは企業の様々な課題解決に活用できる強力なツールとなります。
システム構成例:
データ分析基盤システムを構築する際の基本構成(要素)は以下の通りです。
①データ収集・蓄積
②データ処理・変換(加工)
③データ分析・可視化
それぞれのステップで活用できる Azure のサービス(リソース)を当てはめてみましょう。
構成例:
①データ収集・蓄積
Storage Account(Azure Data Lake Storage)を用意し、他システムから収集したソースデータを蓄積していきます。
データは1種類だけでなく、様々な形式(RDBMS、csv等)で格納されることもあります。
②データ処理・変換(加工)
Azure Data Factory により、データの抽出・変換・読み込み(=ETL) 処理を実現します。
GUI 操作での設定が可能なため、プログラミングに関する詳細な知識がなくても直感的に操作できる ETL ツールです。
# 基本的には画面(GUI)上からの設定ですが、データベースに対する処理を組み込む場合には、
# 具体的なスクリプトを記述するため、データベース操作言語(SQL)の知識が必要です。
例:一連の処理(データ移動や変更等のアクティビティ)のパイプラインを定義する際の画面
具体的なデータ加工の流れについて、以下の図をもとに細かく見ていきましょう。
1.まず、Storage Account から分析に必要となるソースデータを抽出し、
データベース(Azure SQL Database)に無加工の状態で格納します(緑枠箇所)
2.続いて、事前に定義した変換ルール(※)に基づきデータを加工して、
加工済み結果用の表に格納します(青枠箇所)
※例:ソースデータを結合できる形に揃えるためフォーマットを統一させる等
3.加工済みのデータから分析に必要なデータを抽出し、データマート(分析結果を集約した表)に
格納します(オレンジ枠箇所)
また、上記処理の他にも、失敗時のエラーハンドリングや、分析結果がデータマートに格納された後に
Storage Account 上にあるソースデータを別のストレージに移す(アーカイブ)といったことも可能です。
③データ分析・可視化
加工前後のデータや最終的な分析データ格納用のデータベースとして、Azure SQL Database を利用します。
# データ容量や処理量が大規模な場合、Azure Synapse Analytics を利用する方が望ましいケースがありますが、
# 今回は、コストを抑えつつ構築・管理が比較的容易な Azure SQL Database を選定しています。
以下の図では、用途を分けた表(無加工、加工済、データマート)を事前に用意しておくことで、
Azure Data Factory の ETL 処理の結果をそれぞれの用途に合わせて表に格納することを示しています。
以下の場合、基本的にエンドユーザーが確認するのは、データマート上に格納されたデータ(分析結果)です。
なお、分析結果については直接データベースを参照するのではなく、Power BI 等の BI ツールを
使用することが一般的です。
BIツールでグラフ等を作成することにより、非技術者(経営者等)でも経営状況や課題等の可視化が実現できます。
<補足>
・上記の各リソースを構築するにあたり、事前にリソースグループ(構成リソースを管理するための論理的なコンテナ)
を用意しておく必要があります。
まとめ:
今回ご紹介したような Azure のサービス(リソース)を組み合わせることで、
シンプルなデータ分析基盤システムを構築することができます。
試しに構築・触ってみたい方は、今回の構成をご参考ください。
なお、実用的な(商用向けの)データ分析基盤システムの構築についても、
弊社 ソリューションサービス事業部 では承っております!
「構築から運用までお任せできないか?」「まずは実現できるか相談してみたい」等、
少しでもご興味を持っていただけましたら、お気軽にお問い合わせください。
それではまた、次のブログでお会いしましょう!
西田 幸平(2021年入社)
株式会社システムサポート フューチャーイノベーション事業本部 ソリューションサービス事業部所属
DB(Oracle Database, SQL Server 等)やクラウド(Azure, AWS)を中心とした案件に従事
好きな言葉は『寝る子は育つ』