文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

为什么SurrealDB要赌Rust?

2024-11-29 19:42

关注

为了构建能够支持未来应用程序的数据库,SurrealDB需要未来的底层编程语言。他们相信这种语言就是Rust,他们从Rust的Future中获得灵感,构建了类sql查询语言SurrealQL。

在SurrealDB主页的正中间,你会看到这三句话:

这不仅是SurrealDB可以为应用程序做的事情,也是Rust为SurrealDB做的事情。由于Rust众所周知的陡峭的学习曲线,当你想到使用Rust时,更容易开发和更快构建可能不是你首先想到的事情。

然而,Rust支持你以不同的方式思考。在Rust中从0到1的转换速度可能不如在其他语言中那么快,但它比你想象的要容易。因此,可以使用不同的语言进行原型设计,然后在看到项目的长期潜力后再用Rust重新编写。SurrealDB本身首先使用Go开发原型,然后使用Rust完全重写。

这里的关键是,一旦支付了学习Rust的前期成本,你就可以走得更快,或者像人们常说的那样:从慢到快。

现在,在进一步讨论之前,我们需要解决一个问题,相信许多人都会有一个问题:为什么不使用Zig或其他更新的语言呢?

虽然确实可以使用Zig或其他较新的语言构建数据库,但在默认情况下,当涉及到内存安全时,它们没有Rust的特性,而且没有垃圾收集器以获得最高性能。

不可否认,Rust已经俘获了开发者社区的青睐,在Stack Overflow的年度开发者调查中连续8年被评为“最受尊敬的编程语言”。它不仅仅是令人钦佩,它也是GitHub上增长最快的语言之一。

2019年Linux安全峰会上的一场演讲显示,内存安全问题估计占主流系统(包括Android和Ubuntu)安全漏洞的65-88%。这也符合微软的经验,微软每年分配给CVE的漏洞中有70%仍然是内存安全问题。

这表明,即使经过几十年的开发,一些最优秀的工程师使用C和C++的最佳实践,仍然会出现问题,诸如访问已经释放的内存、数据竞争等。因此,很难说这只是技能问题,而更有可能是所使用语言的根本问题。

有了这个背景,你就明白为什么微软Azure的首席技术官Mark Russinovich说:“说到语言,现在是时候停止使用C/C++开始任何新项目了,在那些需要非gc语言的场景中使用Rust。为了安全性和可靠性,业界应该将这些语言声明为弃用语言。”

这种对Rust的信任并不是凭空而来的,为了使Rust在安全关键型环境中完全可用,已经投入了大量的工作。这可以从Rust最近通过Ferrous Systems开发的 Ferrocene工具链获得ISO 26262和IEC 61508标准的资格认证中看出。

你可能也听说过美国政府正在关注这些发展,比如美国白宫国家网络主任办公室(ONCD)。该办公室上个月(2024年2月)发布了一份报告,建议转向内存安全的编程语言,并指出Rust是可以在安全关键的太空系统中替代C和C++。

虽然数据库不是至关重要的太空系统,但它们通常在组织中扮演着至关重要的角色。你想要保证你的数据安全,因为如果你丢失了你的数据,你就会失去你的业务。

因此,如果主要系统中65-88%的安全漏洞可能是由内存问题引起的,那么理解为什么SurrealDB把赌注押在Rust上以确保数据尽可能安全就不是什么难事了。

来源:coding到灯火阑珊内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