こんにちは!エンタープライズクラウド部クラウドコンサルティング課の山永です。
入社1年目で初めてre:Inventに参加する機会をいただき、その規模の大きさに驚きつつも充実した時間を過ごしています。
本記事では、Workshop形式のセッション「ANT350 | End-to-end data integration and data engineering on AWS」を受講して得た学びと感想をお伝えします。
はじめに
Workshopとは、自分のパソコンでAWSサービスを操作しながら学べる体験型セッションです。
re:Inventでは他にも「Gamified Learning」や「Builders Sessions」といった体験型のセッションがありますが、これらはチームを組んで英語でのディスカッションが求められます。
一方、Workshopでは学習用資料と体験用のAWS環境が用意されており、Chromeの翻訳機能を使えば英語が苦手な方でも安心して参加できます。
今回のWorkshopでは、AWS GlueやAmazon Redshiftを活用し、S3やデータベースに蓄積されたデータを加工・分析することで、業務に必要な知見を得るデータエンジニアリングの基礎を学びました。
セッションの概要
小売業界のデータを想定し、POSシステムから得られる販売データや顧客データを使って、売上動向やマーケティング効果といった実業務に役立つ情報を得る流れを体験できます。
全体像
使用したAWSサービス
- Amazon Relational Database Service (Amazon RDS)
- AWS Database Migration Service (AWS DMS)
- Amazon Kinesis Data Firehose
- Amazon S3
- AWS Glue
- AWS Lake Formation
- Amazon Redshift
- Amazon Athena
セッションの流れ
1. データソースの準備
セッションでは、「顧客データ」(データベースに格納)と毎秒数万件発生する「POSデータ」を利用しました。
「POSデータ」は、AWSが提供する「Amazon Kinesis Data Generator」で擬似的に生成しています。
2. データの取り込み
顧客データの取り込み
RDSに格納された「顧客データ」はAWS DMSを使ってS3バケットへ移行しました。
AWS DMSは、異なるデータベースエンジン間でのデータ移行や、NoSQLデータベース(DynamoDBなど)への移行にも対応しています。
POSデータの取り込み
リアルタイムで発生する「POSデータ」はKinesis Data Streamsを経由してS3に保存しました。
3. データの加工と管理
3-1. データの抽出・変換・ロード(ETL)
AWS Glueを使用し、データの読み込み・変換・クレンジングを行いました。
Glueのビジュアルエディタを使えば、データ変換処理をブロックを繋げる感覚で簡単に実行できます。
3-2. AWS Lake Formationでのアクセス制御
AWS Lake Formationを使うことで、データに対して列や行レベルでのアクセス制御が可能です。
たとえば、CountryCode='US'
の条件でデータを制御する設定も簡単に行えます。
4. Amazon Redshiftを使ったデータ分析
準備が整ったデータをAmazon Redshiftで分析しました。S3に保存されたデータをSQLで扱えるため、以下のような分析が可能です。
- 製品カテゴリー別の売上動向
- マーケティングキャンペーンの効果測定
学びと感想
今回のセッションで使ったサービスの中で、これまで使用経験があったのはRDSやS3、Athena程度でした。特にKinesis、Glue、Lake Formationについてはデータがなければ検証しづらい部分があり、具体的な利用イメージを持てていませんでした。しかし、このWorkshopを通じて各サービスを組み合わせた活用例を学び、より実践的な視点で理解できるようになりました。
普段業務で使う機会の少ないサービスでも、「面白そう!」という興味だけで体験できるのがre:Inventの魅力だと感じています。実際、今回のre:Inventでは311件ものセッションが開催されており、技術の幅を広げる場として非常に価値があると実感しました。
エンジニアの皆さんもぜひre:Inventに興味を持っていただけると嬉しいです!