S3 스캔 문서 메타데이터 검색 최적화 — OpenSearch가 정답인 이유
AWS DEA-C01 시험에 자주 나오는 검색 성능 최적화 문제입니다. S3에 저장된 수십만 개의 스캔 문서에서 ML로 추출한 메타데이터를 지원자 이름·날짜·텍스트로 빠르게 검색해야 할 때, OpenSearch / Athena / Redshift / EMR Presto 중 어떤 방식이 성능에 가장 최적화되어 있는지 도식과 함께 비교 정리합니다.
📋 문제
한 회사에서는 수십만 개의 스캔한 문서를 Amazon S3에 이미지로 저장한다. 이 문서에는 타자로 입력된 입사 지원서가 포함되어 있으며, 지원자 이름, 지원자 성, 지원 날짜, 지원자 위치 및 지원 텍스트가 입력되어 있다.
이 회사에서는 스캔한 문서에서 메타데이터 값을 추출하는 ML 알고리즘을 보유하고 있다. 회사에서는 데이터 분석가가 지원자 이름, 지원 날짜 또는 지원 텍스트를 사용하여 지원서를 검색할 수 있도록 하려고 한다.
다음 중 성능에 가장 최적화된 방식으로 이러한 요구 사항을 충족하는 솔루션은 무엇인가?
✅ 핵심 요구사항 체크
-
이름 · 날짜 · 텍스트 기반 검색 (Full-Text Search)
단순 쿼리가 아닌 자유 텍스트 검색 → 전문 검색(Full-Text Search) 엔진이 유리 -
성능 최적화 (검색 속도)
수십만 개 문서에서 빠른 응답 → 인덱스 기반 조회가 테이블 스캔보다 월등히 빠름 -
S3 이미지와 메타데이터 연결
ML이 추출한 메타데이터 + S3 원본 파일 위치를 함께 저장하고 검색 가능해야 함
📐 전체 데이터 파이프라인
🔑 검색 방식의 핵심 차이 — 인덱스 vs 스캔
- 단어 → 문서 목록 즉시 조회
- 수십만 건도 밀리초(ms) 응답
- 부분 일치·유사 검색 기본 지원
- 전문 검색(Full-Text) 최적화
- 조건에 맞는 행을 처음부터 스캔
- 데이터 양 많을수록 느려짐
- 분석 쿼리에 최적화된 구조
- 텍스트 검색 기능 제한적
📊 솔루션별 성능 비교
| 솔루션 | 텍스트 검색 | 날짜 검색 | 이름 검색 | 검색 응답속도 | 관리 복잡도 |
|---|---|---|---|---|---|
| OpenSearch ⭐ | ●●● | ●●● | ●●● | 최고 (ms) | 낮음 |
| Athena + Parquet | ●●○ | ●●● | ●●○ | 보통 (초) | 낮음 |
| Redshift | ●○○ | ●●● | ●●○ | 보통 (초) | 중간 |
| EMR Presto | ●○○ | ●●● | ●●○ | 느림 (분) | 높음 |
● 많을수록 우수 / ○ 부족
📝 선택지 해설
각 항목을 클릭하면 해설이 펼쳐집니다.
정답: B — Amazon OpenSearch Service
텍스트·이름·날짜 검색 성능이 핵심인 이 시나리오에서 역색인 기반의 OpenSearch가 유일하게 밀리초 수준 응답을 보장합니다. ML이 추출한 메타데이터를 인덱싱할 때 S3 파일 경로도 함께 저장하면, 분석가가 OpenSearch Dashboards에서 검색 즉시 원본 문서에 접근할 수 있습니다.
📊 선택지 비교 요약
| 솔루션 | 검색 방식 | 텍스트 검색 성능 | 관리 오버헤드 | 적합 용도 |
|---|---|---|---|---|
| OpenSearch ⭐ | 역색인 | ✅ 최고 (ms) | 낮음 | 전문 검색 |
| Athena + Parquet | S3 스캔 | ⚠️ 보통 (초) | 낮음 | 데이터 레이크 분석 |
| Redshift | 열 기반 스캔 | ⚠️ 보통 (초) | 중간 | 대규모 집계 분석 |
| EMR Presto | 분산 스캔 | ❌ 느림 (분) | 높음 | 대용량 배치 처리 |
'Stack > AWS' 카테고리의 다른 글
| [AWS DEA] Domain 1 데이터 변환 및 처리 완전 정리 (1) | 2026.03.16 |
|---|---|
| [AWS DEA] Domain 1 데이터 수집(Data Ingestion) 완전 정리 (0) | 2026.03.15 |
| [AWS DEA] Data Engineering Fundamentals (with AWS Toolkit) (0) | 2026.03.15 |
| [AWS DEA] 문제로 공부하기 19 - AppFlow (0) | 2026.03.15 |
| [AWS DEA] 문제로 공부하기 18 - S3-IA + Glacier Flexible Retrieval + 삭제 (0) | 2026.03.15 |