Databend 开源周报第 114 期

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

What's On In Databend

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

MERGE INTO

MERGE INTO 语句用于根据指定的条件和匹配标准,在目标表中执行对行的插入、更新或删除操作,使用来自指定源的数据。

MERGE INTO 中通常会包含若干 MATCHEDNOT MATCHED 子句:对于 MATCHED 子句,可以对目标表进行更新或者删除,而如果是 NOT MATCHED 子句,则可以插入数据。

SQL 复制代码
-- Merge data into 'salaries' based on employee details from 'employees'
MERGE INTO salaries
USING (SELECT * FROM employees)
ON salaries.employee_id = employees.employee_id
WHEN MATCHED AND employees.department = 'HR' THEN
    UPDATE SET
        salaries.salary = salaries.salary + 1000.00
WHEN MATCHED THEN
    UPDATE SET
        salaries.salary = salaries.salary + 500.00
WHEN NOT MATCHED THEN
    INSERT (employee_id, salary)
    VALUES (employees.employee_id, 55000.00);

MERGE INTO 语句目前属于实验阶段,可以执行 SET enable_experimental_merge_into = 1; 启用这个特性。

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

Code Corner

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

Python Binding 和 Local 模式支持配置数据路径

Databend 的 Local 模式现已支持通过 DATABEND_DATA_PATH 环境变量来控制元数据和数据文件的存放位置。

shell 复制代码
DATABEND_DATA_PATH=/tmp/data/ databend-query local -q "create table abc(a int); insert into abc values(3);"

Databend 的 Python Binding 同样遵循 DATABEND_DATA_PATH,但是需要在使用 databend 之前进行定义这一环境变量。

python 复制代码
import os
os.environ["DATABEND_DATA_PATH"] = "/tmp/def/"

from databend import SessionContext

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

Highlights

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

  • 改进 Hash Join ,性能在部分场景下提升 10% 。
  • 改进 MERGE INTO 的并行执行。
  • 改进 CI,使用 quickinstall 安装相关二进制工具,使用 nextest 执行单元测试。

What's Up Next

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

删除 Internal Stage 时同时移除文件

Internal Stage 将数据文件暂存在 Databend Query 配置中指定的存储后端中。

考虑到在删除 Internal Stage 之后,用户将无法访问其中暂存的数据文件。因此,有必要考虑在删除 Internal Stage 同时移除其中暂存的文件。

Issue #12986 | remove files at the same time of drop internal stage

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

Changelog

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

地址:github.com/datafuselab...

Contributors

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

Connect With Us

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

相关推荐
神秘的猪头24 分钟前
🚀 React 开发者进阶:RAG 核心——手把手带你玩转 Milvus 向量数据库
数据库·后端·llm
IvorySQL18 小时前
PostgreSQL 技术日报 (3月6日)|为什么 Ctrl-C 在 psql 里让人不安?
数据库·postgresql·开源
NineData20 小时前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
IvorySQL1 天前
PostgreSQL 技术日报 (3月5日)|规划器控制力升级,内核能力再进阶
数据库·postgresql·开源
数据组小组2 天前
免费数据库管理工具深度横评:NineData 社区版、Bytebase 社区版、Archery,2026 年开发者该选哪个?
数据库·测试·数据库管理工具·数据复制·迁移工具·ninedata社区版·naivicat平替
悟空聊架构2 天前
基于KaiwuDB在游乐场“刷卡+投币”双模消费系统中的落地实践
数据库·后端·架构
IvorySQL2 天前
PostgreSQL 技术日报 (3月4日)|硬核干货 + 内核暗流一网打尽
数据库·postgresql·开源
进击的丸子2 天前
虹软人脸服务器版SDK(Linux/ARM Pro)多线程调用及性能优化
linux·数据库·后端
NineData3 天前
NineData智能数据管理平台新功能发布|2026年1-2月
数据库·sql·数据分析