当前位置: 首页 > news >正文

Databend 开源周报第 91 期

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

What's On In Databend

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

新数据类型:BITMAP

Databend 新增对 BITMAP 数据类型的支持。

BITMAP 是一种压缩数据结构,可用于高效地存储和操作布尔值集合,常用于加速去重计数。

> CREATE TABLE IF NOT EXISTS t1(id Int, v Bitmap) Engine = Fuse;
> INSERT INTO t1 (id, v) VALUES(1, to_bitmap('0, 1')),(2, to_bitmap('1, 2')),(3, to_bitmap('3, 4'));
> SELECT id, to_string(v) FROM t1;┌──────────────────────┐
│   id  │ to_string(v) │
│ Int32 │    String    │
├───────┼──────────────┤
│     1 │ 0,1          │
│     2 │ 1,2          │
│     3 │ 3,4          │
└──────────────────────┘

Databend 中的 BITMAP 数据类型实现使用 RoaringTreemap 。与其他位图实现相比,使用这种数据结构可以提高性能并减少内存使用。

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

  • PR #11097 | feat: add bitmap data type
  • Website | Roaring Bitmaps
  • Paper | Consistently faster and smaller compressed bitmaps with Roaring

设计并实现新的哈希表以改善 Hash Join 性能

此前 Databend 为聚合函数优化了哈希表实现,但这一实现并不适用于 Hash Join 。为了进一步提高 Hash Join 的性能,团队设计并实现了一个专门为此优化的哈希表。

哈希表的大小会根据构建阶段的行数进行分配,值类型也会替换为支持 CAS 操作的指针,从而确保内存控制而无需进行 Vec 增长。

新的实现显著提高了性能。查看下面的资源以获取更多信息:

  • PR #11140 | feat(query): new hash table and parallel finalize for hash join

Code Corner

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

Rust 编译挑战和解决方案 - 编译时间篇

在复杂的项目依赖和样板代码堆积之下,对于 Databend 这样的中大型 Rust 程序而言,编译实在算不上是一件轻松的事情。

为了解决编译时间上面临的一些挑战,Databend 团队从可观测性、编译工具链与配置和代码重构等方面入手,进行了一系列针对性的优化。

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

  • Databend 中的 Rust 编译时间优化小技巧

亮点

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

  • Databend 正在参与 OSPP 2023 项目,欢迎感兴趣的同学踊跃报名:OSPP2023 - Databend.
  • 查看文档 Docs | Developing with Databend using Rust 了解如何使用 databend-driver 开发 Rust 应用程序。
  • 想要了解如何使用 BendSQL 来管理 Databend 数据库和查询?现在就来阅读文档 Docs | BendSQL !
  • Databend 支持多种数据导入方式,阅读文档 Docs | Loading from a Stage 和 Docs | Loading from a Bucket,掌握从 Stage 和对象存储的 Bucket 导入数据的实用技能。
  • Databend 现在提供 table-meta-inspector 实用工具,用于解码 Databend 中表的元数据。

What's Up Next

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

寻找函数开发贡献者

Databend 现在正在积极推进函数的实现和改进工作,我们期待你的帮助!

目前计划补全的函数共有 4 类,非常适合对数据库设计和实现感兴趣的同学:

  • Bitmap Functions
  • Window Functions
  • Geo Functions
  • JSON Functions and Operators

如果你对编写函数感兴趣,但不知如何下手,可以参阅下面的两篇文档了解如何编写标量函数和聚合函数:

  • How to Write Scalar Functions
  • How to Write Aggregate Functions

期待能够与你共同协作,推动函数的进一步完善。

Issue #11220 | Tracking: functions

如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review 。或者,你可以点击 servcices/vercel_artifacts: Tracking issues of not passed test cases · Issue #2198 · apache/incubator-opendal · GitHub 来挑选一个随机问题,祝好运!

Changelog

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

地址:Releases · datafuselabs/databend · GitHub

Contributors

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

 

Connect With Us

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

  • Databend Website
  • GitHub Discussions
  • Twitter
  • Slack Channel

 

相关文章:

Databend 开源周报第 91 期

Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 新数据类型&…...

【Ubuntu18.04使用yolov5教程】

欢迎大家阅读2345VOR的博客【Ubuntu18.04使用yolov5教程】🥳🥳🥳2345VOR鹏鹏主页: 已获得CSDN《嵌入式领域优质创作者》称号👻👻👻,座右铭:脚踏实地,仰望星空…...

CocoaPods如何发布新版本的Pod Library

当我们修改了一个Pod Library中的代码时,如何让依赖该库的项目能更新到最新代码,步骤如下: 假设现在修改了SamplePod(Pod名称)的代码,希望将最新版本更新到1.0.1,目前版本是1.0.0 修改SamplePo…...

v4l2框架

v4l2框架 文章目录 v4l2框架框架1.硬件相关层uvc_probeuvc_register_chainsuvc_register_termsuvc_register_video 2.核心层__video_register_device 3.虚拟视频驱动vivid分析入口vivid_init注册vivid平台驱动vivid_probevivid_create_instance 框架 1.硬件相关层 driver/medi…...

vue项目中生成LICENSE文件

vue项目中生成LICENSE文件 简介 LICENSE 文件是一个文本文件,它包含了你的项目所使用的开源软件的许可证信息。 在开发过程中,我们经常会使用到各种各样的第三方开源软件,这些软件是有版权和许可证的,我们在使用时需要遵循它们的…...

NewBing最新更新使用体验(无需等待人人可用)

