Databend 開源周報第 109 期

Databend[1] 是一款現(xiàn)代云數(shù)倉。專為彈性和高效設(shè)計,為您的大規(guī)模分析需求保駕護(hù)航。自由且開源。即刻體驗云服務(wù):https://app.databend.cn 。
What's On In Databend
探索 Databend 本周新進(jìn)展,遇到更貼近你心意的 Databend 。
利用 Cluster Key 優(yōu)化查詢性能
通過定義 Cluster Key ,可以引導(dǎo) Databend 對表進(jìn)行聚類來提高查詢性能,此時數(shù)據(jù)將會根據(jù) Cluster Key 來組織和分組,而不僅僅依賴數(shù)據(jù)攝入的順序。從而在處于大型表中獲得優(yōu)化的數(shù)據(jù)讀取邏輯,加速查詢。
一旦表設(shè)定了 Cluster Key ,在使用 "COPY INTO"
和 "REPLACE INTO"
這兩種方式寫入數(shù)據(jù)時,會自動執(zhí)行 compact 和 recluster 操作。
由于執(zhí)行聚類和重聚類操作需要消耗一定的時間,所以我們建議主要為查詢性能較慢的大型表定義集群鍵。
如果您想了解更多信息,請查看下面列出的資源。
Docs | Understanding Cluster Key[2]
Docs | Databend Data Storage: Snapshot, Segment, and Block[3]
Code Corner
一起來探索 Databend 和周邊生態(tài)中的代碼片段或項目。
Databend Local 模式
Databend 的 local 模式旨在為 Databend 提供一個簡易版本,用戶無需部署 Databend 服務(wù)就可以用 SQL 進(jìn)行交互交互,從而方便開發(fā)者們用 SQL 使用 Databend 支持的功能進(jìn)行簡單的數(shù)據(jù)處理。
Local 模式 將啟動一個臨時的 databend-query 進(jìn)程,并且提供客戶端和服務(wù)端的融合支持。其存儲位于臨時目錄中,生命周期跟隨進(jìn)程,進(jìn)程離開后資源也將銷毀,你可以在一個服務(wù)器中啟動多個 local 進(jìn)程,他們的資源是相互隔離的。
如果你需要在生產(chǎn)環(huán)境使用 Databend,我們建議按官方文檔部署 Databend 服務(wù)或使用 Databend Cloud,但如果你是開發(fā)人員或測試工程師,則可以使用 local 模式來體驗 Databend 。
如果您想了解更多信息,請查看下面列出的資源。
PR | chore(query): improve databend local[4]
Highlights
以下是一些值得注意的事件,也許您可以找到感興趣的內(nèi)容。
初步支持 "
MERGE INTO"
。實現(xiàn) SQLsmith 測試框架,以支持更精確的模糊測試。
閱讀文檔 Docs | Setting Environment Variables[5] 了解如何通過環(huán)境變量變更 Databend 配置。
實現(xiàn) "
json_strip_nulls"
和 "json_typeof"
函數(shù),你也可以閱讀 Docs | Semi-Structured Functions[6] 了解 Databend 為半結(jié)構(gòu)化數(shù)據(jù)處理設(shè)計和實現(xiàn)的函數(shù)。
What's Up Next
我們始終對前沿技術(shù)和創(chuàng)新理念持開放態(tài)度,歡迎您加入社區(qū),為 Databend 注入活力。
優(yōu)化 MERGE INTO 實現(xiàn)
在 PR #12350 | feat: support Merge-Into V1[7] 中,Databend 初步支持了 "MERGE INTO"
語法。

在這個基礎(chǔ)上,還有很多值得關(guān)注的優(yōu)化可以實施,比如:提供并行和分布式的實現(xiàn),減少 IO 并簡化數(shù)據(jù)塊拆分等。
Issue #12595 | Feature: Merge Into Optimizations[8]
如果你對這個主題感興趣,可以嘗試解決其中的部分問題或者參與討論和 PR review ?;蛘撸憧梢渣c擊 https://link.databend.rs/i-m-feeling-lucky 來挑選一個隨機(jī)問題,祝好運(yùn)!
Changelog
前往查看 Databend 每日構(gòu)建的變更日志,以了解開發(fā)的最新動態(tài)。
地址:https://github.com/datafuselabs/databend/releases
Contributors
非常感謝貢獻(xiàn)者們在本周的卓越工作。

引用鏈接
[1]
?Databend:?https://github.com/datafuselabs/databend[2]
?Docs | Understanding Cluster Key:?https://databend.rs/doc/sql-commands/ddl/clusterkey/[3]
?Docs | Databend Data Storage: Snapshot, Segment, and Block:?https://databend.rs/doc/sql-commands/ddl/clusterkey/[4]
?PR | chore(query): improve databend local:?https://github.com/datafuselabs/databend/pull/12659[5]
?Docs | Setting Environment Variables:?https://databend.rs/doc/deploy/node-config/environment-variables[6
]
?Docs | Semi-Structured Functions:?https://databend.rs/doc/reference/functions/variant-functions[7]
?PR #12350 | feat: support Merge-Into V1:?https://github.com/datafuselabs/databend/pull/12350[8]
?Issue #12595 | Feature: Merge Into Optimizations :?https://github.com/datafuselabs/databend/issues/12595
Connect With Us
Databend 是一款開源、彈性、低成本,基于對象存儲也可以做實時分析的新式數(shù)倉。期待您的關(guān)注,一起探索云原生數(shù)倉解決方案,打造新一代開源 Data Cloud。
Databend Website
GitHub Discussions
Twitter
Slack Channel