Presto란 무엇인가요?
IBM watsonx.data 살펴보기
Presto를 사용할 때와 같이 서버 간에 데이터가 이동하는 것을 보여주기 위해 서로 다른 위치로 데이터 조각을 옮기는 손.

Presto 또는 Presto 데이터베이스(PrestoDB)는 다양한 데이터 소스의 대규모 데이터 세트를 쿼리할 수 있는 오픈 소스 분산형 SQL 쿼리 엔진으로, 기업이 대규모 데이터 문제를 해결할 수 있도록 지원합니다. 이는 모든 규모의 조직에 온프레미스 시스템 및 클라우드를 포함한 다양한 소스의 빅데이터를 분석할 수 있는 빠르고 효율적인 방법을 제공합니다. 또한 Presto는 기업이 새로운 언어를 배울 필요 없이 현재 사용 중인 SQL 기능을 사용하여 페타바이트 규모의 데이터를 쿼리할 수 있도록 지원합니다.

오늘날 Presto는 Hadoop 및 기타 일반적인 데이터 스토리지 제공업체에서 쿼리를 실행하는 데 가장 일반적으로 사용되며, 사용자가 여러 쿼리 언어와 데이터베이스 및 스토리지에 대한 인터페이스를 관리할 수 있게 해줍니다. 

디지털 시대에 빅데이터 분석은 규모나 업종에 관계없이 기업의 핵심 역량으로 빠르게 자리 잡고 있습니다. 비즈니스 프로세스, 고객 선호도, 시장 동향과 관련된 대량의 데이터를 수집, 저장 및 분석하는 능력은 매우 중요합니다. 데이터 분석에서 Presto의 가장 큰 장점은 데이터 저장 위치에 관계없이 데이터를 데이터 웨어하우스나 데이터 레이크와 같은 보다 구조화된 시스템으로 먼저 옮기지 않고도 데이터를 분석할 수 있다는 점입니다.

watsonx.data 작동 방식 살펴보기

이 데모를 클릭하여 watsonx.data를 시작하는 방법, 외부 소스에 연결하고 여러 소스의 데이터를 쿼리하는 등의 작업을 수행하는 방법을 알아보세요.

관련 내용

IBM 뉴스레터 구독하기

Presto의 이점

Presto는 여러 쿼리 언어, 사일로화된 데이터베이스 및 다양한 유형의 스토리지를 다루는 데이터 과학자 및 엔지니어에게 인기 있는 도구가 되었습니다. 고성능 기능을 통해 사용자는 간단한 ANSI SQL 인터페이스를 사용하여 데이터 위치에 관계없이 대량의 데이터를 실시간으로 쿼리할 수 있습니다. Presto는 대량의 데이터에 대한 쿼리를 실행하는 속도와 성능으로 인해 Facebook, Airbnb, Netflix, Microsoft, Apple(iOS) 및 AWS(Athena 및 Amazon s3)를 비롯한 세계 최대 기업에 없어서는 안 될 도구가 되었습니다.

Presto 아키텍처는 데이터가 저장된 위치에 관계없이 데이터를 쿼리할 수 있도록 구축되어 다른 유사한 솔루션보다 확장성과 효율성이 뛰어나다는 점에서 독보적입니다. Presto 쿼리를 통해 엔지니어는 데이터를 한 위치에서 다른 위치로 물리적으로 이동할 필요 없이 데이터를 사용할 수 있습니다. 이는 조직이 저장 및 분석해야 하는 데이터의 양이 계속 증가하는 상황에서 갖추어야 할 중요한 기능입니다.

Presto는 데이터 과학자와 엔지니어가 스토리지의 소스나 유형에 관계없이 방대한 양의 데이터를 대화형으로 쿼리할 수 있도록 구축되었습니다. Presto는 데이터를 저장하지 않고 쿼리를 위해 별도의 데이터베이스와 통신하기 때문에 경쟁사보다 유연성이 뛰어나며, 조직의 변화하는 요구에 따라 쿼리를 신속하게 확장하거나 축소할 수 있습니다. IBM 백서에 따르면, 비즈니스 인텔리전스(BI) 워크로드에 최적화된 Presto는 기업이 데이터 웨어하우스의 가격을 최적화하고 비용을 최대 50%까지 절감할 수 있도록 지원합니다. 

Presto 워크플로를 사용하면 얻을 수 있는 몇 가지 주요 이점은 다음과 같습니다.

