Databend in 2022

news2024/11/14 23:37:46

上一次写总结还是在回顾 Datafuse Labs 成立一周年,转眼来到 22 年末,Databend 也快要开始第三个年头的征程了。

今天就让我们一起回顾一下 Databend 在 2022 年的成果。

开源

Databend 是一款强大的云数仓,专为弹性和高效设计,自由且开源。

图片

作为从第一天就开源的云数仓产品,Databend 的研发协作几乎完全依托 GitHub 进行,并受到 Rust 社区和数据行业从业者的广泛关注,在过去的一年里:

  • 新增 2000 star ,star 总数量接近 5000

  • 新增 PR 约 2400 个,总 PR 数量达到 5600

  • 解决 Issue 1900 余个,已解决 Issue 超过 3000

  • 贡献者数量相比去年增长接近一倍,目前共有 138 位贡献者

  • 累计提交约 16000 次,提交总数超过 23000

研发:立足真实场景,寻求答案

Databend 在 2022 年立足于用户的真实场景和现实需要,不断打磨并上线了很多重要的新特性。

图片

新数仓,新模样

作为一个对标 Snowflake 和 Clickhouse 的新生云数仓,不光要充分发挥「云原生」的力量,带来全新的设计和实现,同时还要在性能和可维护性之间进行平衡。

  • 支持 Stage 和 Data Sharing 以帮助用户更好地介入数据的生命周期。

  • 全新的 Planner 架构,更加友好的 SQL 错误提示,更高效和充分的执行计划优化技术。

  • 全新类型系统的设计与实现,支持类型检查和类型安全的向下转型。

  • 兼具 Push 模式和 Pull 模式的 Processor 调度执行框架。

  • 实验性的 Native Format 支持,本地盘性能进一步提高。

Databend as Lakehouse

数字时代为 Databend 提出了更高的要求,我们必须着手解决海量数据的存储与管理问题,既要支持负载更大的数据量,也要支持更加丰富的数据来源。我们做了以下工作来更好地实现「Databend as Lakehouse」这一愿景。

  • 使用自研的 OpenDAL 来一统数据访问层

  • 更加充分的结构化、半结构化数据支持

  • 多目录,更方便对接 Hive 等自定义 catalog

  • 支持直接读取查询位于本地 / Satge / 远端的数据文件

极致能效比

经过一年来的持续精进,Databend 整体进入到了一个新阶段,「存算分离、弹性调度」,能效比大幅提高。

  • 在部分场景下可以和 Clickhouse 达到接近性能

  • 比 Elasticsearch 下降 90% 成本,比 Clickhouse 下降 30%以上成本

测试:吃一个定心丸

充分、全面的测试是保障数据库管理系统正确性的关键。Databend 不光关注性能的极致释放,也同样关心结果的正确性和可重复性。

图片

正确性测试

在这一年里,Databend 首先使用 SQL Logic Test 替换掉原有的 Stateless 测试,并从 YDB、DuckDB 等其他数据库中迁移了大量成熟的测试用例,以确保测试的全面覆盖。

近期,我们还使用 sqllogictest-rs 编写的 Rust 原生测试程序替换了旧有的 Python 程序,在保障测试可维护性的同时大幅缩短了 CI 的运行时间。

除了基于用例的测试之外,自动化测试方案也是必不可少的。社区同学为 Databend 实现了 SQLancer 所支持的 TLP、QPS、NoREC 全部三种测试方案,并以及合并到上游的 main 分支之中,发现并修复数十处潜在的 Bug ,进一步保障了 Databend 执行的正确性。

性能测试

当然,除了正确性测试之外,性能测试也是必不可少的。Databend 在 2022 年还上线了 https://perf.databend.rs/ ,用于跟踪 Databend 每日性能变化,以便于及时发现潜在的性能问题。同时,我们也积极跟进 Clickbench 等其他基准测试,确保 Databend 性能持续稳步提高。

生态和用户:相互促进,共同成功

生态和用户是相辅相成的,繁荣的生态可以吸引更多用户体验和参与到 Databend 社区之中,而随着用户需求的进一步落地,生态也能够获得更加长足的进步。

积极拓展生态

Databend 非常关注生态问题,不光提供 MySQL 协议、Clickhouse HTTP Handler 的兼容,更在这一基础上验证、对接并集成了多种数据服务和工具,包括:

  • Airbyte

  • DBT

  • Addax (Datax)

  • Vector

  • Jupyter Notebook

  • DBeaver

