Databend 开源周报第 116 期

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

What's On In Databend

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

特性预览:使用 SQL 管理后台任务

此前,Databend 引入了 后台服务(Serverless Background Service)以允许 Databend 执行后台单次作业或以守护进程模式运行 cron 作业,从而简化数据维护任务管理的复杂性。

为了便于创建、管理和维护后台任务,Databend 近期支持了包括 CREATE TASKALTER TASK 和 SHOW TASK 在内的一系列 SQL 语句。

例如,下面的 SQL 语句要求 Databend 在每天早上 6 点(PST 时区),执行名为 MyTask1 的任务,将 (1, 2) 和 (3, 4) 插入到表 t 中。

CREATE TASK IF NOT EXISTS MyTask1 SCHEDULE = USING CRON '0 6 * * *' 'America/Los_Angeles' COMMENT = 'serverless + cron' AS insert into t (c1, c2) values (1, 2), (3, 4)

后台服务 需要升级至 企业版 。如需了解升级信息,请联系 Databend 团队 。

如果您想了解更多信息,请查看下面列出的资源。

  • PR #13316 | feat: impl create task sql parser and planner
  • PR #13344 | feat: add SQL syntax support for alter, execute, describe, show, drop task

Code Corner

一起来探索 Databend 和周边生态中的代码片段或项目。

理解 Databend 中的配置映射

对于 Databend 这样复杂的数据库服务端程序,往往需要支持大量的可配置选项,以帮助运维人员根据实际使用需要管理和调优系统。近期发布的博客解释了 Databend 中命令行选项、环境变量、配置文件以及代码之间的映射关系。

Databend 目前支持三种配置方式:命令行、环境变量和配置文件,优先级依次递减。

  • 命令行用于调整本地环境下的少数冲突配置。
  • 对于 K8S 集群,为了灵活变更部分配置(比如,特性开关),使用环境变量可能是更优雅的形式。
  • 一般情况下,推荐使用配置文件来记录和管理各种配置。

值得注意的是,Databend 通过 opendal 内置的回滚机制,支持了像 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 这样云服务开发者常用但并未在 Databend 配置中进行显式声明的环境变量,简化代码并且降低用户学习成本。

如果您想了解更多信息,请查看下面列出的资源。

  • Blog | Navigating Databend's Configuration Maze: A Guide for Developers and Operators

Highlights

以下是一些值得注意的事件,也许您可以找到感兴趣的内容。

  • 新增表函数 fuse_encoding 。
  • 新增字符串函数 split 和 split_part 。
  • SQLsmith 支持 MERGE INTO 。
  • databend-metactl 支持查看集群状态。

What's Up Next

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

为 z3 求解支持更多类型比较

此前 Databend 引入 z3.rs 来解决约束问题,即给定部分约束条件寻求一组满足条件的解。Z3 求解器是微软研究院开发的定理证明器,通常用于解决 SMT 问题。但是目前 Databend 的 z3 求解只支持整数类型的比较,还需要覆盖更多类型。

例如,在支持字符串比较后,select * from t1 left join t3 on t3.e = t1.a where t3.f >= '2000-08-23';中的 t3.f >= '2000-08-23' 可以下推至 t3 表。

Issue #13236 | Feature: z3 supports more type comparision

如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review 。或者,你可以点击 We need more stateless-test to test corner cases of differents timezone in the future · Issue #5214 · datafuselabs/databend · GitHub 来挑选一个随机问题,祝好运!

Changelog

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

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

Contributors

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

Databend 开源周报第 116 期_第1张图片

Connect With Us

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

  • Databend Website
  • GitHub Discussions
  • Twitter
  • Slack Channel

你可能感兴趣的:(1024程序员节)