Rust 到 TypeScript 的更新:提升 Prisma ORM 性能
Posted: Wed Apr 23, 2025 5:49 am
查询编译器项目升级了 Prisma ORM,将传统的 Rust 引擎替换为基于 WASM 模块和 TypeScript 构建的更精简的解决方案。这一改进提升了查询性能,并将包大小减少了 85% 到 90%,同时还增强了与各种 Web 框架和打包器的兼容性。随着 Prisma ORM 迈向 7 版,开发者可以期待更流畅、更高效的体验。
打破绩效障碍
简单回顾一下,查询编译器项目是我们努力用精简的 WASM 模块和补充的 TypeScript 代码替换用 Rust 编写的 Prisma 查询引擎的举措。我们期望通过这一举措实现更快的查询速度和更小的内存占用,现在我们已经运行了基准测试来证明这一点。
自上次更新以来,我们的团队一直致力于这个项目。随着 Prisma ORM 6.4 的发布,我们达到了一个重要的里程碑:查询编译器的概念验证已完成。此 Alpha 版本包含所需的 API,可针 老挝电话号码列表 对我们现有的 Prisma 客户端实现运行全面的基准测试。您可以在我们的ORM 基准测试代码库中查看代码和完整的基准测试结果。
Prisma Client 的新架构
带有查询编译器的 Prisma 客户端的架构建立在我们当前的驱动程序适配器架构之上。在当前的驱动程序适配器实现中,Prisma 客户端查询从 TypeScript 发送,经过查询引擎、驱动程序适配器和数据库驱动程序,最终到达您的数据库。
使用查询编译器,Prisma Client 查询首先会被转换为内部查询计划,然后传回客户端,并通过相同的驱动程序适配器和数据库驱动程序设置发送到您的数据库。如果您driverAdapters现在正在使用预览功能,新的实现将非常相似。
此次转变不仅仅是为了现代化,更是为了让 Prisma ORM 运行得更快、更简单。我们相信,新的架构将显著减少“陷阱”,让开发人员能够将 Prisma ORM 集成到他们的技术栈中,而无需担心兼容性问题。
打破绩效障碍
简单回顾一下,查询编译器项目是我们努力用精简的 WASM 模块和补充的 TypeScript 代码替换用 Rust 编写的 Prisma 查询引擎的举措。我们期望通过这一举措实现更快的查询速度和更小的内存占用,现在我们已经运行了基准测试来证明这一点。
自上次更新以来,我们的团队一直致力于这个项目。随着 Prisma ORM 6.4 的发布,我们达到了一个重要的里程碑:查询编译器的概念验证已完成。此 Alpha 版本包含所需的 API,可针 老挝电话号码列表 对我们现有的 Prisma 客户端实现运行全面的基准测试。您可以在我们的ORM 基准测试代码库中查看代码和完整的基准测试结果。
Prisma Client 的新架构
带有查询编译器的 Prisma 客户端的架构建立在我们当前的驱动程序适配器架构之上。在当前的驱动程序适配器实现中,Prisma 客户端查询从 TypeScript 发送,经过查询引擎、驱动程序适配器和数据库驱动程序,最终到达您的数据库。
使用查询编译器,Prisma Client 查询首先会被转换为内部查询计划,然后传回客户端,并通过相同的驱动程序适配器和数据库驱动程序设置发送到您的数据库。如果您driverAdapters现在正在使用预览功能,新的实现将非常相似。
此次转变不仅仅是为了现代化,更是为了让 Prisma ORM 运行得更快、更简单。我们相信,新的架构将显著减少“陷阱”,让开发人员能够将 Prisma ORM 集成到他们的技术栈中,而无需担心兼容性问题。