Databend 开源周报第 109 期

news2024/11/26 13:48:56

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

What's On In Databend

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

利用 Cluster Key 优化查询性能

通过定义 Cluster Key ,可以引导 Databend 对表进行聚类来提高查询性能,此时数据将会根据 Cluster Key 来组织和分组,而不仅仅依赖数据摄入的顺序。从而在处于大型表中获得优化的数据读取逻辑,加速查询。

一旦表设定了 Cluster Key ,在使用 COPY INTO 和REPLACE INTO 这两种方式写入数据时,会自动执行 compact 和 recluster 操作。

由于执行聚类和重聚类操作需要消耗一定的时间,所以我们建议主要为查询性能较慢的大型表定义集群键。

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

  • Docs | Understanding Cluster Key
  • Docs | Databend Data Storage: Snapshot, Segment, and Block

Code Corner

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

Databend Local 模式

Databend 的 local 模式旨在为 Databend 提供一个简易版本,用户无需部署 Databend 服务就可以用 SQL 进行交互交互,从而方便开发者们用 SQL 使用 Databend 支持的功能进行简单的数据处理。

Local 模式 将启动一个临时的 databend-query 进程,并且提供客户端和服务端的融合支持。其存储位于临时目录中,生命周期跟随进程,进程离开后资源也将销毁,你可以在一个服务器中启动多个 local 进程,他们的资源是相互隔离的。

❯ alias databend-local="databend-query local"
❯ echo " select sum(a) from range(1, 100000) as t(a)" | databend-local
4999950000

❯ databend-local

databend-local:) select number %3 n, number %4 m, sum(number) from numbers(1000000000) group by n,m limit 3 ;

┌───────────────────────────────────┐
│   n   │   m   │    sum(number)    │
│ UInt8 │ UInt8 │    UInt64 NULL    │
├───────┼───────┼───────────────────┤
│     0 │     0 │ 41666666833333332 │
│     1 │     0 │ 41666666166666668 │
│     2 │     0 │ 41666666500000000 │
└───────────────────────────────────┘
0 row result in 1.669 sec. Processed 1 billion rows, 953.67 MiB (599.02 million rows/s, 4.46 GiB/s)

如果你需要在生产环境使用 Databend,我们建议按官方文档部署 Databend 服务或使用 Databend Cloud,但如果你是开发人员或测试工程师,则可以使用 local 模式来体验 Databend 。

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

  • PR | chore(query): improve databend local

Highlights

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

  • 初步支持 MERGE INTO
  • 实现 SQLsmith 测试框架,以支持更精确的模糊测试。
  • 阅读文档 Docs | Setting Environment Variables 了解如何通过环境变量变更 Databend 配置。
  • 实现json_strip_nulls 和 json_typeof 函数,你也可以阅读 Docs | Semi-Structured Functions 了解 Databend 为半结构化数据处理设计和实现的函数。

What's Up Next

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

优化 MERGE INTO 实现

在 PR #12350 | feat: support Merge-Into V1 中,Databend 初步支持了 MERGE INTO 语法。

在这个基础上,还有很多值得关注的优化可以实施,比如:提供并行和分布式的实现,减少 IO 并简化数据块拆分等。

Issue #12595 | Feature: Merge Into Optimizations 

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

Changelog

前往查看 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/977006.html

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

相关文章

Python3学习第十二章 图形用户界面

#!usr/bin/env python # -*- coding:utf-8 _*- """ author:AIvision file: lecture12.py time: 2023/09/05 """ # 第十二章 图形用户界面 # 12.1 创建 GUI 示例应用程序 # 为演示Tkinter的用法,我将介绍如何创建一个简单的GUI应…

Java集合面试

文章目录 Java集合框架说说有哪些常见的集合?ArrayList和LinkedList的区别?HashMap的数据结构?把你了解的所有都讲一讲?数据结构: put流程Hashmap的resize方法的执行过程?get流程JDK8 HashMap为什么引入红黑…

数据库事务概述

1.1 存储引擎支持情况 SHOW ENGINES 命令来查看当前 MySQL 支持的存储引擎都有哪些,以及这些存储引擎是否支持事务。 能看出在 MySQL 中,只有 InnoDB 是支持事务的。 1.2 基本概念 事务: 一组逻辑操作单元,使数据从一种状态…

4.5V 至 23V、TAS2781RYYR音频放大器、QPF4617TR13 Wi-Fi® 6E非线性前端模块和DRV2667RGPR全集成压电式触觉驱动器

一、TAS2781RYYR,具有集成式音频处理和扬声器保护的 25W、4.5V 至 23V 数字输入 D 类放大器 介绍:TAS2781 是一款单声道、数字输入 D 类音频放大器,专为将高峰值功率高效率驱动到扬声器进行了优化。D类放大器在 18V 电源电压下可向 4Ω 负载…

SpringMVC_异常统一处理

