Databend 是一款现代云数仓。专为弹性和高效规划,为您的大规模分析需求保驾护航。自在且开源。立刻体会云服务:app.databend.cn 。
What’s On In Databend
探究 Databend 本周新进展,遇到更靠近你心意的 Databend 。
虚拟列
查询 JSON 内部字段的优化办法之一是运用虚拟列。
首先,运用 CREATE VIRTUAL COLUMN
为这些字段创立虚拟列。创立虚拟列后,能够运用 GENERATE VIRTUAL COLUMN
函数生成虚拟列。完成这些过程后,就能够经过相应的虚拟列直接拜访 JSON 内部字段中的数据。
Databend 现在支撑用于创立、删去、生成和修改虚拟列的一系列 SQL 语法。下面是一个简单的比如:
create table test (id int, val json);
insert into test values(1, '{"a":33,"b":44}'),(2, '{"a":55,"b":66}');
create virtual columns (val['a'], val['b']) for test;
generate virtual columns for test;
select val['a'], val['b'] from test;
+----------+----------+
| val['a'] | val['b'] |
+----------+----------+
| 33 | 44 |
| 55 | 66 |
+----------+----------+
假如你想要了解更多信息,请检查下面列出的资源。
- RFC | JSON Optimization – Virtual Column
- PR | feat(query): Support generate virtual columns
Code Corner
一起来探究 Databend 和周边生态中的代码片段或项目。
由 AskBend 驱动的交互式文档
你还记得 AskBend 吗?AskBend 是运用 Rust 编写的知识库问答体系,由 Databend 和 OpenAI 强力驱动,能够依据 Markdown 文件创立根据 SQL 的知识库。
现在,我们现已将其集成到 Databend 官方网站中,为文档查询供给了交互式体会。
假如你想要了解更多信息,请检查下面列出的资源。
- databend.rs
- PR | feat(front search): Add AI searching
亮点
以下是一些值得注意的事件,也许您能够找到感兴趣的内容。
- 为窗口函数完成表达式支撑。
- 为 SELECT list 支撑
range
函数和别名。 - 新增根据标签的插入/骤变/更新去重支撑。
- 为
COPY INTO
增加优化提示支撑。 - 阅览 Docs | Deploying a Databend Cluster ,以了解手动部署 Databend 集群时的技巧。
- 阅览 Docs | Data Types – BITMAP 和 Docs | Bitmap Functions ,以了解 Databend 中 BITMAP 数据类型的用法。
What’s Up Next
我们始终对前沿技术和立异理念持敞开情绪,欢迎您加入社区,为 Databend 注入活力。
运用败者树优化排序算法
目前,Databend 的排序算法运用根据堆的归并排序。
多路合并有三种主要算法:堆排序、胜者树和败者树。在这三个算法中,每次对堆进行调整都需要与左右子节点进行比较。比较次数为2logN,而胜者树和败者树调整的比较次数为 logN 。
它们之间的差异在于,胜者树需要与兄弟节点进行比较并更新父节点,而败者树只需要与父节点进行比较,然后减少了内存拜访次数。
Issue #11604 | Feature: Update sort algorithm using Loser Tree
假如你对这个主题感兴趣,能够测验处理其中的部分问题或许参加讨论和 PR review 。或许,你能够点击 link.databend.rs/i-m-feeling… 来选择一个随机问题,祝好运!
Changelog
前往检查 Databend 每日构建的改变日志,以了解开发的最新动态。
地址:github.com/datafuselab…
Contributors
非常感谢贡献者们在本周的杰出作业。
Connect With Us
Databend 是一款开源、弹性、低成本,根据目标存储也能够做实时分析的新式数仓。等待您的关注,一起探究云原生数仓处理方案,打造新一代开源 Data Cloud。
- Databend Website
- GitHub Discussions
- Slack Channel