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

What’s On In Databend

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

元数据优化

最近,Databend 的元数据文件版本更新至 v3 ,序列化/反序列化功率进一步进步,一同降低了存储空间消耗。新元数据文件的体积可削减为原来的 1/20 ,而且功能进步 2 倍!

经过运用 Bincode ,新的元数据格式能够以紧凑高效的办法序列化数据。这可以大大改进读取速度,并削减存储文件的巨细。此外,经过运用 Zstd 压缩,能够进一步削减文件巨细,一同坚持较快的解压速度。

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

  • feat(query): table meta optimize

Code Corner

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

自定义链接器脚本进行静态链接

静态链接在布置具有有限依赖项的系统时。

参照 @dl00 和 @bossmc 的建议,创建自定义链接器脚本可以处理一些非预期行为。

#!/bin/bash
args=()
for arg in "$@"; do
    if [[ $arg = *"Bdynamic"* ]]; then
        args+=() # we do not want this arg
    elif [[ $arg = *"crti.o"* ]]; then
        args+=("$arg" "-Bstatic")
    elif [[ $arg = *"crtn.o"* ]]; then
        args+=("-lgcc" "-lgcc_eh" "-lc" "/usr/local/lib/gcc/${MUSL_TARGET}/9.4.0/crtendS.o" "$arg")
    else
        args+=("$arg")
    fi
done
echo "RUNNING WITH ARGS: ${args[@]}"
/usr/local/bin/${MUSL_TARGET}-g++ "${args[@]}"

这个 bash 脚本依据静态链接的需要对参数进行了调整。尽管这个处理方案可能不是完美的,但可能对处理跨渠道应用分发问题有一些协助。

  • ci: fix static link with libstdc++ for musl build
  • link: failed to static link to c++ library when global variable is used

亮点

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

  • 阅览文档 Deploying Databend on Docker 了解如何用 Docker 布置具有 MinIO 存储后端的 Databend 。
  • REPLACE INTO 语句现在支撑带集群键的表。
  • 新增窗口函数 percent_rank
  • 新增 JSON path 函数: jsonb_path_query_first,jsonb_path_query,jsonb_path_query_array.
  • 为字符串比较新增 SOUNDS LIKE 语法。
  • Meta Service 拆分日志存储和状态机存储。
  • 依据虚拟列 _row_id 进行慵懒物化(Lazy Materialize)。

What’s Up Next

我们始终对前沿技术和立异理念持敞开情绪,欢迎您参加社区,为 Databend 注入活力。

聚合索引

数据仓库中的近似查询可以重用缓存的数据以削减 IO 开销,但缓存在容量和实时性方面存在约束,而且无法处理增量核算问题。

为了处理这些应战,OLAP 中的预聚合技术是削减数据冗余的有用办法。通常会运用物化视图来完成预聚合。Databend 计划引入聚合索引,以二级索引的办法完成物化视图。

Issue #11183 | Tracking: aggregating index feature

如果你对这个主题感兴趣,可以尝试处理其间的部分问题或者参与评论和 PR review 。或者,你可以点击 link.databend.rs/i-m-feeling… 来选择一个随机问题,祝好运!

New Contributors

一同知道社区中的新同伴,Databend 因你们而变得更加夸姣。

  • @neil4dong 为字符串比较新增 SOUNDS LIKE 语法,#11043 。

Changelog

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

地址:github.com/datafuselab…

Contributors

非常感谢贡献者们在本周的杰出工作。

Databend 开源周报第 90 期

Connect With Us

Databend 是一款开源、弹性、低成本,基于目标存储也可以做实时剖析的新式数仓。等待您的重视,一同探究云原生数仓处理方案,打造新一代开源 Data Cloud。

  • Databend Website
  • GitHub Discussions
  • Twitter
  • Slack Channel