跳到主要内容

69 篇文档带有标签「Docs」

查看所有标签

ANSI Compatibility

ByConity provides a rich set of SQL syntax through ANSI SQL dialect. When using this dialect, SQL statements will be parsed and validated by Apache Calcite and then sent to servers for execution. Apache Calcite supports standard ANSI SQL, please refer to the BNF-grammar here for more details//calcite.apache.org/docs/reference.html.

Bucket table 最佳实践手册

在 ByConity 中使用 Bucket table 时,系统会依据用户建表语句中提供的一个或者多个列、表达式整理表数据,将相同值的数据聚簇在同一个 bucket number 下。

Byconity 0.2.0 s3 storage upgrade checklist

There are some s3 object key and s3 metadata changes after s3's preview version(from pre 0.2.0 version to 0.2.0 version). And we provide some tools to migrate from old version. Only use this if you are using old version of byconity and store data in s3.

Data Types

The data types provided in ByConity are adapted from ClickHouse. Visit this page for more information on ClickHouse data types.

Functions

ByConity provides two SQL dialects, (1) ClickHouse and (2) ANSI.

Git 工作流

ByConity 利用 Github 进行开发。ByConity 的每个贡献者和维护者都必须遵循以下工作流程:

Hive External Catalog

Byconity 除了支持使用外表访问 Hive 数据意外,也支持通过 External Catalog 方式访问.

Hive External Table

CnchHive 是 ByConity 研发的表引擎,支持外部表联合查询,用户无需导入数据即可直接加速数据查询。CnchHive 支持查询存储在 HDFS 和 S3 的数据。它目前支持查询以 Parquet 和 ORC 格式存储的 Hive 数据文件。

Role-based Access Control (RBAC)

RBAC in Byconity is adapted from the ClickHouse version of RBAC in most aspects other than minor syntax differences and the underlying implementation which will be explained further below.

SQL Statements

The supported statements in ByConity are similar to ClickHouse, but it is still recommended to follow the ByConity manual to ensure proper use. Some of the examples below are referenced from ClickHouse Documentation but have been adapted and modified to work in ByConity.

Window

ByConity supports the standard syntax of window functions. A list of window related features are explained below.

主要原理概念

ByConity 的查询执行流程如下图所示,首先通过元数据服务获取查询所需要的元数据信息,然后根据用户 sql 通过优化器生成高效的查询计划,并调度到相应的计算组上去读取数据并执行,最终进行结果集的汇总并发送回客户端。为了用户更好的了解 ByConity 查询的工作原理,此章会介绍 ByConity 的主要原理。

列存设计原理

通常事务型数据库采用行存便于支持事务和高并发读写,分析型数据库采用列存减少 IO 和便于压缩。ByConity 采用列存的方式,保证读写性能、支持事务一致性,又适用大规模的数据计算。

加入ByConity技术指导委员会

本指南旨在提供如何成为 ByConity 技术指导委员会(TSC)成员的信息。它概述了 ByConity 中的开发角色,TSC 的定义,成立的原因,基本原则,成为 TSC 成员的好处,以及成为 TSC 成员的步骤。

基本SQL操作

您可以通过包部署、使用docker 包装器或在 Kubernetes 中部署 ByConity来安装部署 ByConity。

如何成为 ByConity 的维护人员和 TSC 成员

贡献像 ByConity 这样的开源项目可能会让人无所适从,但它也可以成为一次有价值的经历。成为维护者或技术指导委员会(TSC)成员是一个很大的成就,需要技术和社区贡献。以下是如何成为 ByConity 的维护者和 TSC 成员:

安装 FoundationDB

在本指南中,我将在 3 台物理机上设置 Foundation DB 集群。它们都使用 debian 操作系统。我参考了两个官方指南:在 Linux 上入门 和 构建一个集群。

安装 HDFS

在本指南中,我将在 3 台机器上设置 HDFS,其中 1 台机器用于 namenode,其他 2 台机器用于 datanode。我参考了以下官方文档SingleCluster和ClusterSetup。我将安装 HDFS 版本 3.3.4,因此我需要 Java-8,因为这是推荐的 Java 版本。

导入调优

目前 CNCH 支持的导入方式有如下几种:

推荐场景案例

ByConity 使用大量成熟 OLAP 技术,例如列存引擎,MPP 执行,智能查询优化,向量化执行,Codegen, indexing,数据压缩,主要用于 OLAP 查询和计算场景。在实时数据接入、大宽表聚合查询、海量数据下复杂分析计算、多表关联查询场景下有非常好的性能。

查询优化器

优化器是数据库系统的核心,优秀的优化器能极大提高查询性能,特别是在复杂查询场景下优化器能带来数倍至数百倍的性能提升。

查询加速

预加载功能将数据从远程加载到本地磁盘缓存,以加快即将到来的查询。预加载完成后,查询将从本地磁盘读取数据,而不是远程存储。

背景和技术架构

ByConity 是面向现代 IT 架构变化而设计的一款数仓系统,它采用云原生架构设计,在满足数仓用户对资源弹性扩缩容,读写分离,资源隔离,数据强一致性等多种需求的同时,并提供优异的查询,写入性能。

资源管理器

资源管理器(Resource Manager,简称 RM)组件用于对 ByConity 计算资源进行统一管理和调度,是实现资源弹性和提高资源利用率的核心组件。

软件包部署

将 ByConity 部署到物理机器的一种方法是使用软件包管理器。

部署要求

ByConity 能够运行在绝大多数主流的商用服务器上,我们建议 ByConity 的部署能够遵循以下需求: