我最近开始学习graphql,现在我发现它真的很方便。但是,当涉及到将其与object-relational或object-oriented数据库管理系统连接时,基于每个DBMS的基础有一定的复杂性。由于这个原因,我开始寻找能使这个过程更有效率的解决方案,于是我找到了prisma。据我所知,prisma正在执行将我的数据映射到任何数据库的所有繁重工作,但是,我认为它充当了服务器和数据库之间的中间层。所以,我的问题是:
在应用程序中使用prisma真的值得吗?如果是的话,我如何解释这个中间层所增加的开销(就性能而言)?
发布于 2019-05-25 19:14:00
我在Prisma工作,我很乐意对此作出回应。
Prisma在编写GraphQL服务器时的最大好处是,它为您节省了大量CRUD样板,否则必须在解析器中编写。与GraphQL Nexus结合,您可以在生成的CRUD构建块的基础上编程地开发GraphQL模式,同时还提供一个类型安全的API来访问数据库。
我如何解释这个中间层所增加的开销(就性能而言)?
当托管在应用程序服务器旁边时,Prisma服务器实际上不会增加任何性能损失。还请注意,我们目前正在重写Rust中运行在Prisma服务器内的查询引擎,这将使Prisma服务器成为可选的,并且您将能够将Prisma作为一个简单的库使用(类似于您使用TypeORM或Sequelize的方式)。查询引擎然后作为二进制文件运行在与web服务器相同的主机上,并从那里连接到数据库。
更新:2019年7月22日,:我们发布了Prisma 2的第一版,您可以找到所有的信息这里。
我建议您查看一下GraphQL Nexus,以了解更多关于具体工作流的信息。如果您还有其他问题,请告诉我,我很乐意帮助您:)
https://stackoverflow.com/questions/56304028
复制相似问题