비용 절감: 데이터 웨어하우스의 규모와 쿼리를 수행하는 사용자 수가 증가함에 따라 기업의 비용이 급격히 증가하는 경우가 많습니다. 그러나 Presto는 대량의 소규모 쿼리에 최적화되어 있어 어떤 양의 데이터도 쉽게 쿼리할 수 있으며 비용도 절감할 수 있습니다. 또한 Presto는 오픈 소스이기 때문에 배포와 관련된 비용이 들지 않으므로 대량의 데이터를 처리하려는 기업에서는 상당한 비용 절감 효과를 얻을 수 있습니다.

확장성 향상: 엔지니어가 단일 데이터 레이크 스토리지 시스템에 여러 엔진과 언어를 설정하는 것이 일반적이며, 이로 인해 향후 플랫폼을 다시 구축해야 하고 솔루션의 확장성이 제한될 수 있습니다. Presto를 사용하면 모든 쿼리가 범용 ANSI SQL 언어 및 인터페이스를 사용하여 수행되므로 플랫폼 재구성이 불필요합니다.또한 Presto는 소규모 및 대규모 데이터 모두에 사용할 수 있으며 사용자 수를 한두 명에서 수천 명으로 쉽게 확장할 수 있습니다.Presto는 고유한 SQL 언어와 API를 갖춘 여러 컴퓨팅 엔진을 배포하므로 엔지니어와 데이터 과학자 팀에서 처리하기에는 너무 복잡하고 시간이 많이 소요되는 워크로드 확장에 이상적인 도구입니다.

더 나은 성능: Hadoop에서 SQL을 실행하는 많은 쿼리 엔진은 결과를 디스크에 쓰도록 구축되었기 때문에 컴퓨팅 성능이 제한되는 반면, Presto의 분산형 인메모리 모델은 대규모 데이터 세트에 대해 한 번에 많은 양의 대화형 쿼리를 실행할 수 있습니다. 기존의 대규모 병렬 처리(MPP) 설계에 따라 Presto는 단일 작업자 노드에서 가능한 한 많은 쿼리를 예약하고 인메모리 스트리밍 셔플을 사용하여 처리 속도를 더욱 높입니다. 작업을 인메모리에서 실행하면 단계 간 디스크 쓰기와 읽기가 중복되고 각 쿼리 실행 시간이 단축되므로 Presto는 경쟁사보다 짧은 지연 시간을 제공하는 옵션이 됩니다.

유연성 향상: Presto는 Cassandra, Kafka, MySQL, Hadoop 분산 파일 시스템(HDFS), PostgreSQL 등을 포함한 모든 데이터 소스에 플러그 앤 플레이 모델을 사용하므로 이러한 기능이 없는 다른 유사한 도구보다 더 빠르고 쉽게 쿼리할 수 있습니다. 또한 Presto의 유연한 아키텍처는 단일 공급업체에 국한되지 않고 대부분의 Hadoop 배포판에서 실행되므로 가장 이식성이 뛰어난 도구 중 하나입니다.

Presto는 개발자와 데이터 엔지니어가 사용할 수 있는 유일한 SQL-on-Hadoop 옵션은 아니지만, 쿼리 기능을 데이터 스토리지와 분리하는 고유한 아키텍처로 인해 가장 유연한 옵션 중 하나입니다. 다른 도구와 달리 Presto는 쿼리 엔진을 데이터 스토리지에서 분리하고 커넥터를 사용하여 쿼리 엔진 간에 통신합니다. 이 추가 기능은 엔지니어가 Presto를 사용하여 솔루션을 구성하는 방법에 있어 다른 도구보다 더 많은 유연성을 제공합니다.

Presto는 어떻게 작동하나요?

Presto는 다른 노드와 함께 작동하는 하나의 코디네이터 노드가 있는 MPP 데이터베이스 관리 시스템을 사용합니다. Presto 에코시스템은 코디네이터 서버, 작업자 서버 및 리소스 관리자 서버의 세 가지 서버 유형으로 구성됩니다.

코디네이터: 코디네이터는 Presto 설치에서 "브레인"으로 간주됩니다. 이는 구문 분석, 쿼리 계획, Presto 작업자 노드 관리 등 가장 중요한 작업 중 일부를 담당합니다. 궁극적으로 작업자 노드에서 데이터를 검색하고 결과를 클라이언트에 전달하는 역할을 담당합니다.

작업자: 작업자는 작업자 노드에서 데이터를 수집하고 작업자와 커넥터 간의 원활한 데이터 교환을 담당합니다.

