暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Rust:一种用于编写数据库应用程序的高效语言

通讯员 2024-11-26
109

Rust:在数据库开发中提升生产力的新视角

在考虑 Rust 时,我们通常会想到性能、安全性和并发性。但是,它的生产力如何呢?Rust 传统上被视为一种系统编程语言,在基础设施领域已经留下了自己的印记,并被 Google、Amazon 和 Microsoft 等公司广泛使用。然而,它在更高级别应用程序(例如数据库支持的后端系统)的采用速度相对较慢。

在 QCon San Francisco 204 上,AWS 首席工程师兼 Tokio Rust 库 的创建者 Carl Lerche 对 Rust 不适合高水平生产力的看法提出了质疑。通过深入研究 Rust 的数据库应用程序生态系统,Lerche 展示了 Rust 如何在保持其标志性的性能和安全性的同时,提升生产力。

演讲亮点

Rust 的承诺:超越性能

  • 系统编程遗产:Rust 的低级运行时性能使其可与 C++ 相媲美,但具有现代、内存安全设计的额外好处,无需垃圾回收器。
  • 扩展到高级应用程序:尽管 Rust 拥有强大的基础设施,但 Lerche 认为 Rust 同样能够进行后端开发,提供高质量、无缺陷的代码。

挑战

  • 学习曲线:与动态语言相比,Rust 的学习曲线更陡峭。
  • 生态系统:不太成熟的 Web 和数据库开发生态系统。
  • 长寿命代码的优势:虽然 Rust 不适合快速原型设计,但它擅长构建健壮、可维护的系统。

Rust 中的数据库开发:一个不断增长的生态系统

Lerche 推出了 Toasty,这是一个新的对象关系映射(ORM)库,旨在简化 Rust 数据库交互。Toasty 专为 SQL 和 NoSQL 构建,强调易用性而不是纯粹的性能。

Rust Code Productive Databases

特征和生命周期:Rust 新用户的常见障碍

  • 简化的架构处理和代码生成
  • 通过过程宏减少样板代码
  • 为新手和经验丰富的 Rust 开发人员量身定制的直观 API

开发人员面临的挑战

  • 二阶 trait Bounds:通过最大限度地减少过度使用来解决复杂性。
  • 生成的代码阅读:Lerche 强调了确保生成的代码易于理解以实现可维护性的重要性。

在 Rust 中最大化生产力的技巧

  • 实用代码简化
    • 首选枚举而不是 trait,以获得更易于阅读的代码。
    • 使用程序宏来简化重复性任务。
  • Rust 中的错误处理
    • 利用 Rust 独特的错误处理方法,通过安全模式最大限度地减少运行时错误。

针对数据库关系进行优化

  • 使用指数来有效地管理复杂的关系。

关于 Rust 在 Web 和应用程序开发中的未来,Lerche 将 Rust 设想为一种用于后端系统的高效通用语言。然而,它的采用挑战是由于它的复杂性和年轻的生态系统;像 Toasty 这样的工具会发出进度信号。他鼓励开发人员在后端系统中试验 Rust 并贡献反馈以进一步改进其生态系统。

原文作者:Steef-Jan Wiggers
文章来源:infoQ
原文链接:https://www.infoq.com/news/2024/11/rust-code-productive-databases/

文章转载自通讯员,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论