Databend 开源周报第 115 期

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 团队

如果您想了解更多信息,请查看下面列出的资源。

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 |
        +------------------+            +-----------------------+        +-----------+

如果您想了解更多信息,请查看下面列出的资源。

Highlights

以下是一些值得注意的事件,也许您可以找到感兴趣的内容。

  • 为 MERGE INTO 实现自动聚合和自动 compact 支持。
  • SQLsmith 现在可以覆盖 DELETE、UPDATE、ALTER TABLE 和 CAST 。
  • 新增 json_eachjson_array_elements 等半结构化数据处理函数。
  • 新增 to_week_of_yeardate_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。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/5489811/blog/10119857

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。