-
Apache Calcite 动态数据管理框架-04-algebra
代数
关系代数是Calcite的核心。每个查询都表示为一棵关系运算符树。您可以从SQL翻译到关系代数,或者直接构建该树。
规划器规则使用保留语义的数学标识来转换表达式树。例如,如果过滤器不引用另一个输入的列,将过滤器推入内连接的输入是有效的。
Calcite通过反复应用规划器规则到关系表达式来优化查询。成本模型指导此过程,规划器引擎生成具有与原始表达式相同语义但成本更低的替代表达式。
...
2024-01-10 13:01:55 |
Database
-
Apache Calcite 动态数据管理框架-03-tutorial
教程
这是一个逐步教程,展示如何构建和连接到Calcite。
它使用一个简单的适配器,使CSV文件目录看起来像是包含表的模式。Calcite完成其余的工作,并提供了完整的SQL界面。
Calcite-example-CSV是Calcite的一个完全功能的适配器,它读取CSV(逗号分隔值)格式的文本文件。
令人惊讶的是,仅几百行的Java代码就足以提供完整的SQL查询功能。
CSV还...
2024-01-10 13:01:55 |
Database
-
Apache Calcite 动态数据管理框架-02-背景
背景
Apache Calcite是一个动态数据管理框架。
它包含了构成典型数据库管理系统的许多组件,但省略了一些关键功能:数据存储、处理数据的算法以及存储元数据的存储库。
Calcite故意避免涉足数据存储和处理的业务。正如我们将看到的那样,这使得它成为在应用程序与一个或多个数据存储位置以及数据处理引擎之间进行调解的理想选择。它也是构建数据库的理想基础:只需添加数据。
为了说明这一...
2024-01-10 13:01:55 |
Database
-
Apache Calcite 动态数据管理框架-01-intro
拓展阅读
Apache Calcite 学习文档
Apache Calcite
Apache Calcite 是一个动态数据管理框架。
它包含了典型数据库管理系统的许多组成部分,但省略了存储原语。
它提供了一个行业标准的 SQL 解析器和验证器,一个可定制的优化器,具有可插拔规则和成本函数,逻辑和物理代数运算符,从 SQL 到代数(以及相反)的各种转换算法,以及许多适配器,...
2024-01-10 13:01:55 |
Database
-
Apache Calcite doc avatica-08-Custom Client Artifacts
自定义客户端构件
Avatica的两个构件
截至到Apache Calcite Avatica 1.9.0版本,提供了两个(JAR)构件,使得客户端可以通过JDBC访问Avatica服务器。
<dependencies>
<!-- 带有阴影的构件 -->
<dependency>
<groupId>org.apache.c...
2024-01-10 13:01:55 |
Database
-
Apache Calcite doc avatica-07-Compatibility 兼容性
兼容性
Avatica技术兼容性套件(TCK)
Avatica TCK项目是一个旨在自动测试Avatica客户端与Avatica服务器的框架。一组JUnit测试、一个YAML配置文件和一个Ruby脚本定义了TCK。JUnit测试调用Avatica的客户端和服务器组件的特定部分,以验证它们是否按预期工作。Ruby脚本使用YAML配置文件定义要对JUnit测试进行的一组客户端和服务器版本对。
...
2024-01-10 13:01:55 |
Database
-
Apache Calcite doc avatica-06-Security
安全性与 Avatica 服务器
概述
在客户端和Avatica服务器之间,安全性是一个重要的话题。大多数JDBC驱动程序和数据库都实现了某种级别的身份验证和授权,以限制客户端允许执行的操作。
同样地,Avatica必须限制允许连接和与服务器交互的用户。Avatica主要处理身份验证,而授权则延迟到底层数据库。默认情况下,Avatica不提供任何身份验证。但Avatica确实可以使用Ker...
2024-01-10 13:01:55 |
Database
-
Apache Calcite doc avatica-05-how to 如何使用
从源分发构建
要求在路径中有Java(JDK 8或更高版本)和Gradle(版本8.1.1)。
(源分发不包括Gradle包装器;因此,您需要手动安装Gradle。)
解压源分发 .tar.gz 文件,cd 到解压后源文件的根目录,然后使用 Gradle 构建:
$ tar xvfz apache-calcite-avatica-1.24.0-src.tar.gz
$ cd apac...
2024-01-10 13:01:55 |
Database