同时,我们还实现并维护包括 Python 和 Go 在内的多语言 Driver ,方便用户定制和开发基于 Databend 的服务。

与用户共同成功

用户是 Databend 赖以成长的土壤,不光支持着 Databend 的开发,也为 Databend 社区注入了更多活力。

快手的帮助下,Databend 支持 Hive Catalog ,不仅打通 Hive 生态,更促使我们进一步思考 Multiple Catalog 的设计和实现。多点帮助验证并落地了基于 Databend 进行数据归档的场景。

同时也要感谢茄子快传、Voyance、DIGIFINEX、微盟等这些用户对 Databend 的信任和支持。

Databend生态中的其他项目也得到了用户的认可和喜爱:

  • OpenDAL 目前接管了 sccache 的数据访问层,从而进一步完成对 Firefox  CI 的支持。同时 OpenDAL 也为 GreptimeDBdeepeth/mars 等数据库和数据分析项目提供数据访问支持。

  • OpenRaft 用于 Azure/Feathr  中的 Feature Registry(数据库,以承载特征元数据)实现,也在 SAP、火币、美团的内部项目中得到使用。

  • OpenSrv 的 MySQL 协议实现在 GreptimeDBCeresDB 等多个数据库项目中得到应用。

知识传播

2022 年,Databend 社区还发起了「Data Infra 研究社」,围绕大数据数据架构和前沿技术进行交流。

主题涵盖大数据平台、Data Mesh、Modern Data Stack 等,并邀请到 PingCAP、快手、多点、茄子快传的朋友分享知识和见解,目前在 B 站上一共发布了 9 期内容。

云是 Databend 商业化战略的重要部分,也是 Databend 这个开源项目的重要用户。

Databend Cloud 是围绕 Databend 打造的一款易用、低成本、高性能的新一代大数据分析平台,让用户更加专注数据价值的挖掘。Databend Cloud 上线了国际版和国内版两个可用区,欢迎有需要的小伙伴申请试用。

  • databend.com

  • databend.cn

关于 Databend

Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。

  • Databend 文档:https://databend.rs/

  • Twitter:https://twitter.com/Datafuse_Labs

  • Slack:https://datafusecloud.slack.com/

  • Wechat:Databend

  • GitHub :https://github.com/datafuselabs/databend

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/129694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Authorization Server 1.0 提供 Oauth 2.1 和 OpenID Connect 1.0 实现

1. 概述 在引入Java 社区两年半之后,VMWare发布了Spring Authorization Server 1.0。Spring 授权服务器项目构建在Spring Security之上,支持创建OpenID Connect 1.0身份提供者和OAuth 2.1授权服务器。该项目取代了不再维护的 Spring Security OAuth项目…

RHCEansible虚拟机初始化配置,ansible配置和安装

1.保证三台主机能互相通信,需要设置同一种网络模式(nat) 2.配置静态ip地址(命令行,图形界面都可以) server---192.168.171.100 node1---192.168.171.222 node2---192.168.171.10 3.更改主机名 永久更…

C++代码编程学习(1):简易通讯录的创建