3.全局统一异常处理 3.1目前存在问题 模拟后台出现服务器异常 GetMappingpublic ResultResp list(RequestParam(required false) String name){System.out.println(1/0);List<Item> ret service.lists(name);return ResultResp.success(retnull?Code.PAGE_FAIL:Code.…

JVM快速入门篇

一、JVM探究 1.1前言 请你谈谈你对jvm的理解&#xff1f;Java8虚拟机和之前的变化更新&#xff1f;什么是OOM&#xff1f;什么是栈溢出StackOverFlowError&#xff1f;怎么分析&#xff1f;jvm的常见调优参数有哪些&#xff1f;内存快照如何抓取&#xff1f;怎么分析Dump文件&…

RichView Text Box Items 文本框

RichView Text Box Items 文本框 RichView的文本框&#xff08;Text Box&#xff09;&#xff0c;是TRichView文档中的ITEM之一。 通常文本框项目&#xff08;Text Box Item&#xff09;是旁注的简化版本&#xff0c;该项目插入的位置没有可见的文本。 如果rvoShowSpecialChara…

【数学建模竞赛】数据预处理知识总结1——数据清洗

数据预处理是什么 在数学建模赛题中&#xff0c;官方给所有参赛选手的数据可能受到主观或客观条件的影响有一定的问题&#xff0c;如果不进行数据的处理而直接使用的话可能对最终的结果造成一定的影响&#xff0c;因此为了保证数据的真实性和建模结果的可靠性&#xff0c;需要…

中频炉冷循环监测终端,智能化管理冷却系统的新利器!

在现代工业生产中&#xff0c;中频炉是一种广泛应用于金属加工和熔化的设备。 一、中频炉的降温剂 中频炉的使用中&#xff0c;企业往往关注的是中频炉晶闸管、电抗器、电容器、汇流排以及中频炉线圈&#xff0c;忽观中频炉的冷却水。中频炉的冷却水在中频炉、中频加热炉使用…

ICC2:partial blockage array脚本

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 用法是先在玩加partial blockage array的地方create一个blockage,然后选中source这个脚本。需要定义三个值,分别是blockage的百分比,还有每个组成阵列的每个blockage宽和高。 addHBlkForSpecAre…

【以太网硬件二十一】USXGMII是什么?-Part2

&#x1f449;个人主页&#xff1a; highman110 &#x1f449;作者简介&#xff1a;一名硬件工程师&#xff0c;持续学习&#xff0c;不断记录&#xff0c;保持思考&#xff0c;输出干货内容 目录 PCS功能细节 XGMII到USXGMII的映射 带内配置和状态信号 自协商相关 电气特…

如何修复老照片?老照片修复翻新的方法

老旧照片&#xff0c;尤其是黑白照片&#xff0c;往往因为年代久远、保存方式不当等原因而出现褪色、污损、划痕等问题&#xff0c;会比较难以修复&#xff0c;就算是技术精湛的专业修复师&#xff0c;也是需要投入极大时间精力的&#xff0c;效果也是不可预料的。 修复老照片…

YOLOv5添加注意力机制

添加SE注意力机制 第一步 添加代码-SE类-models/common.py第二步 添加注意力关键词-models/yolo.py第三步 创建配置文件-models/yolov5s_SE.yaml第四步 修改读取配置-train.py 第一步 添加代码-SE类-models/common.py 进入models/common.py文件&#xff0c;这个文件里面包含了…

直线导轨的替换方法

目前&#xff0c;直线导轨的使用率持续上升&#xff0c;已广泛应用在各种各样的行业中&#xff0c;可替换性高是其广泛使用的重要原因之一&#xff01;直线导轨的替换指的就是导轨和滑块可以单出&#xff0c;不用整套替换。 市面上使用率最高的直线导轨品牌应该就是台湾*银了&a…

利用python进行视频下载并界面播放快速下载素材

工具&#xff1a;python designer&#xff08;python自带&#xff09;:UI界面设计工具 VLC&#xff1a;视频播放工具 需要的库如下&#xff1a; import os,platform os.environ[PYTHON_VLC_MODULE_PATH] "./vlc-3.0.14" import vlc from 脚本 import Player from …

Effective Java(中文版第3版)第2条:遇到多个构造器参数时要考虑使用构建器

Effective Java&#xff08;中文版第3版&#xff09;第2条&#xff1a;遇到多个构造器参数时要考虑使用构建器

Unity(三) Shader着色器初探

学习3D开发技术的时候无可避免的要接触到Shader&#xff0c;那么Shader是个什么概念呢&#xff1f;其实对于开发同事来说还是比较难理解的&#xff0c;一般来说Shader是服务于图形渲染的一类技术&#xff0c;开发人员可以通过其shader语言来自定义显卡渲染页面的算法&#xff0…

MyBatis-快速入门

MyBatis是一款优秀的持久层框架&#xff0c;用于简化JDBC的开发 MyBatis是Apache的一个开源项目iBatis&#xff0c;2010年这个项目由apache迁移到了Google code&#xff0c;并且改名为MyBatis,2013年11月迁移到Github 使用MyBatis查询所有用户信息&#xff1a; 1.准备工作&a…

项目管理工具:实现项目科学管理的利器

什么是项目管理工具 项目管理工具是指用于协助规划、组织、执行和监控项目活动的软件或应用程序。它们提供了一系列功能和工具&#xff0c;帮助项目管理人员和团队有效地管理项目进度、资源分配、任务协作以及沟通等方面的工作。项目管理工具的目标是提高团队的工作效率、优化…

Git 基本原理和常用操作

Git Git 是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地处理从很小到非常大的项目版本管理。由 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开源的版本控制软件。 Git 常用操作 git 提交流程&#xff1a;工作区 -> git add 到暂存区 -> gi…