Databend 开源周报第 80 期

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

What's New

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

Features & Improvements :sparkles:

Meta

  • 新增 databend-meta 配置项 grpc_api_advertise_host (#9835)

AST

  • 支持在 select from stage 时选定文件或模式 (#9877)

  • 解析 decimal 类型 (#9894)

Expression

  • 新增 Decimal128 和 Decimal256 类型 (#9856)

Functions

  • 支持 array_indexof (#9840)

  • 支持 array_unique 和 array_distinct (#9875)

  • 支持数组相关聚合函数 (#9903)

Query

  • 在 TableSchema 中新增 column id; 并在读写数据时使用 column id 代替 index (#9623)

  • system.columns 中支持视图 (#9853)

Storage

  • ParquetTable 支持 topk 优化 (#9824)

Sqllogictest

  • 使用 sqllogictest 执行 TPCH 基准测试 (#9887)

Code Refactoring :tada:

Meta

  • 移除过时的 meta service API read_msg() 和 write_msg() (#9891)

  • 引入 update_xx_with(id, f: FnOnce) 方法以简化 UserAPI 和 RoleAPI (#9921)

Cluster

  • exchange source 拆分为 reader 和 deserializer (#9805)

  • 拆分并消除 exchange transform 和 sink 的状态 (#9910)

Functions

  • 重命名部分数组函数,添加 array_ 前缀 (#9886)

Query

  • TableArgs 保留必备参数和具名参数的信息 (#9917)

Storage

  • ParquetTable 列出 read_partition 中的文件 (#9871)

Build/Testing/CI Infra Changes :electric_plug:

  • 支持为 PR 运行基准测试 (#9788)

Bug Fixes :wrench:

Functions

  • 修复可为空的 and 和 or 的作用域计算 (#9928)

Planner

  • 修复 histogram_from_ndv 遇到错误回溯时导致 planner 过慢 (#9876)

  • 修复包含聚合函数的 order by (#9879)

  • 使用以子查询为条件的删除时防止恐慌 (#9902)

Query

  • 修复插入默认值的数据类型 (#9816)

What's On In Databend

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

为什么你应该尝试 Sccache

Sccache 是一个由 Mozilla 团队发起、类似 ccache 的项目,提供对 C/CPP 、Rust 和 其他语言的支持,能够将缓存存储到本地或云存储服务。社区在 Sccache 0.3.3 中新增对 Github Action Cache Service 的原生支持,近期发布的 v0.4.0-pre.6 中又进一步加强这一功能,现在已经可以在生产 CI 环境中使用。

现在,由 Datafuse Labs 开源的 opendal 充当 sccache 的数据访问层,以对接多种存储服务(s3、gcs、azlob 等)。

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

  • Blog | Why You Should Try Sccache

What's Up Next

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

尝试使用 build-info 重构 common-building 逻辑

使用 vergen 和 cargo-license 来获取关于 git 提交、构建选项以及上游依赖的信息。

build-info 可以收集 Rust crate 的构建信息。使用它来重构 common-building 中的相关逻辑可能会更好。

pub struct BuildInfo {
    pub timestamp: DateTime,
    pub profile: String,
    pub optimization_level: OptimizationLevel,
    pub crate_info: CrateInfo,
    pub compiler: CompilerInfo,
    pub version_control: Option,
}

Issue 9874: Refactor: Try using build-info

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

Changlogs

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

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

Contributors

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

Databend 开源周报第 80 期_第1张图片
Databend 开源周报第 80 期_第2张图片
Databend 开源周报第 80 期_第3张图片
Databend 开源周报第 80 期_第4张图片

Connect With Us

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

  • Databend Website

  • GitHub Discussions

  • Twitter

  • Slack Channel

你可能感兴趣的:(数据库)