AWS와 함께 Serverless Data Analytics Pipeline 구축: Premier League Dashboard

발행: (2025년 12월 17일 오전 12:51 GMT+9)
10 min read
원문: Dev.to

Source: Dev.to

John Culkin와 Mike Zazon이 쓴 AWS Cookbook – Chapter 7: Big Data에서 영감받음

데이터 분석 여정

AWS AI/ML 서비스를 탐색하면서 인공지능과 머신러닝이 근본적으로 고품질 데이터 기반 위에 구축된다는 사실을 깨달았습니다. 이 통찰을 바탕으로 먼저 데이터 분석 기본기를 마스터하기 위해 한 걸음 물러섰습니다. 완전한 서버리스 파이프라인을 구축하는 것보다 좋은 방법이 있을까요?

저는 AWS S3, Athena, 그리고 QuickSight를 활용해 프리미어리그 데이터를 분석하는 확장 가능한 분석 솔루션을 만들었습니다.

왜 프리미어리그 데이터인가?

축구에 열정을 가진 사람으로서 매 시즌 펼쳐지는 풍부한 통계 이야기에 매료됩니다. 각 경기마다 골, 어시스트, 전술 포메이션, 선수 퍼포먼스 지표 등 의미 있는 데이터 포인트가 생성됩니다. 이렇게 구조화된 실세계 데이터가 풍부하기 때문에 축구 분석은 데이터 엔지니어링 개념을 배우면서 내가 진정으로 관심 있는 주제로 작업하기에 이상적인 놀이터가 됩니다.

우리가 만들게 될 것

  • Amazon S3를 이용한 서버리스 데이터 저장
  • Amazon Athena를 이용한 SQL 쿼리
  • Amazon QuickSight를 이용한 인터랙티브 대시보드

⚠️ Disclaimer: 이 프로젝트에 사용된 프리미어리그 데이터는 완전히 허구이며 시연 목적에 한정됩니다. 맨체스터 시티가 150점이거나 토트넘이 실제로 무언가를 우승하는 모습을 보신다면, 그것은 제가 창의적으로 데이터를 생성한 결과일 뿐입니다! 😄 이 데이터를 판타지 축구 결정에 사용하지 마세요—경고했습니다! 실제 프리미어리그 데이터는 공식 소스를 확인하시고, 보다 현실적인 실망을 대비하세요.

Architecture Overview

AWS Analytics

이 서버리스 아키텍처는 인프라 복잡성을 없애면서 다음을 제공합니다:

  • Scalability – 서버 관리 없이 자동 확장
  • Cost‑efficiency – 쿼리당 요금제 모델
  • Speed – 몇 초 안에 쿼리 결과 제공

구현 하이라이트

1️⃣ S3 데이터 레이크 설정

프리미어리그 CSV 파일을 S3에 저장하여 확장 가능한 데이터 기반을 만들었습니다:

# 버킷 생성 및 데이터 업로드
aws s3api create-bucket --bucket premier-league-data-$(openssl rand -hex 3)
aws s3 cp data/ s3://your-bucket/raw-data/ --recursive

데이터 소스

2️⃣ Athena SQL 쿼리

외부 테이블 생성

Athena의 강점은 데이터를 이동하지 않고 S3에서 직접 쿼리할 수 있다는 점입니다. 다음과 같이 테이블을 만들었습니다:

