用 Apache Calcite 構建強大的實時流式應用
Calcite 是一個數據框架,它允許你創建自定義資料庫功能,微軟開發者 Atri Sharma 在 Apache 2016 年 11 月 14-16 日在西班牙塞維利亞舉行的 Big Data Europe 中對此進行了講演。
Apache Calcite 數據管理框架包含了典型的資料庫管理系統的許多部分,但省略了如數據的存儲和處理數據的演算法等其他部分。 Microsoft 的 Azure Data Lake 的軟體工程師 Atri Sharma 在西班牙塞維利亞的 Apache:Big Data 會議上的演講中討論了使用 Apache Calcite 的高級查詢規劃能力。我們與 Sharma 討論了解有關 Calcite 的更多信息,以及現有程序如何利用其功能。
Linux.com:你能提供一些關於 Apache Calcite 的背景嗎? 它有什麼作用?
Atri Sharma:Calcite 是一個框架,它是許多資料庫內核的基礎。Calcite 允許你構建自定義的資料庫功能來使用 Calcite 所需的資源。例如,Hive 使用 Calcite 進行基於成本的查詢優化、Drill 和 Kylin 使用 Calcite 進行 SQL 解析和優化、Apex 使用 Calcite 進行流式 SQL。
Linux.com:有哪些是使得 Apache Calcite 與其他框架不同的特性?
Atri:Calcite 是獨一無二的,它允許你建立自己的數據平台。 Calcite 不直接管理你的數據,而是允許你使用 Calcite 的庫來定義你自己的組件。 例如,它允許使用 Calcite 中可用的 Planner 定義你的自定義查詢優化器,而不是提供通用查詢優化器。
Linux.com:Apache Calcite 本身不會存儲或處理數據。 它如何影響程序開發?
Atri:Calcite 是資料庫內核中的依賴項。它針對的是希望擴展其功能,而無需從頭開始編寫大量功能的的數據管理平台。
Linux.com:誰應該使用它? 你能舉幾個例子嗎?**
Atri:任何旨在擴展其功能的數據管理平台都應使用 Calcite。 我們是你下一個高性能資料庫的基礎!
具體來說,我認為最大的例子是 Hive 使用 Calcite 用於查詢優化、Flink 解析和流 SQL 處理。 Hive 和 Flink 是成熟的數據管理引擎,並將 Calcite 用於相當專業的用途。這是對 Calcite 應用進一步加強數據管理平台核心的一個好的案例研究。
Linux.com:你有哪些期待的新功能?
Atri:流式 SQL 增強是令我非常興奮的事情。這些功能令人興奮,因為它們將使 Calcite 的用戶能夠更快地開發實時流式應用程序,並且這些程序的強大和功能將是多方面的。流式應用程序是新的事實,並且在流式 SQL 中具有查詢優化的優點對於大部分人將是非常有用的。此外,關於暫存表的討論還在進行,所以請繼續關注!
via: https://www.linux.com/news/build-strong-real-time-streaming-apps-apache-calcite
作者:AMBER ANKERHOLZ 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive