Presto SQL(현재 Trino), Data Lakes에 빅 데이터 분석 쿼리 엔진의 장점 제공
게시 됨: 2021-05-27빅 데이터 처리는 이 디지털 시대의 중요한 측면 중 하나입니다. 기업은 더 많은 데이터를 생성하고 수집하는 더 많은 인공 지능, 기계 학습 및 데이터 분석을 사용합니다. 따라서 효율적으로 쿼리하고 분석해야 하는 방대한 양의 데이터가 생성됩니다.
여기에서 클라우드 컴퓨팅과 Presto가 도움이 될 수 있습니다.
프레스토란?
Amazon AWS 정의에 따르면 Presto는 모든 크기의 데이터 세트에 대해 빠른 분석 쿼리를 수행하기 위해 생성된 분산 SQL 쿼리 엔진입니다. 2020년 말에 Prestodb에서 프로젝트를 분리하기 위해 Trino로 브랜드를 변경했습니다.
Presto는 오픈 소스라는 장점이 있습니다. 즉, 정기적으로 업데이트되고 개발자가 자주 기여합니다.
Presto 플랫폼은 다음과 같은 비관계형 데이터 소스 와 함께 작동합니다.
- 아마존 S3
- 하둡
- HDFS
- 몽고DB
- HBase
그리고 다음과 같은 관계형 데이터베이스 :
- 내 공간
- PostgreSQL 및
- MS SQL 서버
Presto를 사용하면 데이터가 저장된 위치에 관계없이 데이터를 쿼리할 수 있습니다. 즉, 데이터를 관계형 데이터베이스나 데이터 웨어하우스로 전송할 필요가 없습니다. Presto는 SQL용으로 만들어졌으며 표준 SQL 의미 체계를 지원합니다. 여기에는 하위 쿼리, 복잡한 쿼리, 외부 조인, 고유 개수 및 대략적인 백분위수가 포함됩니다.
쿼리 실행도 메모리 기반 아키텍처와 병렬로 실행되기 때문에 더 빠릅니다. 따라서 대규모 데이터베이스를 쿼리하는 데 걸리는 시간에 대해 더 이상 걱정할 필요가 없습니다. 결과는 몇 초 안에 다시 나타납니다.
문서에서 Presto 및 해당 아키텍처를 배포하는 방법을 알아보세요.
또한 읽기: Windows 10에서 장치 드라이버를 업데이트하는 방법은 무엇입니까? {간단한 안내}
주요 컨셉
주요 SQL 개념은 널리 알려져 있습니다. Presto의 작동 방식을 이해하려면 먼저 핵심 개념을 이해해야 합니다.
서버 유형
Presto는 코디네이터 서버와 작업자 서버의 두 가지 서버 유형을 사용합니다. 작업자 노드는 쿼리를 처리하여 커넥터에서 데이터를 가져옵니다. 코디네이터는 결과를 가져와 클라이언트에 보냅니다. 코디네이터 서버는 또한 명령문을 구문 분석하고 노드를 관리합니다.
Massive Parallel Processing 데이터베이스 관리 시스템과 유사하게 작동합니다.
이미지 출처: tutorialspoint