-- 순위 테이블
CREATE EXTERNAL TABLE IF NOT EXISTS standings (
    team_name        STRING,
    matches_played   INT,
    wins             INT,
    draws            INT,
    losses           INT,
    goals_for        INT,
    goals_against    INT,
    goal_difference  INT,
    points           INT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION 's3://your-bucket/raw-data/'
TBLPROPERTIES ('skip.header.line.count'='1');

-- 경기 결과 테이블
CREATE EXTERNAL TABLE IF NOT EXISTS match_results (
    team_name   STRING,
    result_type STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION 's3://your-bucket/raw-data/'
TBLPROPERTIES ('skip.header.line.count'='1');

Athena 테이블

샘플 분석 쿼리

-- 상위 6팀 분석
SELECT team_name, points, goal_difference
FROM   standings
ORDER BY points DESC
LIMIT 6;

상위 6 팀

-- 승률 계산
SELECT team_name,
       ROUND((wins * 100.0 / matches_played), 2) AS win_percentage
FROM   standings
ORDER BY win_percentage DESC;

승률

-- 데이터 무결성 확인
SELECT * FROM standings;
SELECT * FROM match_results;

순위‑결과

3️⃣ QuickSight 대시보드 (간략 개요)

  1. 연결 QuickSight를 Athena 데이터 소스에 연결합니다.
  2. 가져오기 standingsmatch_results 테이블을 가져옵니다.
  3. 다음과 같은 시각화를 구축합니다:
    • 팀별 포인트를 보여주는 막대 차트.
    • 승률을 나타내는 히트맵.
    • 시즌 동안 포인트 변화를 보여주는 라인 차트.

새 CSV 파일이 추가될 때마다 대시보드가 자동으로 업데이트됩니다.

Source: (원본 링크를 여기에 삽입해 주세요)

S3 버킷에 있는 데이터를 Athena가 메타데이터를 새로 고칩니다.

요점

  • Serverless 서비스 (S3 + Athena + QuickSight)는 인프라가 아니라 데이터에 집중할 수 있게 해줍니다.
  • Athena는 S3에 저장된 데이터에 대해 즉시, 쿼리당 비용을 지불하는 분석을 제공합니다.
  • QuickSight는 쿼리 결과를 거의 운영 오버헤드 없이 인터랙티브한 시각화로 변환합니다.

한 번 시도해 보세요—축구 데이터를 어떤 CSV 기반 데이터셋으로든 교체하면, 몇 분 안에 완전 관리형 분석 파이프라인을 사용할 수 있습니다!

주요 Athena 이점

  • 데이터 이동이 필요 없음
  • 표준 SQL 인터페이스
  • 스캔된 데이터에 대해서만 비용 지불 ($5/TB)
  • 결과가 초 단위로 제공

QuickSight 대시보드

인터랙티브 시각화 구축, 포함 내용:

  • 리그 순위표
  • 포인트 비교 차트
  • 골 득실 분석
  • 팀 성과 지표

QuickSight Dashboard

Management를 위한 비즈니스 가치

QuickSight는 즉각적인 ROI를 제공합니다:

  • 의사결정 속도 – 실시간 대시보드로 IT 보고서를 기다릴 필요 없음
  • 비용 절감 – 전통적인 BI 도구(예: Tableau)의 $70+ 대비 $9/사용자
  • 셀프‑서비스 분석 – 비즈니스 사용자가 기술적인 의존 없이 직접 인사이트를 생성
  • 모바일 접근성 – 언제 어디서나 실행 가능한 임원용 대시보드 제공
  • 확장성 – 동일한 아키텍처로 10명부터 10 000명까지 지원
  • 보안 – 엔터프라이즈급 AWS 보안 및 컴플라이언스 내장

What QuickSight can do
이미지 출처: amazon.com QuickSight 페이지

Management 혜택

  • 보고 주기를 주에서 몇 분으로 단축
  • 모든 부서에 데이터 접근을 민주화
  • 전통적인 솔루션 대비 60‑80 % 낮은 총 소유 비용(TCO)
  • 서버 유지보수 및 업그레이드 비용 제거

결과 및 인사이트

비용 세부 내역

  • S3 스토리지: ~$0.05/월
  • Athena 쿼리: ~$0.25/월
  • QuickSight: $9/사용자/월

총계: 엔터프라이즈 급 분석을 위해 ~$9.30/월!

주요 학습 내용

  • 2시간 미만에 설정 완료
  • ✅ 서버리스 = 인프라 관리 제로
  • ✅ SQL에 익숙함으로 개발 가속
  • ⚠️ 초기 문제 해결을 위해 QuickSight 권한 필요

다음 단계

이 기반은 다음과 같은 가능성을 열어줍니다:

  • 실시간 데이터 통합
  • 머신러닝 예측
  • AWS Glue와 함께하는 고급 ETL 파이프라인

최종 고찰

AI/ML에 뛰어들기 전에 데이터 기본을 먼저 다루는 것이 매우 유용했습니다. 이 서버리스 분석 파이프라인은 강력한 데이터 솔루션이 복잡한 인프라를 필요로 하지 않으며, 적절한 AWS 서비스가 함께 작동하면 된다는 것을 보여줍니다.

The S3 + Athena + QuickSight 조합은 초기 비용으로 엔터프라이즈 수준의 분석을 제공하여 학습 및 실제 운영 모두에 이상적입니다.

리소스

자신만의 데이터 파이프라인을 구축하고 계신가요? LinkedIn에서 저와 연결해 주세요 – 여러분의 경험을 듣고 싶습니다!

Back to Blog

관련 글

더 보기 »