아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
뱅크샐러드 favicon뱅크샐러드

MySQL 테이블을 S3로 옮기고 Athena로 쿼리하는 효율적인 데이터 접근 방법

by DD
2023-06-08
3년 전
조회수 5

MySQL 테이블의 증가하는 저장 비용 문제를 해결하기 위해 S3로 데이터 이관

Spark를 사용하여 Parquet 형식으로 데이터를 S3에 저장하고, bucketing 적용

Athena를 통해 데이터 쿼리 비용을 700배 감소 및 MySQL 저장 비용 3배 절감

S3 Parquet 데이터 저장 구조

데이터를 S3에 저장할 때 Parquet 형식을 사용하고, dt=YYYY-MM-DD, hour=HH 파티션 구조를 적용했다. 구체적으로 Spark Job을 통해 Kafka에서 읽은 데이터를 S3에 저장한다. 따라서 데이터 접근 효율성을 높이고, Athena 쿼리 성능을 향상시켰다.

Bucketing vs Partitioning

Bucketing은 특정 필드 값을 기준으로 데이터를 분산 저장하여 쿼리 성능을 향상시킨다. 반면 Partitioning은 데이터 접근 범위를 줄여 쿼리 속도를 높인다. 따라서 Athena 쿼리 비용 700배 감소라는 놀라운 결과를 얻었으며, 을 최적화했다.

데이터 처리량

Athena 쿼리 최적화 팁

Athena 쿼리 시 Bucketing된 테이블의 특성을 고려하여 쿼리를 작성해야 한다. 구체적으로 bucketed Atable - bucketd Btable과 같은 조인 쿼리에서 버킷 키를 활용한다. 결과적으로 데이터 스캔량 감소를 통해 쿼리 성능 향상을 기대할 수 있다.

점점 커지는 RDB Table, S3로 귀양 보내고 Athena로 불러오기 - feat. Optimization with Spark Bucketing
중급
아키텍처
MySQL
S3
Spark
Athena
Kafka
SQL
Java
Data
DevOps
원문 읽기
원문 읽기

관련 추천 글

Pinterest, 자동화된 스키마 변경 관리로 데이터 일관성 확보

핀터레스트 로고

Pinterest, CDC 기반 데이터 파이프라인으로 데이터 지연 시간 단축!

핀터레스트 로고

Kafka & Spark Streaming으로 데이터 처리 시간 단축!

SK플래닛 로고

Kafka-S3 실시간 데이터 파이프라인 구축 노하우 공개

펫프렌즈 로고

SQL 기초부터 실전까지 마스터!

더 프라임아젠 로고

LINE Ads, Spark on Kubernetes 도입으로 데이터 파이프라인 성능 226% 향상!

라인 로고
뱅크샐러드 favicon뱅크샐러드
중급
아키텍처
MySQL
S3
Spark
Athena
Kafka
SQL
Java
Data
DevOps

관련 추천 글

Pinterest, 자동화된 스키마 변경 관리로 데이터 일관성 확보

핀터레스트 로고

Pinterest, CDC 기반 데이터 파이프라인으로 데이터 지연 시간 단축!

핀터레스트 로고

Kafka & Spark Streaming으로 데이터 처리 시간 단축!

SK플래닛 로고

댓글 0

첫 번째 댓글을 남겨보세요!