1 Answer
- Newest
- Most votes
- Most comments
0
안녕하세요. AWS 서포트팀입니다.
문의 주셔서 감사합니다.
여러가지 의견을 주셨지만 문제는 S3에 데이터를 저장할 시 파티션 VS Prefix 중 어떤것으로 할지에 대한 고민인 것 같습니다.
이문제는 어떠한 쿼리 패턴이 더 많느냐에 따라 다를 것 같습니다.
- 매번 수십테라바이트의 데이터를 2000년부터 현재까지 읽는 업무가 많다면 말씀하신 대로 A번이 유리할 것 이고
- 특정한 기간에 대한 조건이 포함된 쿼리가 많다면 파티션된 데이터 구조를 이용하는 것이 성능이 좋으리라 생각합니다. 왜냐하면 대부분의 SQL on To of Hadoop(Hive, Presto(Athean) 등 ) 솔루션에서 파티션 기능을 사용할 경우 내부적으로 메타정보를 가지고 있고, 쿼리 시행시 메타정보를 참고하여 해당 데이터가 있는 위치만 읽는 기능을 제공하기 때문입니다.
매번 수십테라바이트의 데이터를 읽는 업무라 하더라도 B방법(파티션)을 권장드립니다. 왜냐하면 많은 양의 데이터를 한번에 작업하다보면 아무래도 메모리나 리소스 이슈가 있을 수 있고 소요되는 시간이 많이 걸리므로 많은 양의 데이터를 조금씩 나누어서 분석/작업하는 것이 더 효율적일 수 있기 때문입니다.
추가적으로 파일 이름을 random하게 주는 방식보다는 중간 경로에 "/버켓이름/2000-01-01/sdkf1js6hdk2jfh/filename.csv" 임의의 문자가 포함되는 것이 더 성능에 도움이 되고, 키 이름에 해시 문자열을 접두사로 추가하는 방법도 있습니다. (http://docs.aws.amazon.com/ko_kr/AmazonS3/latest/dev/request-rate-perf-considerations.html )
Athena 는 저희 내부 문서를 참고했을 때 올해 말이나 그 이후에나 가능할 것으로 보입니다 .
감사합니다.
answered 7 years ago
Relevant content
- asked a year ago
- asked 6 months ago
- asked 7 months ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 9 months ago
- AWS OFFICIALUpdated 2 years ago