Databend 是一款现代云数仓。专为弹性和高效规划,为您的大规模剖析需求保驾护航。自由且开源。即刻体验云服务:app.databend.com 。

What’s New

探索 Databend 本周新进展,遇到更靠近你心意的 Databend 。

Accepted RFCs

  • rfc: 查询成果缓存 (#10014)

Features & Improvements

Planner

  • 支撑 EXPLAIN ANALYZE 语句以剖析查询执行 (#10023)
  • 派生新过滤器并下推 (#10021)

Query

  • 改变表支撑增删列 (#9851)
  • 新增表函数 infer_schema (#9936)
  • 为 select 增加权限检查 (#9924)
  • 改善带符号数值的键 (#9978)
  • 支撑解析 jwt 元数据并增加多重身份颁布者配置 (#9971)
  • 支撑创立文件格局 (#10009)

Storage

  • 适配 OpenDAL 的原生 scan 支撑 (#9985)
  • 新增 drop_table_by_id API (#9990)

Expression

  • 新增 decimal 类型相关运算支撑 (#9926)

Functions

  • 支撑 array_any 函数 (#9953)
  • 支撑 array_sort 函数 (#9941)

Sqllogictest

  • 为 alter table 增加 time travel 相关测验 (#9939)

Code Refactoring

Meta

  • 将应用层类型移动到 common-meta/app (#9944)
  • 修正 ErrorCode 乱用 (#10056)

Query

  • transform_sort_merge 使用 heap 来排序数据块 (#10047)

Storage

  • 引入 FieldIndex 和 ColumnId 类型以区分使用 (#10017)

Build/Testing/CI Infra Changes :electric_plug:

  • 以 clickbench 成果格局回来基准测验成果 (#10019)
  • 在 s3 & fs 上均运转基准测验 (#10050)

Bug Fixes

Privilege

  • 为 PUBLIC 角色增加 SELECT 权限,以防止普通用户执行查询的权限问题 (#10040)

Catalog

  • 修正 parts 的不均匀分布 (#9951)

Planner

  • 修正子查询类型断言错误 (#9937)
  • 启用 outer join 到 inner join 优化 (#9943)
  • 修正 RulePushDownLimitOuterJoin (#10043)

Query

  • 修正增列更新错误 (#10037)

Storage

  • 修正:查询新增 tuple 列时,仅回来默认值 (#9973)
  • 在 bloom filter 中,索引绑定 Column Id (#10022)

What’s On In Databend

请持续关注 Databend 的最新动态。

RFC: 查询成果缓存

对于不经常更新的数据,缓存其查询成果能够大大削减呼应时刻。一旦建立缓存,再次运转查询能够在短时刻回来成果。

阅览下述资料以了解更多消息

  • Docs | RFC: Query Result Cache
  • Tracking Issue | RFC: query result cache

怎么编写新的标量/聚合函数

创立自定义的标量或聚合函数能够增强 Databend 的可用性。尽管看上去有一些杂乱,但并不困难。

下面列出的两篇文档有助于 Databend 用户和 Rust 开发者创立新的函数,包括怎么创立并注册函数的分步阐明,以及用于示例的代码片段,以帮助你更好了解这一过程。

阅览下述资料以了解更多消息

  • Docs | How to Write a Scalar Function
  • Docs | How to Write an Aggregate Function

Profile-Guided Optimization

Profile-guided optimization (PGO,有时会译作:概要剖析辅导的优化) 是一种编译器优化技能,能够在程序运转时搜集执行数据,并针对冷/热代码途径进行优化。

这篇博客介绍了怎么使用 PGO 技能优化 Databend 的二进制构建,并以 Databend 的 SQL 逻辑测验作为作业负载进行演示。

留意:PGO 总是要求使用在计算学上具有代表性的作业负载来生成 Perf 数据。然而,这种技能并不确保总能提高性能。是否使用这项技能需要取决于实际情况。

阅览下述资料以了解更多消息

  • Blog | Optimizing Databend Binary Builds with Profile-guided Optimization

What’s Up Next

咱们始终对前沿技能和立异理念持敞开情绪,欢迎您参加社区,为 Databend 注入生机。

重构函数相关文档

为了使文档更明晰、易于了解,咱们方案重组与函数相关的文档,新的内容组织遵循与 DuckDB 文档样式。

目前这项使命已经按函数类别分化成了一系列易于完结的子使命,假如你对改善 Databend 的文档感兴趣,无妨参加进来。

Issue 10029: Tracking: re-org the functions doc

假如你对这个主题感兴趣,能够尝试处理其中的部分问题或许参加讨论和 PR review 。或许,你能够点击 link.databend.rs/i-m-feeling… 来挑选一个随机问题,祝好运!

Changlogs

前往检查 Databend 每日构建的改变日志,以了解开发的最新动态。

地址:github.com/datafuselab…

Contributors

非常感谢贡献者们在本周的卓越作业。

Databend 开源周报第 81 期

Connect With Us

Databend 是一款开源、弹性、低成本,根据目标存储也能够做实时剖析的新式数仓。等待您的关注,一起探索云原生数仓处理方案,打造新一代开源 Data Cloud。

  • Databend Website
  • GitHub Discussions
  • Twitter
  • Slack Channel