摘要:
写作背景 之前的文章《如何为 Databend 添加新的测试》介绍了 Databend 如何进行测试,其中 SQL 的测试方法中提到了 sqllogictest,大家对这种新引入的测试方法比较感兴趣,但当前介绍这个的中文资料很少,因此我们整理下近期的一些工作和思考,跟大家分享一下 sqllogict 阅读全文
摘要:
Hello,大家好,我是漩涡,现在由我代表 Databend 社区宣布 v0.8 版本的正式发布。 Databend v0.8 的开发于 3 月 28 号开始,总计 5000+ commits,4600+ 文件变更。在过去的 5 个月中,社区的 120 余位贡献者新增了 42 W 行代码,删除了 阅读全文
摘要:
前言 Databend 在 2021 年开源后,陆续受到了很多社区同学的关注。Databend 使用了 Rust 编程语言。为了吸引更多的开发者,特别是没有 Rust 开发经验的新同志,我们设计了 Rust 相关课程,同时建立了多个 Rust 兴趣小组。 Databend 在 issue 中还引入了 阅读全文
摘要:
前言 由于工作需要,一直对原子多播应用有非常浓厚的兴趣。通过一段时间的技术选型。我们非常幸运的得到了 Openraft 实操分享 Databend 社区的热心支持。我也想通过我们的实际工作,对 Openraft 的未来应用尽一些微薄之力。 Openraft 是一个 Raft 的改进版(包括优化选举冲 阅读全文
摘要:
工欲善其事,必先利其器。在开启 Databend 贡献之旅前,一起来配置适合自己的开发环境吧。快速安装 快速安装 为方便开发者快速建立开发环境,Databend 维护了一个复杂的 shell 脚本,位于 scripts/setup/dev_setup.sh。只需执行一条指令即可完成开发环境配置: $ 阅读全文
摘要:
引言 本文介绍 Rust 并发安全相关的几个概念:Send、Sync、Arc,Mutex、RwLock 等之间的联系。这是其中的下篇,主要介绍 Arc,Mutex、RwLock 这几个线程安全相关的类型。 在上一节[^1]中,讲解了 Send 和 Sync 这两个线程安全相关的 trait,在此基础 阅读全文
摘要:
Databend 整合了一些性能剖析工具,可以方便进行深入分析。本文将会介绍如何进行 CPU / Memory Profiling。CPU Profiling CPU Profiling CPU 分析,按照一定的频率采集所监听的应用程序 CPU(含寄存器)的使用情况,可确定应用程序在主动消耗 CPU 阅读全文
摘要:
引言 本文介绍一下 Rust 并发安全相关的几个概念:Send、Sync、Arc,Mutex、RwLock 等之间的联系。这是其中的上篇,主要介绍 Send、Sync 这两个trait。 Rust 的所有权概念 在展开介绍并发相关的几个概念之前,有必要先了解一下 Rust 的所有权概念,Rust 对 阅读全文
摘要:
本文介绍一个压缩前缀树实现的(sorted set(github:succinct.Set)区区 95 行代码,包含了一组完整的功能: 用前缀树存储一个排序数组,去掉指针,压缩掉 50% 的空间;例如在本文的例子中, 存储 2.4 MB 的 200 万个单词, 只需要 1.2 MB。 创建:从 ke 阅读全文
摘要:
Databend 的设计目标之一就是保持最佳性能,为了更好观测和评估性能,社区不光提供一套简单的本地基准测试方案,还建立了可视化的持续基准测试。 本地基准测试 hyperfine 是一种跨平台的命令行基准测试工具,支持预热和参数化基准测试。Databend 建议使用 hyperfine 通过 Cli 阅读全文