-
Apache Druid-01-a high performance real-time analytics database 高性能实时分析数据库 Apache Imply
Apache Druid简介
Apache Druid是一个实时分析数据库,专为快速切片分析(”OLAP”查询)大型数据集而设计。
在大多数情况下,Druid被用于需要实时摄取、快速查询性能和高可用性的应用场景。
Druid通常用作分析应用程序的数据库后端,或者用于需要快速聚合的高并发API。Druid最适合事件导向的数据。
Druid常见的应用领域包括:
点击流分析,包括网...
2024-01-10 13:01:55 |
Database
-
Apache Doris-01-overview Doris 介绍
Doris 介绍
Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实...
2024-01-10 13:01:55 |
Database
-
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