--- title: Databend 开源周报第 151 期 description: 'Databend 的全文索引能力进一步增强,用户可以根据复杂的需求进行精确的搜索和数据检索。' slug: databend-weekly-151 date: 2024-07-01 tags: [weekly] category: Weekly cover_url: 'weekly/weekly-141.jpg' image: 'weekly/weekly-141.jpg' contributors: - name: andylokandy - name: b41sh - name: BohuTANG - name: Chasen-Zhang - name: dantengsky - name: Dousir9 - name: drmingdrmer - name: everpcpc - name: flaneur2020 - name: Freejww - name: lichuang - name: PsiACE - name: shamb0 - name: soyeric128 - name: sundy-li - name: TCeason - name: xudong963 - name: youngsofun - name: zhang2014 - name: zhyass authors: - databendlabs --- > [Databend](https://github.com/datafuselabs/databend) 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:[https://app.databend.cn](https://app.databend.cn) 。 ## What's On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend。 ### 支持递归调用 UDFs Databend 现在已经支持递归调用用户定义函数,使其能够适用于处理可以被分解为多个相似子问题的任务,进一步扩展了其应用场景和功能复杂性。 示例如下: ```sql > CREATE FUNCTION gcd (INT, INT) RETURNS BIGINT LANGUAGE javascript HANDLER = 'gcd_js' AS $$ export function gcd_js(a, b) { while (b != 0) { let t = b; b = a % b; a = t; } return a; } $$ > select number, gcd(number * 3, number * 6), gcd(3, gcd(number * 3, number * 6)) from numbers(5) where number > 0 order by 1; ``` 如果您想了解更多信息,欢迎联系 [Databend 团队](https://databend.cn/contact-us/),或查看下面列出的资源。 - [PR #15839 | feat(query): enable udf in udf call](https://github.com/datafuselabs/databend/pull/15839) ## Beyond the Code 一起来探索 Databend 社区和周边生态中的新鲜事。 ### Databend 全新官网上线 Databend 的官方中英文网站在近日迎来全面更新,采用全新的设计语言与风格,帮助您更好了解如何使用 Databend 支持您的业务。   - [Databend 国内版官网 | https://databend.cn/](https://databend.cn/) - [Databend 国际版官网 | https://databend.com/](https://databend.com/) ## Highlights 以下是一些值得注意的事件,也许您可以找到感兴趣的内容。 - 支持将元数据服务的状态机持久化到磁盘。 - databend-common-ast 现已发布到 crates.io 。 - MERGE INTO 语句支持行获取(row fetch),大幅减少需要处理的数据量。 ## What's Up Next 我们始终对前沿技术和创新理念持开放态度,欢迎您加入社区,为 Databend 注入活力。 ### 优化败者树 普遍认为败者树比堆快两倍,我们计划引入败者树改善多路归并排序。但在 [PR 15869](https://github.com/datafuselabs/databend/pull/15869) 的尝试中,需要获取 top2 导致败者树在每次迭代过程中会被访问两次。而标准库的堆经过深度优化,导致目前败者树的性能看上去不太理想。 我们希望优化败者树实现或者使用某种变体来改善这种情况。 [Issue #15925 | Feature: Optimize loser tree](https://github.com/datafuselabs/databend/issues/15925) 如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review。或者,你可以点击 https://link.databend.rs/i-m-feeling-lucky 来挑选一个随机问题,祝好运! ## Changelog 前往查看 Databend 每日构建的变更日志,以了解开发的最新动态。 地址:https://github.com/datafuselabs/databend/releases ## Contributors 非常感谢贡献者们在本周的卓越工作。  ## Connect With Us Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。 - [Databend Website](https://databend.com) - [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