跳转到主要内容

【GraphQL 】将GraphQL API添加到Postgres数据库的六种简单方法,比较Hasura、Prisma和其他

PostgreSQL是世界上最流行的开源SQL数据库之一,GraphQL是一种日益流行的API规范。

将经过验证和众所周知的PostgreSQL与GraphQL带来的API创建新方式集成在一起不是很好吗?

在本文中,我们讨论了六个不同的项目,它们试图将SQL与GraphQL世界合并。其中一些甚至允许基于数据库结构自动创建模式。

以数据库为中心的方法

以数据库为中心的解决方案试图消除大多数配置和架构设置。他们将检查我们的数据库外观,并为我们提供类型和端点。

由于他们知道数据库的结构,他们可以为我们生成高性能的解析器,因此我们不会遇到N+1查询问题。

1. Hasura

Instant Real-time GraphQL on Postgres

Hasura可能是目前球场上最令人兴奋的球员。这是服用类固醇的PHPMyAdmin。

它在Docker容器中运行,作为数据库前面的服务器,并为我们提供一个DB和API的管理UI,就像PHPMyAdmin一样。

【全栈开发】使用GraphQL、Amazon Rds和Hasura开发Angular应用程序的终极指南

使用GraphQL编写数据和查询API可以加快软件开发过程。与REST API相比,使用GraphQL可以得到您想要的东西,后者为您提供了一个可能导致数据传输浪费的完整数据集。使用GraphQL技术查询API意味着我们终于可以告别过度获取了。

将任何软件应用程序与GraphQL绑定将提高应用程序的性能,因为您只选择需要的字段。在本教程中,您将学习如何使用Apollo客户端将GraphQL与Angular框架绑定。AWS RDS将成为我们的Postgres数据库,我们将在其上部署Hasura。Hasura GraphQL引擎将使我们能够快速连接到我们的GraphQL API。为了高效地开发我们的GraphQL API,我们将使用Hasura来完成以下工作;

  • 创建一个表。
  • 设置外键。
  • 查询响应缓存。

为了更好地理解这个概念,我们的Angular应用程序将使用突变创建新闻文章,并提取文章,以便将它们注入用户界面。