Databend 开源周报第 116 期
Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。
What's On In Databend
探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。
特性预览:使用 SQL 管理后台任务
此前,Databend 引入了 后台服务(Serverless Background Service)以允许 Databend 执行后台单次作业或以守护进程模式运行 cron 作业,从而简化数据维护任务管理的复杂性。
为了便于创建、管理和维护后台任务,Databend 近期支持了包括 CREATE TASK
, ALTER 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
非常感谢贡献者们在本周的卓越工作。
Connect With Us
Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。
- Databend Website
- GitHub Discussions
- Slack Channel