Presto SQL,現在是 Trino,將大數據分析查詢引擎的優勢帶入數據湖
已發表: 2021-05-27大數據處理是這個數字時代的關鍵方面之一。 公司使用更多的人工智能、機器學習和數據分析來產生和收集更多數據。 因此,它會導致需要高效查詢和分析的海量數據。
這就是雲計算和 Presto 可以提供幫助的地方。
什麼是 Presto?
根據亞馬遜 AWS 的定義:Presto 是一個分佈式 SQL 查詢引擎,旨在對任何規模的數據集執行快速分析查詢。 它在 2020 年底更名為 Trino,以將該項目與 Prestodb 分開。
Presto 具有開源的優勢,這意味著它會定期更新,並且開發人員經常為它做出貢獻。
Presto 平台適用於非關係數據源,例如:
- 亞馬遜 S3
- Hadoop
- 高密度文件系統
- MongoDB
- HBase
和關係數據庫,如:
- 我的空間
- PostgresSQL 和
- 微軟 SQL 服務器
使用 Presto,您可以查詢存儲在任何位置的數據。 這意味著您不需要將數據傳輸到關係數據庫或數據倉庫中。 Presto 是為 SQL 創建的,支持標準 SQL 語義。 這包括子查詢、複雜查詢、外連接、不同計數和近似百分位數。
執行查詢也更快,因為它與基於內存的架構並行運行。 因此,您不必再擔心查詢海量數據庫需要多長時間。 結果會在幾秒鐘內返回。
了解如何在其文檔中部署 Presto 及其架構。
另請閱讀:如何在 Windows 10 上更新設備驅動程序? {簡單指南}
關鍵概念
關鍵 SQL 概念廣為人知。 要了解 Presto 的工作原理,我們首先需要了解它的核心概念。
服務器類型
Presto 使用兩種服務器類型:協調服務器和工作服務器。 工作節點處理查詢,從連接器獲取數據。 協調器獲取結果並將它們發送給客戶端。 協調器服務器還解析語句和管理節點。

它的工作原理類似於大規模並行處理數據庫管理系統。
圖片來源:tutorialspoint
Presto 使用連接器在分佈式系統和源(例如 Amazon S3)之間建立鏈接。 Presto 的眾多連接器,連接到關係和非關係源,使系統可以擴展到幾乎任何數據源。
另請閱讀:如何在 Windows 10、8、7 上更新驅動程序 – 更新設備驅動程序
Presto 如何處理查詢?
當 presto 收到查詢時,它通過將其分成多個階段來執行它。 通常,系統會創建根階段和相關階段。 然後這些階段被分配到工作節點上的任務中。
使用 Presto 的優勢
Presto 在 Netflix、Facebook、Atlassian 和 Airbnb 等大型企業中變得非常流行。 例如,Facebook 每天使用 Presto 處理 1 PB 的數據,運行超過 3 萬次查詢。
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 相同的 Window 函數。
另請閱讀:如何在 Windows 10 中更新圖形驅動程序 {簡單指南}
您可以使用 Presto 做什麼?
Presto 用於各行各業的各種用例。 它特別適用於即席和交互式查詢。 讓我們探索一些常見的用例:
數據湖分析
您可以使用 PrestoSQL 查詢數據湖上的數據,而無需轉換數據。 Presto 允許您查詢數據所在的位置。 因此,您可以使用它通過查詢結構化和非結構化數據來增強您的數據湖分析能力。
即席查詢
Presto 允許您隨時運行查詢,無論您的數據位於何處。 更好的是,使用 Presto 連接器,您的團隊可以訪問各種數據源中的數據集,並且由於查詢在幾秒鐘而不是幾小時內運行,因此您的系統執行得更快。
批量 ETL
您可以使用 Presto 運行對資源有效的查詢,而不是使用傳統的批處理系統。 您可以聚合來自多個數據源的數據並進行高吞吐量查詢。
總而言之,Presto 對需要處理大量數據、執行臨時交互式查詢以及從不同數據源運行分析的公司而言具有多項優勢。