07 2022 档案
摘要:工欲善其事,必先利其器。在开启 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
阅读全文
摘要:测试是提高软件健壮性、加速迭代进程的不二法宝。本文将会介绍如何为 Databend 添加不同种类的测试。 单元测试 Databend 的单元测试组织形式有别于一般的 Rust 项目,是直接一股脑放在 tests/it 目录下的。同时,在各个 crate 的 Cargo.toml 中,也针对性地禁用了
阅读全文
摘要:近日,在中国信通院召开的云原生产业大会上,正式发布了 2022 年度首批《云原生产品目录》,Databend Cloud 产品成功入选 云原生产品目录 中国信通院为解决云原生用户选型困境,全面拉齐行业认知,推动云原生产业蓬勃发展,而发起、征集和评选出来的,Databend 的技术能力获得了权威认可,
阅读全文
摘要:尽管我们经常说代码贡献并不是唯一的开源贡献方式,参与讨论,Review RFC 也是参与开源的良好途径。但是很多同学仍然会有疑虑:我不是项目的 Maintainer/Committer/Reviewer,我有资格 Review 别人的 PR 吗?本文以我在 envd 中的实践来阐述这样的观点:开源,
阅读全文

浙公网安备 33010602011771号