AWSを利用したデータ分析基盤の構築

概要

今回、某大手飲食チェーン店様のデータ分析基盤構築に携わらせて頂きました。

環境はAWSとなります。

対抗先システムからデータを日次で取得し、データレイク・データマートにデータを蓄積していき、BIツールで参照することがプロジェクトのゴールでした。

今回構築したシステムのアーキテクチャ図については次の通りです。

アーキテクチャ図

データ取得用のLambda関数とETL処理用のLambda関数を用意した上で、Step Functionsでワークフローを組み、それをEventBridge Schedulerでスケジュール起動する形となります。

データの格納先は大規模データ分析に強いRedshiftとなります。

BIツールはEC2上にホスティングしているRedashで、利用ユーザーはRedashのダッシュボードからデータを確認できます。

技術選定

ETL処理(抽出・変換・書き込み)

今回、データ取得・加工処理共に比較的軽量処理だったので、ETL処理にはLambdaを採用しています。

Lambdaはサーバレスかつ従量課金のためコスト効率が高く、要件にマッチするのであれば非常に有用なサービスです。

Lambdaの実行時間制限は15分なので、これを超えるような処理が必要であればGlue (Python Shell/Spark Job)やECSが選択肢となります。

ワークフローはStep Functionsで組んでおり、これもまたサーバレスなサービスであり、AWSのサービスを簡単に組み合わせることができます。

AWS上でETL処理を行う上では、 Step Functions + LambdaStep Functions + Lambda + Glue といったサーバレス構成がよく取られ、今回も例に漏れない形となっています。

AWS ETL サービス適材適所選択のコツ』という良い資料がAWSのBlack Beltでも公開されておりますので、お時間ある方はあわせてご確認下さい。

なお、IaC(Infrastructure as Code)としてAWS SAMを採用しており、アプリケーションもコードで管理できるようにすることで運用保守性を高めています。
※アプリだけではなく、VPCやサブネットといったインフラ部分についても、AWS CloudFormationを利用しています。

データウェアハウス(DWH)

データウェアハウスはRedshiftを採用しています。

最近だとデータウェアハウスではなくS3 + Icebergといったいわゆる「レイクハウス」っぽいアーキテクチャもよく採用されるようになってきましたが、今回はヒアリングした要件的にAmazon Redshiftの方がマッチしそうであったため、データウェアハウスを採用しています。

「従来のデータベースとデータウェアハウスは何が違うんだ?」と疑問に思う方は以下の記事が参考になるかと思います。

SunnyCloud
【初心者向け】Amazon Redshiftとは こんばんは。ご無沙汰しています。小寺です。梅雨明けかと晴天の日もあれば、急な雨に慌てて洗濯物を取り込む日々です。今日はAmazon Redshiftのサービスプログラムデリバ...

データウェアハウスと聞くととても料金が高いイメージを持つ方もいらっしゃると思いますが、Redshift ServerlessといったRedshiftが動いていない間は料金が発生しないタイプのものもありますので、要件に応じてコストを抑えることが可能です。

BIツール

BIツールはEC2にRedashをセルフホスティングしています。

Redashは様々なデータソースからデータを取得し、それをSQLで集計・加工・可視化することができるオープンソースのBIツールです。

あわせて読みたい
Redash helps you make sense of your data Use Redash to connect to any data source (PostgreSQL, MySQL, Redshift, BigQuery, MongoDB and many others), query, visualize and share your data to make your com...

元々はRedashは独立した会社で開発されていましたが、2020年にDatabricksに買収されました。

OSSとはいえ、DatabricksのダッシュボードでもRedashの機能が利用されているほど由緒あるBIツールで、やはりOSSのため無料で利用できるというメリットが大きいです。
※ただし、セルフホスティングのためインフラのメンテナンスコストはかかります。

Redashのダッシュボードイメージ

詳細な監査ログの取得や、高度なSSO連携が要件にある場合は別のBIツールの検討が必要ですが、BIツールはライセンスフィーが高額なものも多いため、要件を満たしておりコストをあまりかけたくないケースでは良い選択肢となります。

お客様の反応

これまでは対抗先システムから手動でダウンロードしたデータに対し、Excelで頑張って集計をかけてデータの分析・可視化をされていたようです。

ただそれだとやはり手作業のため時間がかかり、かつ色々なシステムからデータを集めないといけないため効率が悪く大変のようでした。

今回AWS上でのデータ分析基盤を構築したことにより、毎日自動でデータの蓄積・変換がなされることによりBIのダッシュボードが更新され、かつRedashはSQLを実行することもできるため、よりインタラクティブな分析をすることもできるようになり、「非常に効率的にデータ分析ができるようになった」と感謝のお言葉を頂きました。

先方の担当者Sさん
これまでの手作業が大幅に省略化され、またダッシュボード画面で関係者への説明も大変しやすくなりました!
今回とても良いシステムができたと日々の業務で実感しています。

昨今生成AIが高い注目を集めていますが、生成AIを効果的に利用するのもやはりデータ分析基盤が重要となってきます。

現在上手くデータ分析基盤が構築できていない企業様は、まずはデータ利活用のために環境を整備していくことをおすすめします。

ご依頼について

NeeNetでは、AWSを活用したデータ分析基盤構築のご依頼・ご相談をお引き受けしております。

開発だけではなく、「まずはアーキテクチャを相談したい」「コンサル業務として壁打ちを行って欲しい」といったご相談も可能ですので、何かご相談事項がございましたら一度ご連絡いただければと思います。

ご依頼は下記のお問い合わせページから可能です。

  • URLをコピーしました!