概要
今回、某大手飲食チェーン店様のデータ分析基盤構築に携わらせて頂きました。
環境は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 + Lambda や Step Functions + Lambda + Glue といったサーバレス構成がよく取られ、今回も例に漏れない形となっています。
『AWS ETL サービス適材適所選択のコツ』という良い資料がAWSのBlack Beltでも公開されておりますので、お時間ある方はあわせてご確認下さい。
なお、IaC(Infrastructure as Code)としてAWS SAMを採用しており、アプリケーションもコードで管理できるようにすることで運用保守性を高めています。
※アプリだけではなく、VPCやサブネットといったインフラ部分についても、AWS CloudFormationを利用しています。
データウェアハウス(DWH)
データウェアハウスはRedshiftを採用しています。
最近だとデータウェアハウスではなくS3 + Icebergといったいわゆる「レイクハウス」っぽいアーキテクチャもよく採用されるようになってきましたが、今回はヒアリングした要件的にAmazon Redshiftの方がマッチしそうであったため、データウェアハウスを採用しています。
「従来のデータベースとデータウェアハウスは何が違うんだ?」と疑問に思う方は以下の記事が参考になるかと思います。

データウェアハウスと聞くととても料金が高いイメージを持つ方もいらっしゃると思いますが、Redshift ServerlessといったRedshiftが動いていない間は料金が発生しないタイプのものもありますので、要件に応じてコストを抑えることが可能です。
BIツール
BIツールはEC2にRedashをセルフホスティングしています。
Redashは様々なデータソースからデータを取得し、それをSQLで集計・加工・可視化することができるオープンソースのBIツールです。

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

詳細な監査ログの取得や、高度なSSO連携が要件にある場合は別のBIツールの検討が必要ですが、BIツールはライセンスフィーが高額なものも多いため、要件を満たしておりコストをあまりかけたくないケースでは良い選択肢となります。
お客様の反応
これまでは対抗先システムから手動でダウンロードしたデータに対し、Excelで頑張って集計をかけてデータの分析・可視化をされていたようです。
ただそれだとやはり手作業のため時間がかかり、かつ色々なシステムからデータを集めないといけないため効率が悪く大変のようでした。
今回AWS上でのデータ分析基盤を構築したことにより、毎日自動でデータの蓄積・変換がなされることによりBIのダッシュボードが更新され、かつRedashはSQLを実行することもできるため、よりインタラクティブな分析をすることもできるようになり、「非常に効率的にデータ分析ができるようになった」と感謝のお言葉を頂きました。

今回とても良いシステムができたと日々の業務で実感しています。
昨今生成AIが高い注目を集めていますが、生成AIを効果的に利用するのもやはりデータ分析基盤が重要となってきます。
現在上手くデータ分析基盤が構築できていない企業様は、まずはデータ利活用のために環境を整備していくことをおすすめします。
ご依頼について


NeeNetでは、AWSを活用したデータ分析基盤構築のご依頼・ご相談をお引き受けしております。
開発だけではなく、「まずはアーキテクチャを相談したい」「コンサル業務として壁打ちを行って欲しい」といったご相談も可能ですので、何かご相談事項がございましたら一度ご連絡いただければと思います。
ご依頼は下記のお問い合わせページから可能です。