写点什么

完整的数仓能力,ByConity 1.0 版本发布!

  • 2024-09-06
    北京
  • 本文字数:1864 字

    阅读完需:约 6 分钟

完整的数仓能力,ByConity 1.0 版本发布!

2024 年 8 月,ByConity 1.0 正式发布,翻开了 ByConity 新的一页。1.0 版本有哪些不同,以及 1.x 版本会重点迭代哪些能力,下面为大家一一解读。

完整的数据仓库能力 


从 ByConity 开源之初,我们一直将产品定位为开源云原生数据仓库。区别于传统 OLAP 产品,ByConity 采用存算分离的云原生架构,通过这种架构获得了弹性和降低资源浪费的优势,但与此同时也在一定程度上提高了产品的复杂度。定位为云原生数据仓库,是希望能够承担更多类型、更复杂的分析任务负载,无论是在线的实时分析还是离线数据的清洗/加工任务都能够胜任。更全面的能力能够帮助用户降低数据分析平台的整体复杂度。


传统的 OLAP 产品通过数据索引、列式存储、向量化执行等技术,注重对实时分析或者 Ad-hoc 分析的快速反应,满足低时延的要求。在数据加载进 OLAP 产品之前,往往需要经过复杂的数据清洗和转换过程,也就是大家熟知的 ETL 任务。在传统的数据分析架构中,这部分工作是由 Hive、Spark、Flink 等产品来完成的。


在 ByConity 1.x 版本中,增加了对 BSP 模式的支持,减少数据加工和数据分析之间多系统耦合带来的运维负担,使 ByConity 能够一站式完成数据接入、加工和分析。



1.0 版本中,在 BSP 模式下(settings bsp_mode = 1 打开 bsp 模式)增加了对 TableScan 算子并行度扩展的支持:一、通过设置 distributed_max_parallel_size,可以将 TableScan 的并行度进行扩展,实现资源平铺的功能,在资源有限的情况下实现对大表的处理;二、增加了对 task 重试的支持:通过设置 bsp_max_retry_num(task 的最大重试次数,默认值为 5),可以在作业的中间 task 发生失败时,从失败的 task 开始重试,而不是从头开始重试,进而大大减少 failover 对执行时长的影响。


后续的 1.x 版本中,我们还将推出基于资源感知的 BSP 模式,可以根据集群资源使用情况有序调度并发 ELT 任务,从而减少资源的挤占,避免频繁失败。


湖仓一体  


在 ByConity 1.0 版本中的一个重要能力升级就是提升了湖仓一体的能力。ByConity 可以直接分析数据湖中的数据,而无需做数据搬迁,从而让用户可以更灵活的规划其数据分析架构。


Hive 外表查询性能在 1.0 版本中得到了非常大的提升。这主要得益于以下几点:


1、实现了外表的 Native Reader(Parquet/Orc),Native Reader 具有以下特点:


2、增加中间结果缓存。


3、结合 ByConity 查询优化器的统计信息自动收集,将 Filter 的有效下推,降低 IO 开销(1.x 版本)。

通过以上能力大大提升了 Hive 外表的查询性能,在 TPC-DS 测试中性能达到 Trino 的 4 倍。


除 Hive 外表外,在 1.0 版本中我们还支持了 Hudi 和 GLUE 的外表查询能力。在后续的 1.x 版本中,我们还将支持 Iceberg 和 Paimon 的外表能力。

MySQL 语义兼容    


在 ByConity 0.x 版本中,主要支持 SQL 标准是 ClickHouse SQL 和 Ansi SQL。除 ClickHouse 生态外,MySQL 同样是当前主流的 OLAP 产品生态。过去一年中很多用户反馈从 MySQL 生态产品迁移到 ByConity 过程中有比较复杂的业务改写,以及部分工具不兼容。


在 1.0 版本中,ByConity 已经完成了 90% 以上的语法、函数、数据类型、DQL、DML、DDL 的兼容。此外,如 MySQL Workbench、DBeaver、Navicat 等 IDE 工具,Tableau、QuickBI、FineBI 等主流 BI 工具的兼容性也在当前版本中完成。


