从C++迁移到Rust?Clickhouse给出了一些建议

从C++迁移到Rust?Clickhouse给出了一些建议

💡 原文英文,约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编写的插件。
🏷️

标签

➡️

继续阅读