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本文由 LCTT 组织编译，Linux中国 荣誉推出