Databend 开源周报第 90 期

news2024/11/25 20:54:34

Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://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 。或者,你可以点击 bindings/nodejs: Bench with nodejs s3 SDK and OpenDAL similar projects · Issue #1467 · apache/incubator-opendal · GitHub 来挑选一个随机问题,祝好运!

New Contributors

一起认识社区中的新伙伴,Databend 因你们而变得更加美好。

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

Changelog

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

地址:Releases · datafuselabs/databend · GitHub

Contributors

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

Connect With Us

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

  • Databend Website
  • GitHub Discussions
  • Twitter
  • Slack Channel

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/461038.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

推荐给工控人的时间管理办法

艾维利时间管理法 Ivy Lee Time Management Act 艾维利时间管理法是一种被广泛采用的时间管理方法,它能够帮助人们更好地利用时间和精力。该方法通过将任务分为三类,即A类、B类和C类,来确定工作的优先级。在这种方法中,A类任务是…

【技术选型】Mysql和ES数据同步方案汇总

文章目录 背景一、Mysql和ES各自的特点为什么选用Mysql为什么选用 ES 二、数据同步方案1、同步双写2、异步双写(MQ方式)3、基于Mysql表定时扫描同步4、基于Binlog实时同步5、业界目前较为流行的方案:使用canal监听binlog同步数据到es 三、数据…

Java学习笔记-01

目录 jdk安装及环境配置 java前置知识 编写一个HelloWorld 常量 数据类型 变量 类型转换 算数运算符 一元运算符( --) 关系运算符 逻辑运算符(与或非,逻辑异或) 三元(三目)运算符 Scanner类的简单使用 jdk安装及环境配置 看到的一篇文章,…

Vue 过渡与动画的使用

transition 标签的作用:在插入 更新或 移除 DOM 元素时 可以给元素添加动画效果. transition 标签配合的 class 类有: - v-enter:进入的起点。 - v-enter-active:进入时的效果。 - v-enter-to:进入的终点。 - v-leave:离开的起点。 - v-leave-active:离…

USB-C为什么可以取代传统接口?消费类电子产品如何改用TYPE-C接口?

现如今,越来越多的设备选择使用Type-C接口来取代之前传统的接口。例如:手机去掉了之前的Micro USB接口,而选择Type-C;还有好多笔记本也取消了很多传统的传输接口,而采用Type-C来替代它们。那为何Type-C可以取代那么多的…

chatGPT电脑端怎么安装-chatgpt国内怎么用

chatgpt怎么用 ChatGPT是一个大型语言模型,可以用于自然语言生成和理解任务,比如对话系统、文本生成、翻译、摘要等。您可以使用以下步骤来使用ChatGPT: 选择一个平台:ChatGPT可以在不同的平台上运行,比如Python、JavaScript、Jav…

【Java基础练习题】多线程IO流操作实现文件的复制(举一反三)

前言:时不我待,忽而已春,初夏将至。然惊觉自身Java基础仍薄弱不堪,虽“雄关万道真如铁”,只得“万里关山从头越”。把基础打扎实才是根本,对于日后的工作而言也是极为重要。通过不断的学习和理解加上手动实…

使用vue2搭建项目的流程

论坛项目 服务器地址: http://172.16.11.18:9090 http://xawn.f3322.net:10004/ swagger地址: http://172.16.11.18:9090/doc.html http://xawn.f3322.net:10004/doc.html 前端h5地址: http://172.16.11.18:9099/h5/#/ http://xawn.f3322.net:10005/h5/# 前端管理系统…

回文自动机(PAM)入门路线 + P3649 【模板】[APIO2014] 回文串(PAM)

个人比较推荐的回文自动机学习路径: 回文自动机学习博客: 回文树(讲的最严谨,oiwiki上的) 回文自动机(Palindrome Automanton PAM)(讲的最通俗易懂,知乎上的&#xff09…

Docker快速部署springboot项目

有很多开发者在项目部署过程中都会遇到一些繁琐的问题,比如打包、上传、部署等。而使用Docker可以非常方便地解决这些问题。在本文中,将详细讲解如何使用IDEA中的docker打包插件,将代码打包并直接发布到服务器上。这样,我们就可以…

CSS中的 clip 属性

参考:https://baijiahao.baidu.com/s?id1757136902803734131&wfrspider&forpc 作用: clip 属性用来设置元素的形状,用于剪裁绝对定位的元素。当一幅图像的尺寸大于包含它的元素时,clip 属性允许规定一个元素的可见尺寸…

blender 制作城市建筑模型

我不是很会用blender 但是他可以直接制作一篇区域的建筑模型 BlenderGIS插件 城市建筑3D模型自动生成 教程_Zhichao_97的博客-CSDN博客 学习了两种 一种是通过geo.json自己加了一堆mesh 或者geometry 自己用three 做的模型 另一种是用blender 做一个整个的模型直接导入进去 …

Java企业电子招标采购系统源码Spring Boot + Mybatis + 前后端分离 构建企业电子招采平台之立项流程图

项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及…

LVS+keepalives高可用负载均衡

keepalived是一个基于vrrp协议来实现的LVS服务高可用方案,可解决静态路由器出现的单点故障问题 解决单点故障。 通过主备来保证高可用性, vrrp回忆 vlan区分广播域,vlan if 虚拟接口 vrrp只有一种报文:Advertisement报文(通告…

SparkStreaming学习之——无状态与有状态转化、遍历kafka的topic消息、WindowOperations

目录 一、状态转化 二、kafka topic A→SparkStreaming→kafka topic B (一)rdd.foreach与rdd.foreachPartition (二)案例实操1 1.需求: 2.代码实现: 3.运行结果 (三)案例实操2 1.需求: 2.代码实现: 3.运行结果 三、W…

代码在洛谷上跑得慢怎么办?

前言 你有没有试过以下几种情况: 代码在别的OJ上能过,在洛谷上就T了你的代码和同学的几乎相同,但他的AC了,你的却TLE了 遇到这些情况,你可能要花上一个多小时才能解决,甚至难以解决,将问题一…

【springboot-04】ElasticSearch8.7搜索

为什么学?因为它查询速度很快,而且是非关系型数据库 (NoSql) 一些增删改查已经配置好了,无需重复敲码 ElasticSearch 更新快,本篇文章将主要介绍一些常用方法。 对于 spirngboot 整合 Es 的文章很少&#x…

看了这一篇文章,你还不懂MySQL体系结构,你来找我

前言 工作很长时间了,对于数据库的掌握程度却仅仅停留在表面的CRUD阶段,对于深层次的原理和技术知识了解的少之又少,随着岁数不断的增长。很多时候,出去找工作很迷茫,被面试官问的感觉自己很菜。现在利用工作休息时间&…

微信小程序第五节——登录那些事儿(超详细的前后端完整流程)

📌 微信小程序第一节 ——自定义顶部、底部导航栏以及获取胶囊体位置信息。 📌 微信小程序第二节 —— 自定义组件 📌 微信小程序第三节 —— 页面跳转的那些事儿 📌 微信小程序第四节—— 网络请求那些事儿 😜作 …

人工智能时代背景下,如何发展与应用自动化测试?

人工智能时代为自动化测试提供了机会和挑战。在发展自动化测试方面,是人工智能领域下的一个应用方向,和无人驾驶、机器人等一样,都是AI技术的应用场景。从技术的发展角度看,自动化测试一共经历了四代发展变化。从最早提出自动化测…