Databend 开源周报第 129 期

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

What's On In Databend

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

支持标准流

标准流 能够捕获所有类型的数据变更,包括更新和删除。相较于仅追加流,标准流的功能更加完备,并且适用于更加复杂的数据变更场景。

CREATE STREAM 的语法也支持了选项用于控制流的类型。

sql 复制代码
CREATE STREAM [IF NOT EXISTS] [<database_name>.]<stream_name>
  ON TABLE [<database_name>.]<table_name>
    [AT (STREAM => <stream_name>)]
    [append_only = true|false]
    [COMMENT = '<comment>']
  • 如果 append_only=true,创建仅追加流(append_only stream),仅用于追加数据,不跟踪更新或删除。
  • 如果 append_only=false,创建标准流(standard stream)。能够捕获所有类型的数据变更,包括更新和删除,提供全面的数据修改跟踪。

如果您想了解更多信息,欢迎联系 Databend 团队,或查看下面列出的资源。

Code Corner

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

~300 行实现 Raft 共识算法

Databend 的元数据服务使用 Raft 共识算法,并且开源和维护了 openraft 这个基于 tokio 的异步 Raft 实现。

one_file_raft 是一个简洁的演示性实现,在大约 300 行有效代码的单个 Rust 文件中实现了 Raft 共识算法,文件长度大约300行。

由 openraft 的主要维护者 drmingdrmer 创建,用于展示分布式共识协议的核心原理,不涉及应用特定的业务逻辑、边缘情况管理和错误处理的复杂性。该实现关注于 Raft 的基础特性,如领导者选举、日志复制和日志提交,同时省略了高级功能,如日志压缩和日志清理。

Highlights

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

  • 支持 Query 级别的缓存统计。
  • 为分布式查询实现基于成本的优化。
  • 新增日期相关函数 MONTHS_BETWEEN
  • 新增任务 DAG 相关函数 TASK_DEPENDENTSTASK_DEPENDENTS_ENABLE
  • admin API 新增 v1/system 接口,用于展示系统信息。

What's Up Next

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

租户数据迁移工具

databend-metactl --export 支持一次性导出所有元数据服务中的数据。但目前还缺乏用于迁移属于特定租户的确切数据的工具。

为了进一步满足多租户场景下的元数据迁移,Databend 计划设计并实现一个专用工具。该工具会导出并解码元数据服务中的数据,并从中过滤掉不必要的数据。

Issue #14405 | Tracking issue: dump data belonging to a tenant from meta-service

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

Changelog

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

地址:github.com/datafuselab...

Contributors

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

Connect With Us

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

相关推荐
师太,答应老衲吧2 小时前
SQL实战训练之,力扣:2020. 无流量的帐户数(递归)
数据库·sql·leetcode
Channing Lewis3 小时前
salesforce case可以新建一个roll up 字段,统计出这个case下的email数量吗
数据库·salesforce
毕业设计制作和分享4 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
ketil274 小时前
Redis - String 字符串
数据库·redis·缓存
Hsu_kk5 小时前
MySQL 批量删除海量数据的几种方法
数据库·mysql
编程学无止境5 小时前
第02章 MySQL环境搭建
数据库·mysql
knight-n5 小时前
MYSQL库的操作
数据库·mysql
包饭厅咸鱼6 小时前
QML----复制指定下标的ListModel数据
开发语言·数据库
生命几十年3万天6 小时前
redis时间优化
数据库·redis·缓存
Elastic 中国社区官方博客6 小时前
释放专利力量:Patently 如何利用向量搜索和 NLP 简化协作
大数据·数据库·人工智能·elasticsearch·搜索引擎·自然语言处理