NewBing最新更新使用体验 微软Bing爆炸级更新!无需等待人人可用! 今天,微软突然官宣全面开放BingChat: 无需任何等待。只需注册一个账户,首页即可体验。 NewBing最新更新新特性官方文档 https://www.microsoft.com/en-…...

欧拉奔赴品牌2.0时代,女性汽车真实用户需求被定义?

每年的上海国际汽车工业展览会,不仅是各大汽车品牌的技术“秀场”,也是品牌的营销“修罗场”。今年上海车展出圈的营销事件特别多,热度甚至一再蔓延到汽车行业外,其中欧拉也贡献了不少流量。 据了解,在2023上海车展欧…...

机器视觉工程师,听我一句劝,别去外包,干了三年,废了....对女人没了兴趣

​外包三年,干了就废,最后只会安装软件。 对于年轻人来说,需要工作,更需要生活。 对于年轻人来说,需要努力,更需要“面包”。 对于年轻人来说,需要规划,更需要发展。 对于外包,虽说废的不是很彻底,但那三年几乎是出差了三年、玩了三年、荒废了三年,那三年,技术…...

PBDB Data Service:Special parameters(特殊参数)

Special parameters(特殊参数) 描述参数1:下列参数在大部分请求中可用2:以下参数只与文本格式(.csv, .tsv, .txt)相关 描述 本文将介绍一组特殊参数,它们几乎可以在此数据服务的任何请求中使用…...

腾讯云轻量应用服务器使用限制说明(十大限制)

腾讯云轻量应用服务器和云服务器CVM相比具有一些限制,比如轻量服务器不支持更换内网IP地址,轻量服务器只能套餐整体升级且不支持降配,轻量不支持用户自定义配置私有网络VPC,还有如实例配额、云硬盘配额、备案限制和内网连通性等限…...

Python每日一练(20230507) 丑数I\II\III、超级丑数

目录 1. 丑数 Ugly Number I 2. 丑数 Ugly Number II 3. 丑数 Ugly Number III 4. 超级丑数 Super Ugly Number 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 丑数 Ugly Number I …...

K8S常见异常事件与解决方案

集群相关 Coredns容器或local-dns容器重启 集群中的coredns组件发生重启(重新创建),一般是由于coredns组件压力较大导致oom,请检查业务是否异常,是否存在应用容器无法解析域名的异常。 如果是local-dns重启,说明local-dns的性能…...

测试5年从中兴 15K 跳槽去腾讯 32K+16,啃完这份笔记你也可以

粉丝小王转行做测试已经是第5个年头,一直是一个不温不火的小职员,本本分分做着自己的事情,觉得自己的工作已经遇到了瓶颈,一个偶然的机会,获得了一份软件测试全栈知识点学习笔记,通过几个月的学习&#xff…...

CentOS 临时IP与永久IP配置

CentOS 临时IP与永久IP配置 CentOS是一种广泛使用的Linux发行版,通常用于服务器和企业网络中。在安装和配置CentOS服务器时,必须为其配置IP地址以便访问。在本文中,我们将介绍如何在CentOS中配置临时IP地址和永久IP地址。 临时IP地址配置 临…...

集线器、网桥、交换机

一.集线器 集线器(HUB),它是工作在物理层的设备, 由于它只是工作在物理层的设备,所以它并不关心也不可能关心OSI上面几层所涉及的,它的工作机制流程是:从一个端口接收到数据包时,会在…...

api接口怎么用?

API接口是一种应用程序编程接口,它允许不同的软件应用程序之间进行通信和交互。通过使用API接口,开发人员可以轻松地将自己的应用程序集成到其他应用程序中,从而实现更丰富的功能和更好的用户体验。 API接口的使用方法一般包括以下几个步骤&a…...

Bad minute in crontab?

ERROR 详细 修改crontab出现如下错误: crontab: installing new crontab “/tmp/crontab.MswKCq”:0: bad minute errors in crontab file, can’t install. Do you want to retry the same edit? n crontab: edits left in /tmp/crontab.MswKCq 根因定位 通过…...

【二维矩阵如何存储在一维数组中(行优先和列优先)】

列优先和行优先的性能取决于具体的硬件架构和代码访问模式。在现代计算机中,内存访问的局部性(locality of reference)对性能至关重要。局部性分为两类:时间局部性(temporal locality)和空间局部性(spatial locality)。时间局部性表示最近访问过的数据项很可能在不久的…...

使用Gradle7.6+SpringBoot 3.0+java17创建微服务项目

系列文章目录 学习新版本,菜鸟一枚 会持续更新的 文章目录 系列文章目录前言一、搭建项目1.1、创建git仓库1.1.1、登录gitee,新建仓库1.1.2、得到如下命令(新建仓库使用创建git仓库 即可) 1.2、使用IDEA创建项目1.2.1、开发工具1.…...

pandas使用教程:apply函数、聚合函数agg和transform

文章目录 apply函数调用apply函数描述性统计apply函数lambda自定义 聚合函数aggregate/agg用字典实现聚合 transform函数多函数 Transform 重置索引与更换标签行重置索引行和列同时重置索引 apply函数调用 apply函数描述性统计 import numpy as np df.loc[:,Q1:Q4].apply(np.…...

synchronized 学习

学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...

2025季度云服务器排行榜

在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...

管理学院权限管理系统开发总结

文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

SpringAI实战:ChatModel智能对话全解

一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM&#xff0…...

数据结构:递归的种类(Types of Recursion)

目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...

算法打卡第18天

从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...