博客

Databend 开源周报第 80 期

avatarDatabend Labs2月 13, 2023

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

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

What's New

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

Features & Improvements

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 🎉

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 🔌

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

Bug Fixes 🔧

Functions

  • 修复 Nullable 类型的
    and
    or
    的作用域计算 (#9928)

Planner

  • 修复 histogram_from_ndv 遇到错误回溯时导致 planner 过慢 (#9876)
  • 修复包含聚合函数的 order by (#9879)
  • 使用以子查询为条件的删除时防止 panic (#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 等)。

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

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<Utc>,
pub profile: String,
pub optimization_level: OptimizationLevel,
pub crate_info: CrateInfo,
pub compiler: CompilerInfo,
pub version_control: Option<VersionControl>,
}

Issue 9874: Refactor: Try using build-info

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

Changelogs

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

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

Contributors

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

andylokandyariesdevilb41shBohuTANGdependabot[bot]drmingdrmer
andylokandyariesdevilb41shBohuTANGdependabot[bot]drmingdrmer
everpcpcflaneur2020johnhaxx7leiyskylichuangmergify[bot]
everpcpcflaneur2020johnhaxx7leiyskylichuangmergify[bot]
PsiACERinChanNOWWWsoyeric128sundy-liTCeasonXuanwo
PsiACERinChanNOWWWsoyeric128sundy-liTCeasonXuanwo
xudong963youngsofunzhang2014
xudong963youngsofunzhang2014

Connect With Us

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

分享本篇文章

订阅我们的新闻简报

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