리소스 관리자: 리소스 관리자는 모든 코디네이터 및 작업자 노드에서 데이터를 수집하여 글로벌 보기, 즉 "Presto 클러스터"를 생성합니다. 

Presto 코디네이터 SQL 서버가 사용자로부터 SQL 쿼리를 받으면 가장 먼저 하는 일은 사용자 지정 쿼리를 사용하여 다른 노드에 분산 계획을 구문 분석, 계획 및 예약하는 것입니다. Presto Rest API는 서버에서 실행할 쿼리문을 제출하고 클라이언트에 대한 결과를 검색하는 데 사용됩니다. Presto는 조인, 쿼리, 하위 쿼리 및 집계를 포함한 표준 ANSI SQL 의미를 지원합니다. 쿼리가 컴파일되면 Presto는 요청을 작업자 노드 간의 여러 단계로 구문 분석합니다.

Presto는 데이터 추상화 개념을 기반으로 구축되었기 때문에 모든 데이터 소스로 확장할 수 있으며 데이터 레이크, 데이터 웨어하우스, 관계형 데이터베이스와 같은 데이터 소스를 쉽게 쿼리할 수 있습니다. 데이터 추상화는 데이터 표현을 물리적 스토리지와 분리하여 데이터를 보다 효율적으로 저장하고 조작할 수 있도록 하는 프로그래밍 프로세스입니다. 이러한 추상화를 통해 쿼리 엔진은 해당 쿼리와 관련된 데이터 측면에만 집중할 수 있습니다. 데이터 추상화 프로세스를 사용하면 데이터를 다른 분석 시스템으로 옮긴 후가 아니라 저장되는 모든 위치에서 데이터를 쿼리할 수 있습니다.

Presto의 간략한 역사

Presto는 처음에 대규모 Apache Hadoop 데이터 웨어하우스에서 대화형 쿼리를 실행하기 위해 Facebook에서 개발했습니다. Presto의 개발자들은 Presto를 항상 오픈 소스 소프트웨어로 구상했으며, 누구나 데이터 분석 및 데이터 관리에 사용할 수 있도록 상업용으로 무료로 제공하고자 했습니다. 2013년에 Presto는 누구나 Apache Software 라이선스에 따라 다운로드할 수 있도록 GitHub에서 오픈 소스로 공개되었습니다. 2019년에 Presto 개발팀의 원래 멤버 중 3명이 프로젝트를 떠나 Presto Software Foundation 또는 더 일반적으로는 prestosql로 알려진 Presto를 모방한 기업을 설립했습니다.

Linux 재단 및 기타 오픈 소스 커뮤니티에서는 인증 취득을 원하는 엔지니어와 개발자를 위해 영어 및 기타 언어로 Presto에 대한 웨비나 및 교육을 제공합니다. 이 포럼은 Presto의 새로운 기능을 알아볼 수 있는 좋은 장소이기도 합니다.

Presto 사용 사례 

Presto를 사용하면 조직은 다양한 비즈니스 목적을 위해 대규모 데이터 리포지토리와 NoSQL 데이터베이스를 빠르고 효율적으로 쿼리할 수 있습니다. 다음은 몇 가지 가장 일반적인 사용 사례입니다.

임시 쿼리

Presto를 사용하면 다양한 비즈니스 목적을 위한 신속한 데이터 탐색과 간단한 보고가 가능합니다. 사용자는 Hive, MongoDB 또는 Cassandra와 같은 인기 있는 Presto 커넥터를 사용하여 관심 있는 데이터를 쿼리하고 몇 초 만에 결과를 얻을 수 있습니다. 속도와 유연성을 갖춘 Presto는 사용자가 어디에 있든 데이터 세트를 반복하고 추가로 탐색할 수 있도록 지원합니다.

다음은 Presto가 연결할 수 있는 가장 널리 사용되는 데이터 리포지토리입니다.

  • BigQuery
  • HDFS
  • 클라우드 스토리지
  • Cloud SQL for MySQL
  • Apache Cassandra 또는 Kafka
클라우드 및 하이브리드 클라우드 배포

RedHat의 2021년 성능 평가에 따르면, 기업의 하이브리드 클라우드 환경 사용이 증가함에 따라 클라우드 네이티브 스토리지에 대한 압박이 가중되고 있습니다. "오늘날 사용 가능한 가장 빠른 분산 쿼리 엔진"인 Presto는 이러한 상황에 맞는 이상적인 솔루션입니다. 1 워크로드를 온프레미스 환경에서 클라우드 또는 하이브리드 클라우드 인프라로 이동하면 성능과 확장성 향상 등 많은 이점이 있습니다. Presto의 아키텍처는 추가 프로비저닝, 구성 또는 조정 없이 몇 분 안에 시작할 수 있기 때문에 이러한 배포에 적합한 선택지입니다. 

