## プロジェクト概要
- **役割**: プロジェクトリーダー
- **チームメンバー**: 15名
- **主な業務**:
- 全体ゴール設定・進捗管理・予算管理
- アーキテクチャ・技術・ミドルウェア選定
- ダッシュボード設定 (SQL・Python)
## 技術スタック
- Kinesis Firehose, S3, Glue, Lambda, Redshift, EC2, API Gateway, CloudWatch
- Python (Pandas), PHP, Linux, Fluentd, Redash (BI), GitLab
## プロジェクト発足経緯
- データ分析のPDCAサイクルの高速化が開発部署の年次戦略として挙げられた。
- 従来は、各種KPIを管理する画面が存在したが、新しい要件が生じるたびに追加開発が必要だった。
- 自前のDB構築と運用により、障害時の対応やスケーリングに課題があった。
# プロジェクトの課題と解決策
## 主な課題
1. **コミュニケーションの困難**:
- 大人数による議論の進行が困難
- 適切な意思決定ができない状況
2. **プロジェクトの未整備な部分**:
- ローンチに向けた細かいデータ加工部分などが未整備
- 予定通りの進行が困難
## 解決策
1. **分科会の設立と議論の活性化**:
- BIツール、インフラ、アプリケーションごとに課題を分解
- 各分科会での小規模な議論を通じて効率的な意思決定と責任分解
2. **導入時期の宣言と退路の断ち切り**:
- 全社への導入時期宣言によるプロジェクトの加速
- 自身と他者への対応促進とプレッシャーの提供
3. **優秀な業務委託の採用**:
- 優秀な業務委託の採用を提案
- 業務遂行を私と2人で遂行し、プロジェクトの成功への貢献
## プロジェクト結果
- 正式ローンチ前に、担当メンバーの退職が相次いだが、エンジニアと協力し、データ処理部分やダッシュボード設定、数字の精査を実施。
- 最終的に100名以上のユーザーが使用するデータ分析基盤を成功させた。
## 開発ポイント
- **データ収集**: 全ゲームのユーザー行動をログで集め、S3に格納。
- **データウェアハウス**: Redashを使用してダッシュボード表示。
- **課題と解決**:
- JSONのままのETL処理が重いため、Parquetファイルへの変換で処理高速化。
- S3のパーティションを細分化し、データ増加に対応。
- Glueを使ってS3の外部テーブル参照を設定し、ダッシュボードでのデータ表示を可能に。
- Redashの使用者増加に対応し、ワーカー増加とクエリ実行時間制限によりアクセス負荷を軽減。