서버 관리 그만하기: AWS에서 확장 가능한 서버리스 데이터 레이크 구축

발행: (2026년 4월 7일 AM 06:07 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

AWS에서 확장 가능한 서버리스 데이터 레이크 구축: 서버 베이비시팅을 멈추세요 커버 이미지

데이터 파이프라인을 구축하는 것이 서버를 베이비시팅하는 느낌이 들면 안 됩니다. 몇 개의 SQL 쿼리를 실행하기 위해 전용 클러스터를 관리해 본 적이 있다면, 용량 계획, 유휴 비용, 그리고 새벽 3시에 인프라를 확장하는 “재미”를 잘 아실 겁니다.

데이터 엔지니어링 전문가로서 저는 언제나 간단한 좌우명을 따릅니다: 설계하고, 그 다음 존재한다 (또는 이 경우: 서버리스를 설계하고, 그 다음 편안히 쉬자).

오늘은 AWS의 “빅 쓰리”인 S3, Glue, Athena를 활용해 서버리스 데이터 레이크에 파편화된 데이터를 중앙 집중화하는 방법을 살펴보겠습니다.

왜 서버리스인가?

서버리스 접근 방식의 아름다움은 스토리지를 컴퓨팅과 분리한다는 점입니다. 저장한 만큼, 처리한 만큼만 비용을 지불하면 됩니다.

Amazon S3 (백본)

S3는 중앙 저장소 역할을 합니다. 전문적인 설정은 데이터를 단순히 “덤프”하는 것이 아니라 레이어별로 정리합니다:

  • Raw Layer – “진실의 원본”. 도착한 그대로의 데이터(CSV, JSON, 로그).
  • Curated Layer – 정제되고 파티셔닝되며 최적화된 데이터(보통 Parquet 형식).

AWS Glue (사서)

Glue Crawlers가 S3 버킷을 스캔하고 데이터 유형을 추론하여 Glue Data Catalog에 채워 넣습니다. 이는 중앙 메타데이터 저장소 역할을 하며, 수동 스키마 정의가 필요 없습니다.

Amazon Athena (엔진)

Athena는 인터랙티브 쿼리 서비스로, S3에 있는 파일에 대해 표준 SQL을 직접 실행할 수 있게 해줍니다. 클러스터를 띄우거나 인프라를 관리할 필요가 없습니다.

빠른 구현: S3 → SQL

  1. Ingest – 원시 S3 버킷에 데이터셋을 업로드합니다.
  2. Catalog – 해당 버킷을 대상으로 Glue Crawler를 설정합니다. 완료되면 Data Catalog에 새로운 테이블이 생성됩니다.
  3. Query – Athena 콘솔을 열고 분석을 수행합니다.
-- Aggregating sales data directly from S3 files
SELECT 
    region, 
    SUM(amount) AS total_sales
FROM "data_lake_db"."sales_curated"
GROUP BY region
ORDER BY total_sales DESC;

데이터 엔지니어 프로 팁

  • 분석용 CSV는 피하세요 – 데이터를 Apache Parquet으로 변환합니다. 컬럼형 포맷이므로 Athena는 쿼리한 컬럼만 읽어 비용을 최대 90%까지 절감합니다.
  • 파티셔닝이 핵심 – S3 경로를 날짜별로 조직합니다(예: s3://my-bucket/year=2026/month=04/). 이렇게 하면 Athena가 스캔하는 데이터 양이 제한되어 쿼리가 번개처럼 빠릅니다.

마무리 생각

서버리스 데이터 레이크를 사용하면 빠르게 실험할 수 있습니다. 오후에 프로토타입을 만들고, 리눅스 터미널에 손대지 않고도 페타바이트 규모로 확장할 수 있습니다.

여러분은 회사에서 데이터 레이크를 사용하고 있나요, 아니면 아직 전통적인 데이터 웨어하우스에 머물고 있나요? 댓글로 경험을 공유해주세요!

0 조회
Back to Blog

관련 글

더 보기 »