Databend 开源周报第 146 期

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

What's On In Databend

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

支持 ExpressionScanCacheScan

为进一步提高查询的效率和性能,Databend 近期支持了 ExpressionScanCacheScan

  • ExpressionScan 允许在读取数据的同时,动态计算表达式或函数。

  • CacheScan 可以从 CacheSource::HashJoinBuil 读取数据,从而实现侧向语义。

    select t1.a, v1.c1, v1.c2 from t1
    inner join lateral (values('t1_b', t1.b), ('t1_c', t1.c)) as v1 ("c1", "c2") on t1.a = v1.c2
    inner join lateral (values('t1_b', t1.b), ('t1_c', v1.c1)) as v2 ("c1", "c2") on t1.a = v2.c2;

其执行计划如下:

如果您想了解更多信息,欢迎联系 Databend 团队,或查看下面列出的资源。

Code Corner

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

了解 Embedded UDFs

Databend 利用用户定义的函数(UDF)提供向 SQL 查询中嵌入自定义操作的能力。其中 Embedded UDFs 允许开发者直接在 SQL 查询中嵌入和执行编程代码。

目前 Databend 支持使用 JavaScript 和 WASM 作为 Embedded UDFs 。

复制代码
CREATE FUNCTION wasm_gcd (INT, INT) RETURNS INT LANGUAGE wasm HANDLER = 'wasm_gcd(int4,int4)->int4' AS $$@data/udf/test10_udf_wasm_gcd.wasm.zst$$;

SELECT
    number,
    wasm_gcd((number * 3), (number * 6))
FROM
    numbers(5)
WHERE
    (number > 0)
ORDER BY 1;

Docs | Embedded UDFs

Highlights

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

  • show grants 支持 where 和 limit 选项。
  • 支持毫秒级任务调度。
  • 为 OpenTelemetry 日志支持 HTTP 端点。

What's Up Next

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

为 UDF 增加 GRPC 接口

当前 Databend 的 UDF 服务封装在 Flight 服务中,当遇到连接问题时,很难判断这是网络问题还是服务器问题。

为了改善 Databend 在处理用户定义函数时的健壮性和透明度,需要提供一个内置的健康检查和信息报告方式,例如 Health.info() 接口。此接口将能够展示服务器中所有可用的 UDF 方法,从而简化问题的诊断过程。通过运行如下命令,用户可以快速检查服务状态:

复制代码
grpcurl grpc.server.com:443 com.databend.udf.Health/info

Issue #15645 | feat: add a grpc info interface to UDF server framework

如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review 。或者,你可以点击 webdav-server: Read and write are not handled correctly · Issue #3231 · apache/opendal · GitHub 来挑选一个随机问题,祝好运!

Changelog

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

地址:Releases · datafuselabs/databend · GitHub

Contributors

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

Connect With Us

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

相关推荐
qq_124987075319 分钟前
基于JavaWeb的大学生房屋租赁系统(源码+论文+部署+安装)
java·数据库·人工智能·spring boot·计算机视觉·毕业设计·计算机毕业设计
芷栀夏33 分钟前
从 CANN 开源项目看现代爬虫架构的演进:轻量、智能与统一
人工智能·爬虫·架构·开源·cann
倒流时光三十年1 小时前
SpringBoot 数据库同步 Elasticsearch 性能优化
数据库·spring boot·elasticsearch
芷栀夏1 小时前
深度解析 CANN 异构计算架构:基于 ACL API 的算子调用实战
运维·人工智能·开源·cann
酷酷的崽7981 小时前
CANN 开源生态解析(四):`cann-dist-train` —— 构建高效可扩展的分布式训练引擎
分布式·开源
码农小卡拉1 小时前
深入解析Spring Boot文件加载顺序与加载方式
java·数据库·spring boot
怣501 小时前
MySQL多表连接:全外连接、交叉连接与结果集合并详解
数据库·sql
晚霞的不甘1 小时前
CANN 编译器深度解析:TBE 自定义算子开发实战
人工智能·架构·开源·音视频
wjhx2 小时前
QT中对蓝牙权限的申请,整理一下
java·数据库·qt
冰暮流星2 小时前
javascript之二重循环练习
开发语言·javascript·数据库