--- title: Databend 开源周报第 80 期 description: slug: databend-weekly-80 date: 2023-02-13 tags: [weekly] cover_url: databend-weekly.svg image: databend-weekly.png authors: - datafuselabs --- # Databend 开源周报 第 80 期  > 英文版移步:https://databend.rs/blog/2023-02-08-databend-weekly > > [Databend](https://github.com/datafuselabs/databend) 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:[https://app.databend.com](https://app.databend.com) 。 ## What's New 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 ### Features & Improvements :sparkles: **Meta** - 新增 databend-meta 配置项 `grpc_api_advertise_host` ([#9835](https://github.com/datafuselabs/databend/pull/9835)) **AST** - 支持在 select from stage 时选定文件或模式 ([#9877](https://github.com/datafuselabs/databend/pull/9877)) - 解析 decimal 类型 ([#9894](https://github.com/datafuselabs/databend/pull/9894)) **Expression** - 新增 `Decimal128` 和 `Decimal256` 类型 ([#9856](https://github.com/datafuselabs/databend/pull/9856)) **Functions** - 支持 `array_indexof` ([#9840](https://github.com/datafuselabs/databend/pull/9840)) - 支持 `array_unique` 和 `array_distinct` ([#9875](https://github.com/datafuselabs/databend/pull/9875)) - 支持数组相关聚合函数 ([#9903](https://github.com/datafuselabs/databend/pull/9903)) **Query** - 在 TableSchema 中新增 column id; 并在读写数据时使用 column id 代替 index ([#9623](https://github.com/datafuselabs/databend/pull/9623)) - `system.columns` 中支持视图 ([#9853](https://github.com/datafuselabs/databend/pull/9853)) **Storage** - `ParquetTable` 支持 topk 优化 ([#9824](https://github.com/datafuselabs/databend/pull/9824)) **Sqllogictest** - 使用 sqllogictest 执行 TPCH 基准测试 ([#9887](https://github.com/datafuselabs/databend/pull/9887)) ### Code Refactoring :tada: **Meta** - 移除过时的 meta service API `read_msg()` 和 `write_msg()` ([#9891](https://github.com/datafuselabs/databend/pull/9891)) - 引入 `update_xx_with(id, f: FnOnce)` 方法以简化 `UserAPI` 和 `RoleAPI` ([#9921](https://github.com/datafuselabs/databend/pull/9921)) **Cluster** - exchange source 拆分为 reader 和 deserializer ([#9805](https://github.com/datafuselabs/databend/pull/9805)) - 拆分并消除 exchange transform 和 sink 的状态 ([#9910](https://github.com/datafuselabs/databend/pull/9910)) **Functions** - 重命名部分数组函数,添加 `array_` 前缀 ([#9886](https://github.com/datafuselabs/databend/pull/9886)) **Query** - `TableArgs` 保留必备参数和具名参数的信息 ([#9917](https://github.com/datafuselabs/databend/pull/9917)) **Storage** - `ParquetTable` 列出 `read_partition` 中的文件 ([#9871](https://github.com/datafuselabs/databend/pull/9871)) ### Build/Testing/CI Infra Changes :electric_plug: - 支持为 PR 运行基准测试 ([#9788](https://github.com/datafuselabs/databend/pull/9788)) ### Bug Fixes :wrench: **Functions** - 修复可为空的 `and` 和 `or` 的作用域计算 ([#9928](https://github.com/datafuselabs/databend/pull/9928)) **Planner** - 修复 histogram_from_ndv 遇到错误回溯时导致 planner 过慢 ([#9876](https://github.com/datafuselabs/databend/pull/9876)) - 修复包含聚合函数的 order by ([#9879](https://github.com/datafuselabs/databend/pull/9879)) - 使用以子查询为条件的删除时防止恐慌 ([#9902](https://github.com/datafuselabs/databend/pull/9902)) **Query** - 修复插入默认值的数据类型 ([#9816](https://github.com/datafuselabs/databend/pull/9816)) ## What's On In Databend 请持续关注 Databend 的最新动态。 ### 为什么你应该尝试 Sccache [Sccache](https://github.com/mozilla/sccache) 是一个由 Mozilla 团队发起、类似 [ccache](https://ccache.dev/) 的项目,提供对 C/CPP 、Rust 和 其他语言的支持,能够将缓存存储到本地或云存储服务。社区在 Sccache 0.3.3 中新增对 Github Action Cache Service 的原生支持,近期发布的 v0.4.0-pre.6 中又进一步加强这一功能,现在已经可以在生产 CI 环境中使用。 > 现在,由 [Datafuse Labs](https://github.com/datafuselabs) 开源的 [opendal](https://github.com/datafuselabs/opendal) 充当 sccache 的数据访问层,以对接多种存储服务(s3、gcs、azlob 等)。 **阅读下述材料以了解更多讯息** - [Blog | Why You Should Try Sccache](https://databend.rs/blog/sccache) ## What's Up Next 我们始终对前沿技术和创新理念持开放态度,欢迎您加入社区,为 Databend 注入活力。 ### 尝试使用 `build-info` 重构 `common-building` 逻辑 使用 `vergen` 和 `cargo-license` 来获取关于 git 提交、构建选项以及上游依赖的信息。 [build-info](https://github.com/danielschemmel/build-info) 可以收集 Rust crate 的构建信息。使用它来重构 `common-building` 中的相关逻辑可能会更好。 ```rust 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](https://github.com/datafuselabs/databend/issues/9874) 如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review 。或者,你可以点击 https://link.databend.rs/i-m-feeling-lucky 来挑选一个随机问题,祝好运! ## Changlogs 前往查看 Databend 每日构建的变更日志,以了解开发的最新动态。 地址:https://github.com/datafuselabs/databend/releases ## Contributors 非常感谢贡献者们在本周的卓越工作。     ## Connect With Us Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。 - [Databend Website](https://databend.rs) - [GitHub Discussions](https://github.com/datafuselabs/databend/discussions) - [Twitter](https://twitter.com/Datafuse_Labs) - [Slack Channel](https://link.databend.rs/join-slack)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up