后端开发通常需要编写多行代码来处理 CRUD、授权和业务逻辑。所有这些代码都需要在项目的整个生命周期内进行测试、调试和维护。这需要开发人员可以用来开发新功能的大量时间。在本文中,您将了解 Hasura 和 PostgreSQL 如何帮助您加快应用程序开发并以最少的工作快速启动后端。
Hasura是一个开源 GraphQL 引擎,它使用您的数据库模式生成的 GraphQL 和 REST API 端点。它支持数据建模、实时查询、事件编程、基于角色的授权以及通过 GraphQL 运行自定义业务逻辑的操作。
PostgreSQL是一种流行且功能强大的开源、面向对象的关系数据库,它提供与 Oracle 数据库和 Microsoft SQL Server 类似级别的企业级功能。据StackShare 称,PostgreSQL 被 Netflix、Instagram、Uber 和 Spotify 等大型国际公司使用。
在本文中,我们将介绍 Hasura 提供的主要功能,这些功能使其适用于开发和启动 Web 和移动应用程序的可扩展后端。我们还将了解如何利用 PostgreSQL 的功能来执行各种计算和分析任务,只使用 SQL 将正确的数据传递到您的前端,而无需编写自定义代码。
请注意,Hasura 也支持其他数据库,例如 Microsoft SQL Server、Amazon Aurora 和 Google BigQuery。我们将专注于 PostgreSQL,因为它对大多数企业和组织都是免费且可访问的。对MySQL的支持即将推出,如果您有兴趣。
如果您是 GraphQL 新手,请查看我们的教程以了解更多信息。让我们从为什么 PostgreSQL 可以从成为您项目的完美选择开始。
为什么选择 PostgreSQL
与其他类型的数据库相比,关系数据库具有许多明显的优势,因为您可以使用严格的模式和表关系对数据进行建模。执行 JOIN 和执行 ACID 事务的能力是大多数行业中许多应用程序的主要要求。这些功能对于在任何给定时间促进业务数据的完整性和一致性至关重要。
与 MySQL 等其他关系型数据库相比,PostgreSQL 还具有以下优势:
- 您可以使用表继承对数据进行建模
- 对多用户环境有更好的并发控制(可以更高效地写入海量数据)
- 它具有容错性,不易损坏数据
- 它支持许多独特的数据类型,例如JSON和Spatial,这对于金融和研究相关的应用程序很有用
PostgreSQL 不仅仅是一个数据存储服务。它也是一个能够运行自定义函数和触发器以执行各种计算和分析任务的服务器。在 PostgreSQL 上线运行逻辑更有效,因为它不需要编写自定义服务器代码。您可以使用以下方法在 PostgreSQL 中定义逻辑:
- 视图,一种可以帮助简化复杂查询的存储查询
- 函数和运算符,例如日期格式化、模式匹配、算术运算
- Extensions,扩展 PostgreSQL 功能的插件(例如PostGIS)
- Procedural Languages,用于编写用户定义函数、存储过程、触发器和扩展标准 SQL 的编程语言(例如PL/pgSQL)
当您在 PostgreSQL 中实现逻辑时,Hasura 能够通过 GraphQL 查询和突变将它们公开给前端应用程序。这是通过pgAdmin界面看到的 PostgreSQL 服务器的顶级视图:
学习利用 PostgreSQL 功能可以帮助您轻松解决复杂问题,而无需编写服务器代码。以下是您可以使用的 PostgreSQL 执行哪些操作的几个示例:
例 1
您可以使用视图检索当前处于活动状态的在线用户列表:
CREATE OR REPLACE VIEW "public"."online_users" AS
SELECT users.id,
users.last_seen
FROM users
WHERE (users.last_seen >= (now() - '00:00:30'::interval));
例 2
使用PostGIS 功能,您可以列出位于 1,000 米半径内的所有商店。有关详细说明,请参阅此地理定位教程:
SELECT id, name, address, geom
FROM Seattle_Starbucks
WHERE ST_DWithin(geom, ST_MakePoint(-122.325959,47.625138)::geography, 1000);
在下一节中,我们将重点介绍 Hasura 的功能。文章来源:https://www.toymoban.com/news/detail-454457.html
什么是哈苏拉?
Hasura 是一个开源的实时 GraphQL 引擎,可为您的数据库生成 GraphQL 和 REST API 端点。它带有一个 Web 控制台,可以让您:文章来源地址https://www.toymoban.com/news/detail-454457.html
- 为您的数据库模式建模
- 查看、插入、更新和删除数据
- 实施基于角色的访问控制策略
- 运行 GraphQL 查询和突变
- 创建 REST 端点
- 运行 SQL 代码
- 定义动作和触发器
到了这里,关于使用 Hasura 和 PostgreSQL 构建后端技巧你会吗的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!