• Databend 开源周报 #66


    Databend 是一款强大的云数仓。专为弹性和高效设计,自由且开源。

    即刻体验云服务:https://app.databend.com。

    New Features

    RFC

    • User Stage (#8519)

    user stage

    • 新增对 internal 和 legacy internal stage 的支持 (#8526)

    • 实现 user stage 支持并添加 stateful tests (#8556)

    multiple catalog

    • 实现 multiple catalog 相关的 AST (#8608)

    hive

    • hive 预测下推 (#8469)

    • 使 substr 以及带空值的 order by 与 hive 函数兼容 (#8558)

    rbac

    • "SHOW ROLES" 语句只显示可用的用户 (#8553)

    compatibility

    • 支持使用 mydumper 转储数据 (#8500)

    auth

    • 新增 auth 模块并支持 sharing endpoint 使用文件令牌(token)(#8607)

    format

    • 允许 TSV 中存在嵌套字段 (#8606)

    • 统一 format 相关的设置和选项 (#8566)

    hashtable

    • 字符串自适应哈希表 (#7971)

    meta

    • 自动清理过期的 key (#8539)

    • 添加对新的 key-space: Expire 的支持 (#8578)

    query

    • 为 databend-query 优化 logging 格式 (#8466)

    Code Refactor

    error handler

    • 新增 internal error 类别并将其他不需要的错误进行合并 (#8581)

    interpreter

    • 将 "interpreter_common.rs" 拆分 (#8593)

    query

    • 移除遗留的代码 (#8412)

    • 避免额外的 memcpy (#8569)

    • 将序列化合并到新表达式模块中 (#8582)

    storage

    • 使 "BlockMeta" 易于克隆 (#8548)

    new expression

    • timestamp 转换为 variant string 而不是 variant int (#8580)

    Bug Fix

    compatibility

    • 兼容 mysqldump 5.7.16 "/*!code" 查询 (#8485)

    planner

    • 修复「select view 时出现 column not exists 报错」的问题 (#8543)

    query

    • nullable(Int) 与空值相除不应当报错 (#8495)

    • 修复「设置 "AUTH ROLE" 之后 "CURRENT ROLE" 的行为异常」的问题 (#8546)

    storage

    • 为 compact 添加 limit 支持 (#8473)

    • 修复「在减少 BlockMeta 时,索引大小不正确」的问题 (#8428)

    News

    Datafuse Labs / Databend 本周新动态!

    字符串自适应哈希表

    String Adaptive Hash Table 是 Databend 社区在「2022 开源软件供应链点亮计划」的项目之一。@usamoi 帮助我们完成了这一重要的工作,现在代码已经合并到 Databend 代码库中并且带来特定场景下 20% - 50% 的性能提升。

    String Adaptive Hash Table 是专为字符串类型的 key 所设计的哈希表,根据 key 的不同长度来匹配不同的数据结构,达到优化插入和读取的效果。

    阅读下面列出的材料以了解更多讯息

    • PR | adaptive string hash table

    • Paper | SAHA: A String Adaptive Hash Table for Analytical Databases

    • GitHub - usamoi/saha

    RFC: User Stage

    Databend 仅支持 named internal stage:

    1. CREATE STAGE @my_stage;
    2. COPY INTO my_table FROM @my_stage;

    然而, named internal stage 在一些场景下使用会相对复杂。特别是对于只希望使用 stage 加载数据的用户而言。通过支持 user stage ,这部分用户就可以更高效地复制数据:

    COPY INTO my_table from @~;

    阅读下面列出的材料以了解更多讯息

    • RFC: User Stage

    • Tracking issues of RFC: User Stage

    Issues

    遇到你可能会感兴趣的问题,欢迎试着解决它。

    使用 DashMap 替换 "RwLock" 和 "Mutex"

    DashMap 是 Rust 中的并发关联数组 / 哈希表实现,它致力于提供简单易用的 API 并成为 "RwLock>" 的一种直接替代品。

    使用 DashMap 可能会带来两个优点:

    • 更简洁的代码

    • 潜在的性能提高

    Issue 8601: Feature: replace RwLock and Mutex by using DashMap

    如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review 。或者,你可以点击 https://link.databend.rs/i-m-feeling-lucky 来挑选一个随机问题,祝好运!

    Changlogs

    前往查看 Databend 每日构建的变更日志,以了解开发的最新动态。

    地址:https://github.com/datafuselabs/databend/releases

    Contributors

    非常感谢贡献者们在本周的卓越工作。

    Meet Us

    Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。

    • Databend Website :https://databend.rs/

    • Weekly :https://weekly.databend.rs/

    • GitHub Discussions :https://github.com/datafuselabs/databend/discussions

    • Twitter :https://twitter.com/Datafuse_Labs

    • Slack Channel :https://link.databend.rs/join-slack

  • 相关阅读:
    6、Bean的获取方式
    【开发心得】记录一次自定义starter的实现
    如何在没有第三方.NET库源码的情况,调试第三库代码?
    CSDN 第六期编程竞赛做题记录
    Kafka 技术指南:使用、特性、一致性保证与 Golang 中间件应用(上)
    【Kaggle:UW-Madison GI Tract Image Segmentation】肠胃分割比赛:赛后复盘+数据再理解
    深度学习-一个简单的深度学习推导
    [Android N]MediaRecorder系列之StagefrightRecorder录制TS流flow
    接口自动化测试思路和实战(4):数据驱动测试框架
    详解Python的元组(tuple)的10种操作方法,并附示例代码
  • 原文地址:https://blog.csdn.net/Databend/article/details/127751095