Databend 开源周报第 109 期
Databend Labs9月 4, 2023
英文版移步:https://www.databend.com/blog/2023-09-03-databend-weekly
Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。
What's On In Databend
探索 Databend 本周新进展,遇到更贴近你心意的 Databend。
利用 Cluster Key 优化查询性能
通过定义 Cluster Key,可以引导 Databend 对表进行聚类来提高查询性能,此时数据将会根据 Cluster Key 来组织和分组,而不仅仅依赖数据摄入的顺序。从而优化大型表的数据读取逻辑,加速查询。
一旦表设定了 Cluster Key,在使用
COPY INTO
REPLACE INTO
由于执行聚类和重聚类操作需要消耗一定的时间,所以我们建议主要为查询性能较慢的大型表定义集群键。
如果您想了解更多信息,请查看下面列出的资源。
Code Corner
一起来探索 Databend 和周边生态中的代码片段或项目。
Databend Local 模式
Databend 的 local 模式旨在提供一个简易的 Databend 环境,用户无需部署 Databend 服务就可以用 SQL 进行交互,从而方便开发者们使用 Databend 进行简单的数据处理。
Local 模式 将启动一个临时的 databend-query 进程,并且提供客户端和服务端的融合支持。其存储位于临时目录中,生命周期跟随进程,进程离开后资源也将销毁,你可以在一个服务器中启动多个 local 进程,他们的资源是相互隔离的。
❯ alias databend-local="databend-query local"
❯ echo " select sum(a) from range(1, 100000) as t(a)" | databend-local
4999950000
❯ databend-local
databend-local:) select number %3 n, number %4 m, sum(number) from numbers(1000000000) group by n,m limit 3 ;
┌───────────────────────────────────┐
│ n │ m │ sum(number) │
│ UInt8 │ UInt8 │ UInt64 NULL │
├───────┼───────┼───────────────────┤
│ 0 │ 0 │ 41666666833333332 │
│ 1 │ 0 │ 41666666166666668 │
│ 2 │ 0 │ 41666666500000000 │
└───────────────────────────────────┘
0 row result in 1.669 sec. Processed 1 billion rows, 953.67 MiB (599.02 million rows/s, 4.46 GiB/s)
如果你需要在生产环境使用 Databend,我们建议按官方文档部署 Databend 服务或使用 Databend Cloud,但如果你是开发人员或测试工程师,则可以使用 local 模式来体验 Databend。
如果您想了解更多信息,请查看下面列出的资源。
Highlights
以下是一些值得注意的事件,也许您可以找到感兴趣的内容。
- 初步支持 。
MERGE INTO
- 实现 SQLsmith 测试框架,以支持更精确的模糊测试。
- 阅读文档 Docs | Setting Environment Variables 了解如何通过环境变量变更 Databend 配置。
- 实现和
json_strip_nulls
函数,你也可以阅读 Docs | Semi-Structured Functions 了解 Databend 为半结构化数据处理设计和实现的函数。json_typeof
What's Up Next
我们始终对前沿技术和创新理念持开放态度,欢迎您加入社区,为 Databend 注入活力。
优化 MERGE INTO 实现
在 PR #12350 | feat: support Merge-Into V1 中,Databend 初步支持了
MERGE INTO
在这个基础上,还有很多值得关注的优化可以实施,比如:提供并行和分布式的实现,减少 IO 并简化数据块拆分等。
Issue #12595 | Feature: Merge Into Optimizations
如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review。或者,你可以点击 https://link.databend.com/i-m-feeling-lucky 来挑选一个随机问题,祝好运!
Changelog
前往查看 Databend 每日构建的变更日志,以了解开发的最新动态。
地址:https://github.com/datafuselabs/databend/releases
订阅我们的新闻简报
及时了解功能发布、产品规划、支持服务和云服务的最新信息!