Databend 開源周報(bào)第112期

Databend?[1] 是一款現(xiàn)代云數(shù)倉。專為彈性和高效設(shè)計(jì),為您的大規(guī)模分析需求保駕護(hù)航。自由且開源。即刻體驗(yàn)云服務(wù):https://app.databend.cn 。
What's On In Databend
探索 Databend 本周新進(jìn)展,遇到更貼近你心意的 Databend 。
理解用戶自定義函數(shù)(UDF)
用戶自定義函數(shù)(User-Defined Function,UDF)允許你的自定義操作與 Databend 進(jìn)行集成,從而更好地處理數(shù)據(jù)、執(zhí)行任務(wù),構(gòu)造更合理的數(shù)據(jù)工作流。
Databend 目前支持兩種形式的用戶自定義函數(shù):使用 SQL lambda 表達(dá)式編寫或者用 Python 等編程語言實(shí)現(xiàn) UDF 服務(wù)器注冊(cè)。用戶自定義函數(shù)可以作為 Databend 查詢處理流程的一部分執(zhí)行。
使用 UDFs 的優(yōu)點(diǎn)包括:
自定義數(shù)據(jù)轉(zhuǎn)換。
優(yōu)化性能。
改善代碼可重用性。
如果您想了解更多信息,請(qǐng)查看下面列出的資源。
Docs | User-Defined Function[2]
Code Corner
一起來探索 Databend 和周邊生態(tài)中的代碼片段或項(xiàng)目。
使用 Prometheus 改善可觀測(cè)性
metrics-rs 為不同的可觀測(cè)性方案構(gòu)建了一個(gè)通用的抽象層,支持包括 statsd、prometheus、new-relic 等在內(nèi)的多種工具,但是 metrics-rs 無法很好地支持直方圖統(tǒng)計(jì)之類的度量。
如今,Prometheus 已成為可觀測(cè)性領(lǐng)域的事實(shí)標(biāo)準(zhǔn),使用原始的 Prometheus 客戶端,而不是將指標(biāo)推送給其他工具,會(huì)帶來一些顯而易見的好處:
更好的性能:經(jīng)過良好實(shí)現(xiàn)的觀測(cè)指標(biāo)的內(nèi)存分配應(yīng)該是 O(1) ,無需本地緩沖隊(duì)列。
減少抽象層:我們可以減少關(guān)于指標(biāo)的抽象層,使代碼路徑更易于理解。
更好的編碼規(guī)范:目前我們?cè)诓煌K中有不同的度量標(biāo)準(zhǔn)實(shí)踐,可以學(xué)習(xí) Prometheus 社區(qū)的度量標(biāo)準(zhǔn)實(shí)踐來統(tǒng)一我們的度量標(biāo)準(zhǔn)實(shí)踐。
現(xiàn)在,Databend 的可觀測(cè)性指標(biāo)已經(jīng)完全遷移到 Prometheus 實(shí)現(xiàn),在保持原有指標(biāo)幾乎不變的情況下,帶來了更全面、更可靠的可觀測(cè)性體驗(yàn)。
如果您想了解更多信息,請(qǐng)查看下面列出的資源。
PR #12787 | feat(observability): replace metrics-rs with prometheus-client[3]
Issue #12635 | Tracking: replace metrics-rs with prometheus-client-rs[4]
Issue #9422 | Feature: Refactoring Databend Metrics Component with Prometheus[5]
Highlights
以下是一些值得注意的事件,也許您可以找到感興趣的內(nèi)容。
"COMPACT"
支持分布式執(zhí)行。新增 "
json_path_exists"
函數(shù)。新增 "
recluster_block_size"
設(shè)置用于控制重聚類時(shí)的塊大小。支持 "
DECIMAL"
?類型向?"INT"
類型的轉(zhuǎn)換。支持 inverted filter 以減少 filter 執(zhí)行,部分場(chǎng)景下 4 倍性能提升。
SQLSmith 測(cè)試支持生成表函數(shù)、窗口函數(shù)、子查詢和 "
WITH"
子句。
What's Up Next
我們始終對(duì)前沿技術(shù)和創(chuàng)新理念持開放態(tài)度,歡迎您加入社區(qū),為 Databend 注入活力。
實(shí)現(xiàn) GREATEST 函數(shù)
GREATEST 函數(shù)的輸入是一個(gè)表達(dá)式列表,輸出是該表達(dá)式列表中的最大值。
語法:
示例:
Issue #12944 | feat: GREATEST function[6]
如果你對(duì)這個(gè)主題感興趣,可以嘗試解決其中的部分問題或者參與討論和 PR review ?;蛘?,你可以點(diǎn)擊 https://link.databend.rs/i-m-feeling-lucky 來挑選一個(gè)隨機(jī)問題,祝好運(yùn)!
Changelog
前往查看 Databend 每日構(gòu)建的變更日志,以了解開發(fā)的最新動(dòng)態(tài)。
地址:https://github.com/datafuselabs/databend/releases
Contributors
非常感謝貢獻(xiàn)者們?cè)诒局艿淖吭焦ぷ鳌?/p>
引用鏈接
[1]
?Databend:?https://github.com/datafuselabs/databend[2]
?Docs | User-Defined Function:?https://databend.rs/doc/sql-commands/ddl/udf[3]
?PR #12787 | feat(observability): replace metrics-rs with prometheus-client:?https://github.com/datafuselabs/databend/pull/12787[4]
?Issue #12635 | Tracking: replace metrics-rs with prometheus-client-rs:?https://github.com/datafuselabs/databend/issues/12635[5]
?Issue #9422 | Feature: Refactoring Databend Metrics Component with Prometheus:?https://github.com/datafuselabs/databend/issues/9422[6]
?Issue #12944 | feat: GREATEST function:?https://github.com/datafuselabs/databend/issues/12944
Connect With Us
Databend 是一款開源、彈性、低成本,基于對(duì)象存儲(chǔ)也可以做實(shí)時(shí)分析的新式數(shù)倉。期待您的關(guān)注,一起探索云原生數(shù)倉解決方案,打造新一代開源 Data Cloud。
???????Databend Cloud:https://databend.cn
???Databend 文檔:https://databend.rs/
???WeChat:Databend
??GitHub:https://github.com/datafuselabs/databend