博客

Databend 开源周报第 81 期

avatarDatabend Labs2月 20, 2023

英文版移步:https://www.databend.com/blog/2023-02-15-databend-weekly

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

What's New

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

Accepted RFCs :airplane_departure:

  • 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 🔌

  • 以 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: 查询结果缓存

对于不经常更新的数据,缓存其查询结果可以大大减少响应时间。一旦建立缓存,再次运行查询可以在短时间返回结果。

阅读下述材料以了解更多讯息

如何编写新的标量/聚合函数

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

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

阅读下述材料以了解更多讯息

Profile-Guided Optimization

Profile-guided optimization (PGO,有时会译作:概要分析指导的优化) 是一种编译器优化技术,可以在程序运行时收集执行数据,并针对冷/热代码路径进行优化。

这篇博客介绍了如何使用 PGO 技术优化 Databend 的二进制构建,并以 Databend 的 SQL 逻辑测试作为工作负载进行演示。

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

阅读下述材料以了解更多讯息

What's Up Next

我们始终对前沿技术和创新理念持开放态度,欢迎您加入社区,为 Databend 注入活力。

重构函数相关文档

为了使文档更清晰、易于理解,我们计划重组与函数相关的文档,新的内容组织遵循与 DuckDB 文档样式。

目前这项任务已经按函数类别分解成了一系列易于完成的子任务,如果你对改进 Databend 的文档感兴趣,不妨参与进来。

Issue 10029: Tracking: re-org the functions doc

如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review。或者,你可以点击 https://link.databend.com/i-m-feeling-lucky 来挑选一个随机问题,祝好运!

Changelogs

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

地址:https://github.com/databendlabs/databend/releases

Contributors

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

andylokandyb41shBig-WuuBohuTANGdantengskydependabot[bot]
andylokandyb41shBig-WuuBohuTANGdantengskydependabot[bot]
drmingdrmereverpcpcflaneur2020johnhaxx7leiyskylichuang
drmingdrmereverpcpcflaneur2020johnhaxx7leiyskylichuang
mergify[bot]PsiACERinChanNOWWWsoyeric128sundy-liTCeason
mergify[bot]PsiACERinChanNOWWWsoyeric128sundy-liTCeason
wubxXuanwoxudong963xxchanyoungsofunyufan022
wubxXuanwoxudong963xxchanyoungsofunyufan022
zhang2014ZhiHanZzhyass
zhang2014ZhiHanZzhyass

Connect With Us

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

分享本篇文章

订阅我们的新闻简报

及时了解功能发布、产品规划、支持服务和云服务的最新信息!