"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
👨💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.
AWS 에서 S3 Select에 의해 스캔된 데이터 란 무엇인지 간략히 알아보았습니다.

질문 >
AWS 에서 S3 Select에 의해 스캔된 데이터 란 무엇인가요?
답변 >
AWS S3 Select에서 "스캔된 데이터"란?
AWS S3 Select를 사용하면 S3에 저장된 파일에서 SQL 쿼리를 실행하여 필요한 데이터만 반환할 수 있습니다.
이때, "스캔된 데이터"는 S3 Select가 쿼리를 실행하기 위해 읽은 총 데이터 크기를 의미합니다.
즉, 파일에서 조건을 적용하기 전에 S3가 읽은 전체 데이터의 양입니다.
🔹 "스캔된 데이터"와 "반환된 데이터" 차이점
개념 | 설명 |
스캔된 데이터 | S3 Select가 파일을 검색하기 위해 읽은 전체 데이터 크기 |
반환된 데이터 | 쿼리 결과로 최종적으로 반환된 데이터 크기 |
💡 예제:
- data.csv (100MB)에서 Age > 30인 데이터만 조회
- 스캔된 데이터 = 100MB (파일 전체를 읽었으므로)
- 반환된 데이터 = 10MB (필터링된 결과만 반환)
🔹 S3 Select의 스캔된 데이터 예제
📂 CSV 파일 (data.csv)
ID,Name,Age,Country
1,John,30,USA
2,Alice,25,UK
3,Bob,35,Canada
4,Emma,28,Australia
✅ S3 Select SQL 실행
SELECT * FROM S3Object s WHERE s.Age > 30
📌 결과 데이터
3,Bob,35,Canada
📌 데이터 크기 예측
- 파일 크기: 1MB
- 스캔된 데이터: 1MB (전체 파일을 읽었음)
- 반환된 데이터: 20KB (필터링된 데이터만 반환)
➡ "스캔된 데이터"가 클수록 비용이 증가할 수 있음 ⚠️
🔹 "스캔된 데이터" 크기 확인 방법
S3 Select API 응답에서 스캔된 데이터 크기를 확인할 수 있습니다.
1️⃣ AWS CLI에서 확인
aws s3api select-object-content \\
--bucket my-bucket \\
--key data.csv \\
--expression "SELECT * FROM S3Object s WHERE s.Age > 30" \\
--expression-type SQL \\
--input-serialization '{"CSV": {"FileHeaderInfo": "USE"}}' \\
--output-serialization '{"CSV": {}}'
📌 결과 (로그 출력)
"ScannedBytes": 1048576,
"ReturnedBytes": 20480
➡ S3 Select가 1MB를 스캔하고, 20KB만 반환
🔹 "스캔된 데이터" 크기를 줄이는 방법
스캔된 데이터 크기가 클수록 비용이 증가할 수 있기 때문에 최적화가 중요합니다.
✅ 1. CSV 대신 Parquet 형식 사용
- Parquet은 컬럼 저장 방식이므로, 필요한 컬럼만 읽을 수 있어 스캔 데이터를 줄일 수 있음
✅ 2. 압축된 파일(GZIP, BZIP2) 사용
- S3 Select는 압축된 CSV 파일도 읽을 수 있음
- 압축하면 스캔 데이터 크기를 줄일 수 있음
✅ 3. SELECT 특정 컬럼만 조회 (SELECT * 지양)
- SELECT * 대신 필요한 컬럼만 선택하면 스캔 데이터 감소
SELECT Name, Country FROM S3Object s WHERE s.Age > 30
✅ 4. WHERE 조건을 최대한 활용
- 필터링을 적용하면 반환된 데이터는 줄어들지만,
- 파일의 구조에 따라 스캔된 데이터는 줄어들지 않을 수도 있음
- 따라서 컬럼 저장 방식(Parquet)과 함께 사용하면 더 효과적
📌 결론
- "스캔된 데이터" = S3 Select가 파일에서 쿼리를 실행하기 위해 읽은 데이터 크기
- "반환된 데이터" = 최종적으로 쿼리 결과로 반환된 데이터 크기
- 스캔된 데이터 크기가 클수록 비용이 증가하므로 최적화 필요
- Parquet 사용, 압축 적용, SELECT 컬럼 최적화 등의 방법으로 최적화 가능
🎬 유튜브 채널 🎬
위로그@WiLog
📢 안녕하세요, 위로그@WiLog 시청자 여러분, 저는 윌리(Willee) 입니다. 📢 위로그@WiLog 는 자기계발을 목적으로 하는 채널 입니다. 📢 오늘도 즐겁게~ 자신을 위한 계발을 함께 해보아요~ d^_^b 📌
www.youtube.com
🎬 치지직 채널 🎬
위로그 채널 - CHZZK
지금, 스트리밍이 시작됩니다. 치지직-
chzzk.naver.com
'컴퓨터' 카테고리의 다른 글
👨💻 [AWS] AWS 에서 S3 Select에 의해 반환된 데이터 란 무엇인가요? (0) | 2025.04.02 |
---|---|
👨💻 [AWS] AWS 에서 Route 53 서비스의 호스팅 영역과 레코드 란 무엇인가요? (0) | 2025.04.02 |
👨💻 [AWS] AWS 에서 Route 53 서비스의 트래픽 흐름 이란 무엇인가요? (0) | 2025.04.02 |
👨💻 [AWS] AWS 의 S3 서비스에 업로드되어 있는 파일을 대상으로 각 파일 별로 Pre Signed URL을 동시에 몇개까지 생성 가능한가요? (0) | 2025.04.01 |
👨💻 [AWS] AWS 의 S3에 파일을 업로드 및 다운로드 하도록 클라이언트를 구현하는데, 개인 도메인을 S3 저장소와 연결해서 사용할 수 있을까요? (0) | 2025.04.01 |