💡
原文英文,约1100词,阅读约需4分钟。
📝
内容提要
Clickhouse是一个开源分析数据库,主要用C++开发。开发团队考虑将部分功能重写为Rust,以提升内存和线程安全性。尽管Rust有其优势,但与C++结合时也面临可重现构建和内存管理等挑战。最终,团队决定采取渐进式迁移,而非完全重写。
🎯
关键要点
- Clickhouse是一个开源分析数据库,主要用C++开发。
- 开发团队考虑将部分功能重写为Rust,以提升内存和线程安全性。
- 团队决定采取渐进式迁移,而非完全重写。
- C++的优势在于其成熟度和广泛的开发者基础,但也面临安全问题。
- Clickhouse构建了一个庞大的CMake持续集成系统,以捕捉和修复各种类型的错误。
- Rust提供了内存和线程安全性,但完全重写Clickhouse需要数年时间。
- 团队采用迭代方法,逐步将Clickhouse的各个部分重写为Rust。
- 与C++结合使用Rust时,面临可重现构建和内存管理等挑战。
- Rust程序在高压下容易出现panic,可能影响实时应用的稳定性。
- 引入Rust模块后,Clickhouse的依赖项数量显著增加。
- Clickhouse目前决定不完全重写数据库系统,但允许第三方贡献Rust编写的插件。
🏷️
标签
➡️