• Databend 开源周报第 115 期


    Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。

    What's On In Databend

    探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。

    聚合索引

    Databend 最近引入了 聚合索引 以提高查询性能,特别是涉及 MIN、MAX 和 SUM 等聚合查询的场景下。聚合索引使用预计算和独立存储查询结果等技术,从而消除了扫描整个表的需要,加快了数据检索速度。

    此外,该特性还附带刷新机制,支持按需更新和保存最新查询结果,从而保持数据的准确性和可靠性。Databend 建议在执行相关查询之前手动刷新聚合索引,以检索最新的数据;如果使用 Databend Cloud 则支持自动刷新聚合索引。

    1. -- Create an aggregating index
    2. CREATE AGGREGATING INDEX my_agg_index AS SELECT MIN(a), MAX(c) FROM agg;
    3. -- Refresh the aggregating index
    4. REFRESH AGGREGATING INDEX my_agg_index;

    聚合索引 需要升级至 企业版 。如需了解升级信息,请联系 Databend 团队 。

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

    Code Corner

    一起来探索 Databend 和周边生态中的代码片段或项目。

    MERGE INTO 流水线全景图

    前段时间,Databend 实现了对 MERGE INTO 语句的支持,以提供更全面的数据维护能力。对其中原理感兴趣的小伙伴,可以查看下面的 MERGE INTO 流水线全景图。

    1. +-------------------+
    2. +-----------------------------+ output_port_row_id | |
    3. +-----------------------+ Matched | +------------------------>-ResizeProcessor(1)+---------------+
    4. | +---+--------------->| MatchedSplitProcessor | | | |
    5. | | | | +----------+ +-------------------+ |
    6. +----------------------+ | +---+ +-----------------------------+ | |
    7. | MergeIntoSource +---------->|MergeIntoSplitProcessor| output_port_updated |
    8. +----------------------+ | +---+ +-----------------------------+ | +-------------------+ |
    9. | | | NotMatched | | | | | |
    10. | +---+--------------->| MergeIntoNotMatchedProcessor+----------+------------->-ResizeProcessor(1)+-----------+ |
    11. +-----------------------+ | | | | | |
    12. +-----------------------------+ +-------------------+ | |
    13. | |
    14. | |
    15. | |
    16. | |
    17. | |
    18. +-------------------------------------------------+ | |
    19. | | | |
    20. | | | |
    21. +--------------------------+ +-------------------------+ | ++---------------------------+ | +--------------------------------------+ | |
    22. +---------+ TransformSerializeSegment<--------+ TransformSerializeBlock <-----+---------+|TransformAddComputedColumns|<---------+-----+TransformResortAddOnWithoutSourceSchema<-+ |
    23. | +--------------------------+ +-------------------------+ | ++---------------------------+ | +--------------------------------------+ |
    24. | | | |
    25. | | | |
    26. | | | |
    27. | | | |
    28. | +---------------+ +------------------------------+ | ++---------------+ | +---------------+ |
    29. +----------+ TransformDummy|<----------------+ AsyncAccumulatingTransformer <-+---------------+|TransformDummy |<---------------+---------------+TransformDummy <------------------+
    30. | +---------------+ +------------------------------+ | ++---------------+ | +---------------+
    31. | | |
    32. | | If it includes 'computed', this section |
    33. | | of code will be executed, otherwise it won't |
    34. | | |
    35. | -+-------------------------------------------------+
    36. |
    37. |
    38. |
    39. | +------------------+ +-----------------------+ +-----------+
    40. +------->|ResizeProcessor(1)+----------->|TableMutationAggregator+------->|CommitSink |
    41. +------------------+ +-----------------------+ +-----------+

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

    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。

  • 相关阅读:
    【测试开发之路】Java & Selenium自动化
    Spark在爱奇艺的应用实践
    机器学习算法交叉验证最频繁犯的6个错误
    数据库RDBMS1
    Node.js基础---Express
    jsp70077网络办公OA系统
    SpringBoot自动配置原理及启动流程
    【Qt控件之QRadioButton】使用及技巧
    分布式事务中的那些事——微服务总结(二)
    【RHCE-第一天作业】
  • 原文地址:https://blog.csdn.net/Databend/article/details/133884813