[간단 데이터 엔지니어링] 프레스토(Presto)란?
2021. 6. 2. 13:00ㆍ데이터 엔지니어링
개요
Presto는 페이스북에서 아주 많은 데이터를 빠르고 효율적으로 분석하기 위해 개발되었다. 페이스북에서는 300PB 규모의 데이터 웨어하우스에 쿼리할 때 사용하고 있으며 현재는 Airbnb와 Dropbox 등에서도 사용되고 있다.
다양한 소스를 지원해주는데 Hive, Cassandra, RDB, AWS S3 등에서 데이터를 읽을 수 있다.
Hive는 처리할 때 중간 결과를 디스크에 저장하지만 Presto는 메모리에 저장하기 때문에 속도가 훨씬 빠르다. 하지만 리소스를 더 사용하게 된다.
Architecture
Presto는 하나의 Coordinator가 다양한 소스에서 데이터를 가져와 Worker에게 전달을 해주는 역할을 한다.
쿼리 처리 방법
- 클라이언트에서 Coordinator로 쿼리를 보낸다.
- Coordinator는 쿼리를 분석하여 플랜을 작성한다.
- Worker가 작업을 할 수 있게 Task를 준다.
- Worker는 받은 Task를 기반으로 데이터 소스에 접근한다.
- 결과를 Coordinator에게 주는 작업 없이 Client로 바로 보내준다.
반응형
'데이터 엔지니어링' 카테고리의 다른 글
[MYSQL] Docker MYSQL 로그에서 "mbind: Operation not permitted" 이슈 해결방법 (0) | 2021.06.07 |
---|---|
[데이터 엔지니어링] RDS의 테이블을 Athena 에서 사용할 때의 문제 (0) | 2021.06.04 |
[🧙Kafka] 카프카 개념 - 신뢰성 있는 데이터 전달 (0) | 2021.04.14 |
[🧙Kafka] 카프카 개념 - 카프카 내부 이해하기 (0) | 2021.04.13 |
[🧙Kafka] 카프카 구축 (9) - 카프카 컨슈머로 카프카에서 데이터 읽기 (0) | 2021.04.11 |