Hasura GraphQL Engine:一个端点搞定所有数据查询

做前后端分离的开发,最头疼的问题之一就是接口管理。每个表一个接口,版本迭代要维护一堆 API,权限控制还得单独写逻辑。Hasura GraphQL Engine 这个项目(3.2 万 Star)就是冲着这个痛点来的,用一个 GraphQL 端点直接对接底层数据库,省掉了大量手写接口的工作。

正文顶部截图

它干了什么

简单说,Hasura 自动把你数据库里的表、视图、函数映射成 GraphQL API。你不需要写一行 REST 接口代码,数据库结构变了,API 自动跟着变。

目前 V3 版本(Hasura DDN)已经正式 GA,支持 PostgreSQL、MongoDB、ClickHouse、MS SQL Server 四种数据库。业务逻辑比较复杂时,可以通过 Typescript、Python、Go 的 Connector SDK 写自定义逻辑。

V2 版本依然稳定可用,社区活跃度很高。

为什么值得关注

1. 省时间

传统开发流程里,建完数据库之后还要写一堆 CRUD 接口,加权限、做分页、处理关联查询。Hasura 把这些全自动化了,据官方数据,接入速度能提升 10 倍。对小团队来说,效率差距很明显。

2. 全开源

V3 引擎和所有数据连接器都采用 Apache 2.0 协议。想自托管可以,想魔改也可以。核心功能没有藏在商业版里,开源做得比较彻底。

3. 生态完整

不只是一个引擎,围绕它有一整套生态:Connector Hub 提供各种数据源的连接器,文档体系完善,社区在 Discord 上也很活跃。遇到问题基本都能找到解决方案。

README区域截图

实际用起来要注意什么

Hasura 适合的场景比较明确:需要快速搭建 API 层、数据源以关系型数据库为主、团队人少但需求迭代快。如果业务逻辑非常复杂,或者需要高度定制的 API 格式,可能还是得自己写接口,或者用 Hasura 的自定义函数来补充。

另外,这个仓库本身是个大型 monorepo,克隆会比较慢。官方推荐用 shallow clone 或者 sparse-checkout 只拉取需要的部分。

3.2 万 Star 背后是大量开发者在实际项目中的验证。如果你正在为接口管理发愁,值得花半天时间试一下。

开发者在实际项目中的验证。如果你正在为接口管理发愁,值得花半天时间试一下。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