Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。
What's On In Databend
探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。
聚合索引
Databend 最近引入了 聚合索引 以提高查询性能,特别是涉及 MIN、MAX 和 SUM 等聚合查询的场景下。聚合索引使用预计算和独立存储查询结果等技术,从而消除了扫描整个表的需要,加快了数据检索速度。
此外,该特性还附带刷新机制,支持按需更新和保存最新查询结果,从而保持数据的准确性和可靠性。Databend 建议在执行相关查询之前手动刷新聚合索引,以检索最新的数据;如果使用 Databend Cloud 则支持自动刷新聚合索引。
-- Create an aggregating index
CREATE AGGREGATING INDEX my_agg_index AS SELECT MIN(a), MAX(c) FROM agg;
-- Refresh the aggregating index
REFRESH AGGREGATING INDEX my_agg_index;
聚合索引 需要升级至 企业版 。如需了解升级信息,请联系 Databend 团队 。
如果您想了解更多信息,请查看下面列出的资源。
- Docs | AGGREGATING INDEX
Code Corner
一起来探索 Databend 和周边生态中的代码片段或项目。
MERGE INTO 流水线全景图
前段时间,Databend 实现了对 MERGE INTO
语句的支持,以提供更全面的数据维护能力。对其中原理感兴趣的小伙伴,可以查看下面的 MERGE INTO
流水线全景图。
+-------------------+
+-----------------------------+ output_port_row_id | |
+-----------------------+ Matched | +------------------------>-ResizeProcessor(1)+---------------+
| +---+--------------->| MatchedSplitProcessor | | | |
| | | | +----------+ +-------------------+ |
+----------------------+ | +---+ +-----------------------------+ | |
| MergeIntoSource +---------->|MergeIntoSplitProcessor| output_port_updated |
+----------------------+ | +---+ +-----------------------------+ | +-------------------+ |
| | | NotMatched | | | | | |
| +---+--------------->| MergeIntoNotMatchedProcessor+----------+------------->-ResizeProcessor(1)+-----------+ |
+-----------------------+ | | | | | |
+-----------------------------+ +-------------------+ | |
| |
| |
| |
| |
| |
+-------------------------------------------------+ | |
| | | |
| | | |
+--------------------------+ +-------------------------+ | ++---------------------------+ | +--------------------------------------+ | |
+---------+ TransformSerializeSegment<--------+ TransformSerializeBlock <-----+---------+|TransformAddComputedColumns|<---------+-----+TransformResortAddOnWithoutSourceSchema<-+ |
| +--------------------------+ +-------------------------+ | ++---------------------------+ | +--------------------------------------+ |
| | | |
| | | |
| | | |
| | | |
| +---------------+ +------------------------------+ | ++---------------+ | +---------------+ |
+----------+ TransformDummy|<----------------+ AsyncAccumulatingTransformer <-+---------------+|TransformDummy |<---------------+---------------+TransformDummy <------------------+
| +---------------+ +------------------------------+ | ++---------------+ | +---------------+
| | |
| | If it includes 'computed', this section |
| | of code will be executed, otherwise it won't |
| | |
| -+-------------------------------------------------+
|
|
|
| +------------------+ +-----------------------+ +-----------+
+------->|ResizeProcessor(1)+----------->|TableMutationAggregator+------->|CommitSink |
+------------------+ +-----------------------+ +-----------+
如果您想了解更多信息,请查看下面列出的资源。
- PR #13036 | chore: draw merge into pipeline
Highlights
以下是一些值得注意的事件,也许您可以找到感兴趣的内容。
- 为 MERGE INTO 实现自动聚合和自动 compact 支持。
- SQLsmith 现在可以覆盖 DELETE、UPDATE、ALTER TABLE 和 CAST 。
- 新增
json_each
和json_array_elements
等半结构化数据处理函数。 - 新增
to_week_of_year
和date_part
等时间日期函数,可以阅读 Docs | Date & Time Functions 了解更多细节。 - 阅读 Sending IoT Stream Data to Databend with LF Edge eKuiper 了解如何将 Databend 与 eKuiper 集成,以应对日益增长的 IoT 数据分析需求。
What's Up Next
我们始终对前沿技术和创新理念持开放态度,欢迎您加入社区,为 Databend 注入活力。
增强基于角色的访问控制能力
目前,Databend 的访问控制体系由基于角色的访问控制(RBAC)和自主访问控制(DAC)两部分组成。然而,为了进一步完善这套体系,还需要完成一些后续工作。
我们计划在 2023 Q4 支持对更多未覆盖资源的权限检查,并且制定相应的权限定义指南。
Issue #13207 | Tracking: RBAC improvement plan in 2023 Q4
如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 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
- GitHub Discussions
- Slack Channel