Presto는 커넥터를 사용하여 분산 시스템과 소스(예: Amazon S3)를 연결합니다. 관계형 및 비관계형 소스에 대한 Presto의 수많은 커넥터를 통해 시스템을 거의 모든 데이터 소스로 확장할 수 있습니다.
또한 읽기: Windows 10,8,7에서 드라이버를 업데이트하는 방법 – 장치 드라이버 업데이트
Presto는 쿼리를 어떻게 처리합니까?
presto는 쿼리를 수신하면 쿼리를 여러 단계로 나누어 실행합니다. 일반적으로 시스템은 루트 단계 및 관련 단계를 생성합니다. 그런 다음 단계는 작업자 노드의 작업에 배포됩니다.
Presto 사용의 장점
Presto는 Netflix, Facebook, Atlassian 및 Airbnb와 같은 대기업에서 매우 인기를 얻고 있습니다. 예를 들어 Facebook은 Presto를 사용하여 매일 1페타바이트의 데이터를 처리하고 30,000개 이상의 쿼리를 실행합니다.
Presto에는 PrestoSQL(현재 Trino라고 함)과 PrestoDB라는 두 개의 개별 오픈 소스 프로젝트가 포함되어 있습니다. 다양한 유형의 데이터 레이크 및 데이터 웨어하우스 전반에 걸쳐 다양한 사용 사례에서 매우 인기가 있습니다. Presto를 인기 있게 만든 몇 가지 장점을 살펴보겠습니다.
1. 쉬운 통합
Presto의 주요 장점 중 하나는 수정할 필요 없이 기존 데이터 시스템과 통합된다는 것입니다. 따라서 Presto를 추가하면 기존 시스템을 조정할 필요 없이 빠른 분석 기능을 추가할 수 있습니다.
2. 더 빠른 성능
Presto가 개발된 이유 중 하나는 기존 Apache Hive가 대화형 쿼리에서 제대로 수행되지 않았기 때문입니다. Presto는 대화형 BI 쿼리를 처리하도록 설계되었습니다. 또한 푸시 모델을 따라 여러 단계를 동시에 사용하여 SQL 쿼리를 처리하므로 모든 단계가 단계 사이를 기다리지 않고 파이프라인됩니다.
또한 Presto는 데이터를 디스크에 쓸 필요 없이 메모리 대 메모리 데이터 전송을 지원하므로 성능이 향상됩니다.
3. 클라우드용으로 설계
Presto는 스토리지와 컴퓨팅을 별도로 실행하므로 클라우드 환경에 매우 적합합니다. PrestoSQL을 사용하는 회사는 데이터 손실 없이 부하에 따라 쉽게 확장 또는 축소할 수 있습니다. 이는 Presto 클러스터가 데이터를 저장하지 않기 때문에 발생할 수 있습니다.
4. 통합 SQL 인터페이스
SQL은 데이터 분석에 가장 많이 사용되는 언어입니다. 데이터 과학자, 분석가 및 엔지니어는 SQL을 사용하여 데이터를 처리, 분석 및 테스트하고 비즈니스 인텔리전스 도구와 통합합니다.
Presto는 SQL 소스에서 데이터를 쿼리할 수 있을 뿐만 아니라 Elasticsearch 및 Cassandra와 같은 NoSQL 데이터베이스에서도 데이터를 쿼리할 수 있습니다. ANSI-SQL 및 Postgres 연결을 지원합니다. 이를 통해 Presto는 다른 분산 시스템에는 없는 다용성을 제공합니다.
이 인터페이스는 PostgreSQL과 동일한 창 기능을 가지고 있기 때문에 중간 크기의 데이터에 이상적입니다.
또한 읽기: Windows 10 {간단한 가이드}에서 그래픽 드라이버를 업데이트하는 방법
어떤 용도로 Presto를 사용할 수 있습니까?
Presto는 다양한 사용 사례에 대해 산업 전반에 걸쳐 사용됩니다. 특히 임시 및 대화형 쿼리에 적합합니다. 몇 가지 일반적인 사용 사례를 살펴보겠습니다.
데이터 레이크 분석
PrestoSQL을 사용하여 데이터를 변환할 필요 없이 데이터 레이크에서 데이터를 쿼리할 수 있습니다. Presto를 사용하면 데이터가 있는 위치를 쿼리할 수 있습니다. 따라서 이를 사용하여 정형 및 비정형 데이터를 쿼리하여 데이터 레이크 분석을 강화할 수 있습니다.
임시 쿼리
Presto를 사용하면 데이터가 있는 위치에 관계없이 언제든지 쿼리를 실행할 수 있습니다. 더욱이 Presto 커넥터를 사용하면 팀이 다양한 데이터 소스의 데이터 세트에 액세스할 수 있고 쿼리가 몇 시간이 아닌 몇 초 만에 실행되기 때문에 시스템 성능이 더 빨라집니다.
일괄 ETL
레거시 일괄 처리 시스템을 사용하는 대신 Presto를 사용하여 리소스에 대해 효율적인 쿼리를 실행할 수 있습니다. 여러 데이터 원본에서 데이터를 집계하고 처리량이 많은 쿼리를 수행할 수 있습니다.
요약하면 Presto는 대량의 데이터를 처리하고, 임시 대화형 쿼리를 수행하고, 서로 다른 데이터 소스에서 분석을 실행해야 하는 회사에 몇 가지 이점이 있습니다.