在 1.x 版本中,我们希望和社区的贡献者们一起,在存储介质、数据导入、IDE、BI、数据治理工具等方面全面提升 ByConity 广泛的生态工具兼容性。

其他特性   


1、默认开启优化器,支持开优化器简单查询走 local 模式,优化了开启优化器后简单查询性能下降的问题。

2、优化 Unique 表的 TableWrite 重试能力,提升 Unique 表可用性。

3、新增 bucket join 相关的能力。

4、提升 map 函数性能。

5、优化 disk cache 加载策略,支持按比例配置。

6、string 数据类型转化为 map,支持 nullable string。

7、支持导出数据导文件目录,支持 Worker 导出数据。

8、支持表级别的快照能力。

9、(Preview)增强高并发点查性能。

展望   


未来,我们还将持续为提升分析性能打造全面的数仓能力而努力。除此之外,我们还将向一体化分析引擎的方向进行探索,继续打磨倒排索引的能力,以及向向量检索和时空分析等场景进行探索。


ByConity 1.0 完整 Changelog:

https://github.com/ByConity/ByConity/releases/tag/1.0.0


关于 ByConity 

ByConity 是字节跳动开源的云原生数据仓库,在满足数仓用户对资源弹性扩缩容,读写分离,资源隔离,数据强一致性等多种需求的同时,提供优异的查询,写入性能。

GitHub https://github.com/ByConity/ByConity

2024-09-06 18:4411009

评论

发布
暂无评论

图的基本定义和概念(二)

乔乔

7月月更

传统企业的办公模式正在发生着变化,为什么企业需要数字化办公?

WorkPlus

在线XML转CSV工具

入门小站

工具

Envoy分布式链路追踪

阿泽🧸

envoy 7月月更

经验分享|企业该怎样利用SaaS进行企业知识管理

Baklib

鼓励企业知识共享的好处,你知道多少?

Geek_da0866

N分钟学会分位值的计算方式

眼镜盒子

指标

linux 上查找包含特定文本的所有文件

入门小站

Linux

优必选科技眼中的AI机器人时代

优必选科技

AI 机器人

【Docker 那些事儿】初始 Kubernetes 容器管理平台(下)

Albert Edison

Docker Kubernetes 容器 云原生 7月月更

元宇宙浪潮震撼来袭,抓住时机,齐心协力

CECBC

振奋人心!元宇宙!下一代互联网的财富风口

CECBC

API策略因何成为企业数字化转型的制胜法宝?

WorkPlus

行业洞察|如何更好地建设数据中台?IT和业务要“齐步走”

WorkPlus

京东云分布式链路追踪在金融场景的最佳实践

京东科技开发者

数据库 分布式 京东云 云计算,

什么是云渲染?渲染速度有多快?一文告诉你

Finovy Cloud

计算机 云渲染 集群渲染

有return的情况下try catch finally的执行顺序

技术小生

7月月更

Vue Cli Study

程序员海军

vuecli 7月月更

Elephant Swap的LaaS方案优势分析,致eToken表现强势

BlockChain先知

等额本金递增还款/等额本金递减按揭房贷还款计算器

入门小站

工具

Python动态属性有什么用

和牛

测试

网信办严厉查处诱导未成年人参与直播打赏行为:直播打赏行业乱象必须整治

石头IT视角

音频的价值、AI Codec 的意义与算法能力的边界丨一期一会 • 音频工程师专场

声网

音频技术 一期一会

快速搭建个人博客网站——Hexo

空城机

Hexo 个人博客 7月月更

Ansible项目最佳实践

穿过生命散发芬芳

ansible 7月月更

无套路、无陷阱、无广告 | 这个免费的即时通讯软件确定不用吗?

WorkPlus

G1GC算法读书笔记(更新中)

老猎人

如何在OneFlow中新增算子

OneFlow

深度学习 算子

向量化引擎对HTAP的价值与技术思考

OceanBase 数据库

oceanbase

知识分享|分享一些提升企业文档管理水平的方法

Baklib

中国经济网:“元宇宙”炙手可热

CECBC

完整的数仓能力,ByConity 1.0 版本发布!_数据湖仓_ByConity开源团队_InfoQ精选文章