머신 러닝(ML)

Presto는 데이터를 머신 러닝에 사용할 수 있도록 엔지니어가 매우 효율적인 방식으로 데이터를 준비하고 주요 엔지니어링 및 추출을 수행할 수 있도록 지원합니다. Presto의 커넥터 수, SQL 엔진 및 쿼리 기능 등은 대용량 데이터에 빠르고 쉽게 액세스하려는 엔지니어에게 이상적입니다. 또한 Presto에는 집계와 같은 ML 기능을 위해 특별히 설계된 도구가 있어 데이터 과학자가 지도 학습 문제를 해결하기 위해 SVM(지원 벡터 머신) 분류기와 회귀자를 훈련할 수 있습니다.

보고

Presto를 사용하면 여러 소스에서 데이터를 쿼리하여 BI 용도로 쉽게 액세스할 수 있는 단일 보고서 또는 대시보드를 생성할 수 있습니다. Presto는 분석가가 엔지니어의 도움 없이 쿼리를 수행하고 보고서를 작성할 수 있을 만큼 간단하고 사용하기 쉽습니다.

분석

Presto를 사용하면 분석가는 데이터 변환 프로세스를 거치지 않고 데이터 레이크에서 직접 정형 및 비정형 데이터에 대한 쿼리를 수행할 수 있습니다.

데이터 준비

데이터를 수집하고 준비하는 과정은 비용이 많이 들고 비효율적일 수 있습니다. 데이터 과학자는 데이터를 분석하기도 전에 데이터를 수집하고 준비하는 데 매일 몇 시간을 할애해야 할 수도 있습니다. Presto는 이 프로세스를 빠르고 정확하게 자동화하여 데이터 과학자와 엔지니어가 더 가치 있는 업무에 더 많은 시간을 집중할 수 있도록 지원합니다.  

NVMe 솔루션
데이터 및 AI IBM watsonx.data

Presto는 오픈 소스이며 수동으로 설치할 수 있습니다. 또한 Presto를 IBM watsonx.data와 같은 데이터 레이크하우스 솔루션과 함께 사용하여 AI 워크로드를 더욱 빠르게 확장할 수 있습니다. IBM watsonx.data는 목적에 맞는 데이터 저장소로, 오픈 레이크하우스 아키텍처에 구축되고 쿼리, 거버넌스 및 오픈 데이터 형식이 지원되어 데이터 액세스 및 공유를 지원합니다.

IBM watsonx.data에 대해 자세히 알아보기

관련 자원 Presto: 규모에 상관없이 어디서나 모든 데이터 활용

빠르고 유연한 오픈 소스 SQL 쿼리 엔진인 Presto가 기업이 필요로 하는 인사이트를 제공하는 데 어떻게 도움이 되는지 알아보세요.

기업의 AI 워크로드 확장을 지원하는 IBM

기업이 정형 및 비정형 데이터를 쉽게 통합하고 관리할 수 있도록 지원하는 데이터 저장소인 IBM watsonx.data에 대해 자세히 알아보세요.

오픈 데이터 레이크하우스 아키텍처와 IBM watsonx.data의 파괴적 잠재력

오픈 데이터 레이크하우스 아키텍처를 살펴보고 데이터 레이크의 유연성 및 비용 이점을 데이터 웨어하우스의 성능과 결합하는 방법을 알아보세요.

IBM watsonx.data: 오픈, 하이브리드 및 거버넌스 데이터 저장소

IBM watsonx.data가 기업이 오늘날의 복잡한 데이터 환경의 과제를 해결하고 필요에 맞게 AI를 확장하는 데 어떻게 도움이 되는지 알아보세요.

다음 단계 안내

빠르고 유연한 오픈 소스 SQL 쿼리 엔진인 Presto와 IBM watsonx.data를 통해 필요한 인사이트를 확보하세요. 어디서나 모든 데이터에 대해 AI 워크로드를 확장할 수 있는 오픈 하이브리드 관리형 데이터 저장소입니다.

IBM watsonx.data 알아보기
각주

1 데이터베이스 및 분석을 위한 외부 모드 성능 특성화(ibm.com 외부 링크) Red Hat, 2021년 1월 18일