Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。
What's On In Databend
探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。
支持标准流
标准流 能够捕获所有类型的数据变更,包括更新和删除。相较于仅追加流,标准流的功能更加完备,并且适用于更加复杂的数据变更场景。
CREATE STREAM
的语法也支持了选项用于控制流的类型。
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 团队,或查看下面列出的资源。
- PR #14272 | feat: standard stream
Code Corner
一起来探索 Databend 和周边生态中的代码片段或项目。
~300 行实现 Raft 共识算法
Databend 的元数据服务使用 Raft 共识算法,并且开源和维护了 openraft 这个基于 tokio 的异步 Raft 实现。
one_file_raft 是一个简洁的演示性实现,在大约 300 行有效代码的单个 Rust 文件中实现了 Raft 共识算法,文件长度大约300行。
由 openraft 的主要维护者 drmingdrmer 创建,用于展示分布式共识协议的核心原理,不涉及应用特定的业务逻辑、边缘情况管理和错误处理的复杂性。该实现关注于 Raft 的基础特性,如领导者选举、日志复制和日志提交,同时省略了高级功能,如日志压缩和日志清理。
- GitHub - drmingdrmer/one_file_raft
Highlights
以下是一些值得注意的事件,也许您可以找到感兴趣的内容。
- 支持 Query 级别的缓存统计。
- 为分布式查询实现基于成本的优化。
- 新增日期相关函数
MONTHS_BETWEEN
。 - 新增任务 DAG 相关函数
TASK_DEPENDENTS
和TASK_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 。或者,你可以点击 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
- Slack Channel