我最近开始学习graphql
,此刻我觉得非常方便。但是,在将其与数据库管理系统object-relational
或object-oriented
数据库管理系统连接时,基于每个DBMS的基础会有些复杂。出于这个原因,我开始寻找可以使流程更高效的解决方案,于是我找到了Arizona。我知道这prisma
是将我的数据映射到任何数据库的所有繁重工作,但是,我认为它充当服务器和数据库之间的中间层。所以,我的问题是:
在应用程序中真正使用价值吗?如果是的话,我该如何解释中间层增加的开销(就性能而言)?
我在Prisma工作,很乐意对此做出回应。
Prisma在编写GraphQL服务器时的最大好处是,它为您节省了大量的CRUD样板文件,否则您必须在解析器中编写这些样板文件。与GraphQL Nexus搭配使用时,您可以通过在生成的CRUD构建块上进行构建来以编程方式开发GraphQL模式,同时还可以提供一种类型安全的API来访问数据库。
如何解释该中间层增加的开销(在性能方面)?
当与您的应用程序服务器一起托管时,Prisma服务器实际上不会增加任何性能损失。还要注意,我们当前正在重写在Rust中的Prisma服务器中运行的查询引擎,这将使Prisma服务器成为可选项,并且您将Prisma用作简单的库(类似于您使用TypeORM或Sequelize的方式) )。然后,查询引擎将作为二进制文件在与Web服务器相同的主机上运行,并从那里连接到数据库。
更新:2019年7月22日:我们发布了Prisma 2的第一个版本。您可以在这里找到所有信息。
我建议您看一下GraphQL Nexus文档,以了解有关具体工作流程的更多信息。如果您还有其他问题,请告诉我,我们很乐意为您提供帮助:)
归档时间: |
|
查看次数: |
624 次 |
最近记录: |