Presto (SQL查詢引擎)

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
Presto
原作者Martin Traverso, Dain Sundstrom, David Phillips, Eric Hwang
首次發布2013年11月10日,​10年前​(2013-11-10
程式語言Java
作業系統跨平台
標準SQL
類型資料倉儲
許可協定Apache License 2.0
網站prestodb.io
prestosql.io

Presto是一種用於大數據的高效能分散式SQL查詢引擎。其架構允許使用者查詢各種資料來源,如Hadoop、AWS S3、Alluxio、MySQLCassandra、Kafka和MongoDB。甚至可以在單個查詢中查詢來自多個資料來源的資料。Presto是Apache許可證下發布的社群驅動的開源軟體。

歷史[編輯]

Presto最初是Facebook為資料分析師設計和開發的,用於在Apache Hadoop中的大型資料倉儲上執行互動式查詢。在Presto誕生之前,Facebook的資料分析師依靠Apache Hive在他們PB級的資料倉儲上執行SQL分析。Hive不適合Facebook的規模,而Presto是為了填補快速查詢這塊的差距而發明的。最初的開發始於2012年,並於當年晚些時候部署在Facebook上。2013年11月,Facebook宣布將其開源。[1][2] 2014年,Netflix透露他們使用Presto儲存在Amazon Simple Storage Service (S3)中的10 PB資料。[3] 2019年1月,Presto軟體基金會頁面存檔備份,存於網際網路檔案館)宣布成立。該基金會是一個致力於推進Presto開源分散式SQL查詢引擎的非營利組織[4][5]。由Facebook主導的PrestoDB的開發與由Presto基金會主導的PrestoSQL的開發各自獨立進行,有時會有一些代碼交錯。

架構[編輯]

Presto的架構非常類似於使用叢集計算(MPP)的傳統資料庫管理系統。它可以視為一個協調器節點,與多個工作節點同步工作。客戶端提交已解析和計劃的SQL語句,然後將並列任務安排給工作機。工作機一同處理來自資料來源的行並生成返回給客戶端的結果。與在每個查詢上使用Hadoop的MapReduce機制的原始Apache Hive執行模型相比,Presto不會將中間結果寫入磁碟,從而顯著提高速度。Presto是用Java語言編寫的。單個Presto查詢可以組合來自多個源的資料。Presto提供資料來源的連接器,包括Alluxio、Hadoop分散式檔案系統、Amazon S3中的檔案、MySQLPostgreSQLMicrosoft SQL Server、Amazon Redshift、Apache Kudu、Apache Phoenix、Apache Kafka、Apache Cassandra、Apache Accumulo、MongoDB和Redis。與其他只支援Hadoop特定發行版的工具(如Cloudera Impala)不同,Presto可以使用任何風格的Hadoop,也可以不用Hadoop。Presto支援計算和儲存的分離,可以在本地和雲中部署。

參考資料[編輯]

  1. ^ Joab Jackson. Facebook goes open source with query engine for big data. Computer World. November 6, 2013 [April 26, 2017]. (原始內容存檔於2019-02-01). 
  2. ^ Jordan Novet. Facebook unveils Presto engine for querying 250 PB data warehouse. Giga Om. June 6, 2013 [April 26, 2017]. (原始內容存檔於2019-09-06). 
  3. ^ Eva Tse, Zhenxiao Luo, Nezih Yigitbasi. Using Presto in our Big Data Platform on AWS. Netflix technical blog. October 7, 2014 [April 26, 2017]. (原始內容存檔於2017-02-24). 
  4. ^ Presto Software Foundation Launches to Advance Presto Open Source Community. PRWeb. [2019-02-01]. (原始內容存檔於2020-04-24). 
  5. ^ Presto's New Foundation Signals Growth for the Big Data SQL Engine. The New Stack. 2019-01-31 [2019-02-01]. (原始內容存檔於2019-02-01) (美國英語). 

外部連結[編輯]