Databend 开源周报第 81 期

news2024/9/30 13:16:01

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

What's New

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

Accepted RFCs

  • rfc: 查询结果缓存 (#10014)

Features & Improvements

Planner

  • 支持 EXPLAIN ANALYZE 语句以剖析查询执行 (#10023)

  • 派生新过滤器并下推 (#10021)

Query

  • 变更表支持增删列 (#9851)

  • 新增表函数 infer_schema (#9936)

  • 为 select 增加权限检查 (#9924)

  • 改进带符号数值的键 (#9978)

  • 支持解析 jwt 元数据并添加多重身份颁发者配置 (#9971)

  • 支持创建文件格式 (#10009)

Storage

  • 适配 OpenDAL 的原生 scan 支持 (#9985)

  • 新增 drop_table_by_id API (#9990)

Expression

  • 新增 decimal 类型相关运算支持 (#9926)

Functions

  • 支持 array_any 函数 (#9953)

  • 支持 array_sort 函数 (#9941)

Sqllogictest

  • 为 alter table 增加 time travel 相关测试 (#9939)

Code Refactoring

Meta

  • 将应用层类型移动到 common-meta/app (#9944)

  • 修复 ErrorCode 滥用 (#10056)

Query

  • transform_sort_merge 使用 heap 来排序数据块 (#10047)

Storage

  • 引入 FieldIndex 和 ColumnId 类型以区分使用 (#10017)

Build/Testing/CI Infra Changes :electric_plug:

  • 以 clickbench 结果格式返回基准测试结果 (#10019)

  • 在 s3 & fs 上均运行基准测试 (#10050)

Bug Fixes

Privilege

  • 为 PUBLIC 角色添加 SELECT 权限,以避免普通用户执行查询的权限问题 (#10040)

Catalog

  • 修复 parts 的不均匀分布 (#9951)

Planner

  • 修复子查询类型断言错误 (#9937)

  • 启用 outer join 到 inner join 优化 (#9943)

  • 修复 RulePushDownLimitOuterJoin (#10043)

Query

  • 修复增列更新错误 (#10037)

Storage

  • 修复:查询新增 tuple 列时,仅返回默认值 (#9973)

  • 在 bloom filter 中,索引绑定 Column Id (#10022)

What's On In Databend

请持续关注 Databend 的最新动态。

RFC: 查询结果缓存

对于不经常更新的数据,缓存其查询结果可以大大减少响应时间。一旦建立缓存,再次运行查询可以在短时间返回结果。

阅读下述材料以了解更多讯息

  • Docs | RFC: Query Result Cache

  • Tracking Issue | RFC: query result cache

如何编写新的标量/聚合函数

创建自定义的标量或聚合函数可以增强 Databend 的可用性。尽管看上去有一些复杂,但并不困难。

下面列出的两篇文档有助于 Databend 用户和 Rust 开发者创建新的函数,包括如何创建并注册函数的分步说明,以及用于示例的代码片段,以帮助你更好了解这一过程。

阅读下述材料以了解更多讯息

  • Docs | How to Write a Scalar Function

  • Docs | How to Write an Aggregate Function

Profile-Guided Optimization

Profile-guided optimization (PGO,有时会译作:概要分析指导的优化) 是一种编译器优化技术,可以在程序运行时收集执行数据,并针对冷/热代码路径进行优化。

这篇博客介绍了如何使用 PGO 技术优化 Databend 的二进制构建,并以 Databend 的 SQL 逻辑测试作为工作负载进行演示。

注意:PGO 总是要求使用在统计学上具有代表性的工作负载来生成 Perf 数据。然而,这种技术并不保证总能提高性能。是否使用这项技术需要取决于实际情况。

阅读下述材料以了解更多讯息

  • Blog | Optimizing Databend Binary Builds with Profile-guided Optimization

What's Up Next

我们始终对前沿技术和创新理念持开放态度,欢迎您加入社区,为 Databend 注入活力。

重构函数相关文档

为了使文档更清晰、易于理解,我们计划重组与函数相关的文档,新的内容组织遵循与 DuckDB 文档样式。

目前这项任务已经按函数类别分解成了一系列易于完成的子任务,如果你对改进 Databend 的文档感兴趣,不妨参与进来。

Issue 10029: Tracking: re-org the functions doc

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

Changlogs

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

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

Contributors

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

Connect With Us

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

  • Databend Website

  • GitHub Discussions

  • Twitter

  • Slack Channel

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

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

相关文章

Cartesi 举办的2023 黑客马拉松

Cartesi 是具有 Linux 运行时的特定于应用程序的Rollups执行层。Cartesi 的特定应用程序 Optimistic Rollup 框架使区块链堆栈足够强大,开发人员可以构建计算密集型和以前不可能的去中心化实例。Cartesi 的 RISC-V 虚拟机支持 Linux 运行时环境,允许像你…

DevOps 学习笔记(二)| 使用 Harbor

文章目录1. 上传镜像到 Harbor2. 拉取 Harbor 镜像3. 使用 Jenkins 操作 Harbor1. 上传镜像到 Harbor 首先在CI/CD 服务器中配置 Docker mkdir -p /etc/docker/ cd /etc/docker/ vim daemon.json其中的 IP 地址为Harbor 服务器的 IP 地址 {"xxx": "xxxx"…

IGH主站通信测试csp模式(DC同步 preemrt)连通一从站并实现控制

IGH主站通信测试 linuxcnc配置基础机器人控制LinuxCNC与EtherCAT介绍&&PDO&SDO,搭建环境步骤 需要配置IGH主站的查看这篇文章 linux系统学习笔记7——一次性安装igh-ethercat主站 CSP模式 DC同步方式 preemrt实时补丁 直接上代码,这…

YOLOV7模型调试记录

先前的YOLOv7模型是pytorch重构的,并非官方提供的源码,而在博主使用自己的数据集进行实验时发现效果并不理想,因此生怕是由于源码重构导致该问题,此外还需进行对比实验,因此便从官网上下载了源码,进行调试运…

二叉树——二叉搜索树中的插入操作

二叉搜索树中的插入操作 链接 给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。 注意&#xff0c…

配置二层远程端口镜像案例

实验拓扑: 实验需求: 如图1所示,某公司行政部通过SwitchA与外部Internet通信,监控设备Server通过SwitchB与SwitchA相连。 现在希望Server能够远程对行政部访问Internet的流量进行监控。 操作步骤: 配置观察端口 # 在…

C/C++开发,无可避免的多线程(篇一).跨平台并行编程姗姗来迟

一、编译环境准备 在正式进入c/c多线程编程系列之前,先来搭建支持多线程编译的编译环境。 1.1 MinGW(win) 进入Downloads - MinGW-w64下载页面,选择MinGW-w64-builds跳转下载, 再次进行跳转: 然后进入下载页…

Fiddler抓包之Fiddler过滤器(Filters)调试

Filters:过滤器,帮助我们过滤请求。 如果需要过滤掉与测试项目无关的抓包请求,更加精准的展现抓到的请求,而不是杂乱的一堆,那功能强大的 Filters 过滤器能帮到你。 2、Filters界面说明 fiddler中的过滤 说明&#…

新增2000w播放、单月涨粉80w!13秒短视频竟成B站热门

知识区自从被设立为一级分区后,B站就成了大家口中的“互联网大学”,有什么不懂的知识就习惯上B站搜一搜、查一查。根据B站官方出具的创作者报告数据显示,除了众多自发原创知识作品的UP主以外,还有超过300位名师学者加入B站&#x…

【亲测可用】BEV Fusion (MIT) 环境配置

CUDA环境 首先我们需要打上对应版本的显卡驱动: 接下来下载CUDA包和CUDNN包: wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run sudo sh cuda_11.6.2_510.47.03_linux.runwget htt…

pytorch-softmax解决分类问题,用fashion-mnist为例子,再走一遍数据获取到模型预测的流程。深度了解分类指标的递进关系

softmax回归 线性回归模型适用于输出为连续值的情景。在另一类情景中,模型输出可以是一个像图像类别这样的离散值。对于这样的离散值预测问题,我们可以使用诸如softmax回归在内的分类模型。和线性回归不同,softmax回归的输出单元从一个变成了…

当ChatGPT遇见Python

在如火如荼的 ChatGPT 大潮当中,已经衍生出了各种各样的周边产品。Python 作为著名的万金油工具,怎么能没有它的身影呢。今天我们就介绍两种通过 Python 调用 ChatGPT 的方法,一起来看看吧~chatgpt-wrapper这是一个开源在 GitHub 上的项目&am…

leetcode 236. 二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖…

华为机试题:HJ86 求最大连续bit数(python)

文章目录(1)题目描述(2)Python3实现(3)知识点详解1、input():获取控制台(任意形式)的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方…

Linux下 C/C++ NTP网络时间协议详解

NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议。它是通过网络在计算机系统之间进行时钟同步的网络协议。NTP 在公共互联网上通常能够保持时间延迟在几十毫秒以内的精度,并在理想条件下,它能…

Molecule:使用Jetpack Compose构建StateFlow流

Molecule:使用Jetpack Compose构建StateFlow流 看下面的jetpack compose片段: Composable fun MessageCard(message: Message) {Column {Text(text message.author)Text(text message.body)} }这段代码最有趣的部分是它实际上是reactive。其反应性为 通过Composa…

树链剖分(维护树上信息)

学习前请先掌握线段树:线段树(维护区间信息) 一,思想: 将一颗树拆成多条线性链以方便维护(如线段树)。 先给出以下定义(通过这些定义我们就可以组成链): …

Docker概念介绍

目录 1、传统方式、虚拟化、容器部署方式的区别 2、为什么会有docker 3、什么是docker 4、docker的优势 5、Docker组成部分 6、docker镜像的原理介绍 7、 容器应用场景 8、Docker资源汇总 了解docker之前,我们要先了解部署方式有哪些,各有什么优缺点…

Windows 右键菜单扩展容器 [开源]

今天给大家分享一个我做的小工具&#xff0c;可以自定义扩展右键菜单的功能来提高工作效率&#xff0c;效果图如下&#xff1a; 如上图&#xff0c;右键菜单多了几个我自定义的菜单&#xff1a; 复制文件路径 复制文件夹路径 我的工具箱 <走配置文件动态创建子菜单&#x…

cesium封装实现配置格网及插值高程面实现

一、数据结构建模二、插值算法得到的插值结果三、图层配置primitiveGrid:{isRLayerPanel: true,primitives:[],url: /static/data/Grid.json,dataPath: ,dataIdField: code,options:{id:primitiveGrid,name:格网,type:grid,isShow: false},location: {"destination":…