写点什么

Databend in 2022

作者:Databend
  • 2022-12-30
    福建
  • 本文字数:2393 字

    阅读完需:约 8 分钟

Databend in 2022

上一次写总结还是在回顾 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

用户头像

Databend

关注

还未添加个人签名 2022-08-25 加入

还未添加个人简介

评论

发布
暂无评论
Databend in 2022_Databend_InfoQ写作社区