使用 Hasura 和 PostgreSQL 构建后端技巧你会吗

这篇具有很好参考价值的文章主要介绍了使用 Hasura 和 PostgreSQL 构建后端技巧你会吗。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

后端开发通常需要编写多行代码来处理 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 还具有以下优势:

  • 您可以使用表继承对数据进行建模
  • 对多用户环境有更好的并发控制(可以更高效地写入海量数据)
  • 它具有容错性,不易损坏数据
  • 它支持许多独特的数据类型,例如JSONSpatial,这对于金融和研究相关的应用程序很有用

PostgreSQL 不仅仅是一个数据存储服务。它也是一个能够运行自定义函数和触发器以执行各种计算和分析任务的服务器。在 PostgreSQL 上线运行逻辑更有效,因为它不需要编写自定义服务器代码。您可以使用以下方法在 PostgreSQL 中定义逻辑:

  • 视图,一种可以帮助简化复杂查询的存储查询
  • 函数和运算符,例如日期格式化、模式匹配、算术运算
  • Extensions,扩展 PostgreSQL 功能的插件(例如PostGIS)
  • Procedural Languages,用于编写用户定义函数、存储过程、触发器和扩展标准 SQL 的编程语言(例如PL/pgSQL)

当您在 PostgreSQL 中实现逻辑时,Hasura 能够通过 GraphQL 查询和突变将它们公开给前端应用程序。这是通过pgAdmin界面看到的 PostgreSQL 服务器的顶级视图:

使用 Hasura 和 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 的功能。

什么是哈苏拉?

Hasura 是一个开源的实时 GraphQL 引擎,可为您的数据库生成 GraphQL 和 REST API 端点。它带有一个 Web 控制台,可以让您:文章来源地址https://www.toymoban.com/news/detail-454457.html

  • 为您的数据库模式建模
  • 查看、插入、更新和删除数据
  • 实施基于角色的访问控制策略
  • 运行 GraphQL 查询和突变
  • 创建 REST 端点
  • 运行 SQL 代码
  • 定义动作和触发器

到了这里,关于使用 Hasura 和 PostgreSQL 构建后端技巧你会吗的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【HashMap】| 深度剥析Java SE 源码合集Ⅱ | 你会吗?

    HashMap 是 Map 接口的接口实现类,它采用哈希算法实现,是 Map 接口最常用的实现类。 由于底层采用了哈希表存储数据,所以要求键不能重复,如果发生重复,新的值会替换旧的值。 HashMap 在 查找、删除、修改方面都有非常高的效率 。 HashMap 底层实现采用了哈希表,既集合了

    2024年01月22日
    浏览(36)
  • 手机没电用日语怎么说?你会吗?柯桥常用日语学习

    手机没电在日语里可以表达为: 1. スマホの電池が切れた。 直接使用“電池が切れる”来表示电池没有电了。 2. スマホのバッテリーが空に15857575376なった。 “バッテリーが空になる”也是表示电量耗尽的常用表达。 3. 充電が必要だ。 “充電が必要”意思是需要充电。 4.

    2024年02月06日
    浏览(39)
  • 序员工作1年,每天上班清闲,但却焦虑万分,若是你,你会吗?

    有个学弟在后台留言 他谈到了自己去年毕业的 因为在大学里边有一些校企合作 所以呢他也是花了钱 然后去培训了有半年 去年毕业之后到现在工作有一年了 那目前的薪资是8,000块钱 虽然说相较于其他同学呢 这个薪资呢还算可以 但是呢 自己每天现在就处于一种非常 压抑的那

    2024年02月02日
    浏览(37)
  • 使用PostgreSQL构建强大的Web应用程序:最佳实践和建议

    PostgreSQL是一个功能强大的开源关系型数据库,它拥有广泛的用户群和活跃的开发社区。越来越多的Web应用选择PostgreSQL作为数据库 backend。如何充分利用PostgreSQL的特性来构建健壮、高性能的Web应用?本文将给出一些最佳实践和建议。 一、选择合适的PostgreSQL数据类型 PostgreSQL提供

    2024年02月12日
    浏览(74)
  • 速学数据结构 | 手把手教你会单链表的构建方式

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 : 《初阶数据结构》《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活!    🌈 hello! 各位宝子们大家好啊!今天给大家带来的是初阶数据结构中单链表的构建方式,手把手教会你单链表 !    ⛳️ 链表是指一种逻辑上是连在一

    2024年02月08日
    浏览(88)
  • 使用LLama和ChatGPT为多聊天后端构建微服务

    微服务架构便于创建边界明确定义的灵活独立服务。这种可扩展的方法使开发人员能够在不影响整个应用程序的情况下单独维护和完善服务。然而,若要充分发挥微服务架构的潜力、特别是针对基于人工智能的聊天应用程序,需要与最新的大语言模型(LLM,比如Meta LLama V2和

    2024年02月03日
    浏览(39)
  • 构建强大的Python后端分离应用:使用Token实现安全身份验证和权限控制

    使用Python构建一个强大的后端分离应用,通过使用Token实现安全的身份验证和灵活的权限控制。 什么是前后端分离: 前后端分离是一种软件架构模式,它将应用程序的前端(用户界面)和后端(业务逻辑和数据处理)分离开发和部署。在前后端分离架构中,前端和后端是独立

    2024年02月03日
    浏览(64)
  • Postgresql如何创建索引,有什么技巧?

    在 PostgreSQL 中,可以使用 CREATE INDEX 语句来创建索引。 创建索引的语法如下: 其中,index_name 是索引的名称,table_name 是要创建索引的表的名称,column_name 是要创建索引的列的名称。 例如,如果要在 users 表的 name 列上创建索引,可以使用以下语句: 在创建索引时,有几点需

    2024年02月13日
    浏览(59)
  • 深入了解PostgreSQL:高级查询和性能优化技巧

    在当今数据驱动的世界中,数据库的性能和查询优化变得尤为重要。 POSTGRESQL作为一种开源的关系型数据库管理系统,在处理大规模数据和复杂查询时表现出色。 但随着数据量和查询复杂性的增加,性能问题可能会显现出来。 本文将深入探讨POSTGRESQL的高级查询和性能优化技

    2024年02月10日
    浏览(58)
  • PostgreSQL构建时间

    – PostgreSQL构建时间

    2024年02月14日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包