2022年圣诞节到来啦,很高兴这次我们又能一起度过~ CSDN诚邀各位技术er分享关于圣诞节的各种技术创意,展现你与众不同的精彩!参与本次投稿即可获得【话题达人】勋章【圣诞快乐】定制勋章(1年1次,错过要等下一年喔&#…

消费市场的“跨年”:2023,数字新消费将引领市场何去何从?

配图来自Canva可画 2022,变局如同一个过滤器,每一个身处其中的消费者和消费品牌都在经受考验。我国人口红利在消退,竞争在加剧,需求在变化。光大证券研究所的数据显示,2022年来我国居民收入增速小幅改善,但…

Spring之Bean创建过程

1. 前言 Spring提供了xml、注解、JavaConfig多种方式来配置bean,不论何种方式,Spring最终都会将bean封装成BeanDefinition对象,Spring创建bean的依据也是通过BeanDefinition来完成的。 当我们调用getBean()方法获取bean实例时,不…

jmeter使用教程之登录接口(工作日记)

首先我们打开jmeter 快捷按钮:winr 会弹出快捷运行弹框,我们输入cmd 后点击回车 会弹出一个控制窗口,我们输入jmeter,然后回车 首次进入jmeter,页面显示空白页且默认英文 我们可以切换语言 【Options - Choose Lan…

AI前沿 | 利用训练好的模型库进行一键抠图(实例演示)

来源:投稿 作者:Struggling cyanobacteria 编辑:学姐 深度学习平台飞浆paddle的环境搭建 ① 效率更高的 gpu 版本的安装 通过 python -m pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple来进行安装。 paddle.utils…

Dockerfile了解

目录 1.自定义centos,具备vim及ifconfig作用 2.自定义tomcat8 1.自定义centos,具备vim及ifconfig作用 cd /javaxl/software mkdir mydocker vi mycentosDockerfile 向 mycentosDockerfile 编辑内容 FROM centos:7 MAINTAINER zwc "zwcqq.com"…

解决Windows下使用cmd执行Python文件报错 ModuleNotFoundError: No module named ‘XXXX‘

一、问题产生 我在IDEA中可以正常执行的Python文件,想把它配置成每天固定时间执行的定时任务。我写了一个脚本在每天9点时执行Python文件,但是我在cmd中测试执行时遇到以下报错: Traceback (most recent call last):File "D:\dev\code…

AD5328手册翻译不完全(仅供参考)

最近要用到DAC生成数据波形,但是都是英文不好阅读,于是花费点时间翻译了大致数据内容并记录 一、特性 AD5308:16导联TSSOP中的8个缓冲8位DAC A版本:1 LSB INL,B版本:0.75 LSB INR AD5318:16导联TSSOP中的8个缓冲10…

互联网时代,VR全景营销的意义是什么?

互联网时代,很多事项我们都可以在手机上解决,随着互联网的不断发展,年轻人每天花在手机上的时间也在日益增加,这就将压力给到了线下实体店铺,年轻人不喜欢逛街,线下店铺的获客成本就会越来越高。同时也是由…

无人机测深三种方法-激光雷达,测深仪和探地雷达

最近搜素了论文和相关网页,博主总结了一下无人机测深总共有三种办法: (1)激光雷达; (2)测深仪; (3)探地雷达(GPR)。 1、激光雷达 …

如何在匿名上位机中显示自定义数据波形

匿名上位机相信很多人都用过,以前在调飞控的时候使用过,可以很直观的显示数据的波形,比如飞机姿态等。 最近在调试foc。很多数据在调试过程中,仅仅使用串口打印出来显示是很不直观的,比如正弦波,经典的马鞍…

Python冷知识-优雅的文档属性

Python是一门学习成本低但是使用场景广泛的语言,0基础2周左右就可以进行简单的脚本编写,但也正是因为这个原因,导致很多小伙伴的Python代码比较粗糙,那么我们来聊聊使用文档属性让Python代码更加的优雅。 设置文档属性 作为一名…

JUC并发编程学习笔记(二)Lock接口及线程间通信

2 Lock 接口 2.1 Synchronized 2.1.1 Synchronized 关键字回顾 synchronized 是 Java 中的关键字,是一种同步锁。它修饰的对象有以下几种: 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码&…

软件测试中白盒测试的优缺点是什么?

白盒测试的优缺点白盒测试在计算机领域行业用以检查程序的状态,确定实际运行状态与预期状态是否一致,来看看白盒测试的优点和缺点是什么吧。 白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符…

Android学习进阶——Dagger 2 使用及原理

概述 Dagger 2 是 Google 开源的一款依赖注入框架,它的前身是 square 的 Dagger 1,Dagger 2 在 Android 中有着较为广泛的应用。 Dagger 2 基于 Java 注解,采用 annotationProcessor(注解处理器) 在项目编译时动态生…

AS-REPRoasting

讲在前面: 最近笔者发布的几篇文章,大家不难发现,都是和kerberos协议相关的。国内外各类的研究员对于该协议的研究愈发的深入,从该协议产生的漏洞就会越来越多甚至越来越严重。当然这只是笔者的一点拙见。 在介绍了Kerberoastin…

21天Java开发速成篇-Java从入门到大师01快速入门

Java 简介 win10安装 JDK 下载和安装 访问 oracle 官网https://www.oracle.com/ 建议下载解压版,下载完毕后,解压到一个没有中文和空格的目录即可 配置 Path 你可以选择一个喜欢的目录,我的解压目录是 d 盘根目录下,如图所示 其中 b…

创邻Galaxybase入选 2022 爱分析《中国数据智能最佳实践案例》

随着2022年进入收官时间,创邻科技喜报频传。近日,“2022爱分析中国数据智能最佳实践案例”评选结果出炉,经过申报、初评、调研、终评等多轮角逐,创邻科技凭借“中国民生银行万象知识图谱应用平台”成功获评2022中国数据智能最佳实…