【ハスラ】

Hasura とは?

💡 データベースをつなぐだけでAPIが魔法のように生える即席バックエンド
📌 このページのポイント
Hasura — DBからGraphQL APIを自動生成 PostgreSQL テーブル・ビュー ストアド関数 Hasura Engine GraphQL API 自動生成 権限管理 (RBAC) リアルタイム Subscribe Web アプリ モバイルアプリ 管理ツール 接続 GraphQL コードを書かずに API が自動で立ち上がる
Hasura が PostgreSQL から GraphQL API を自動生成するしくみ
ひよこ ひよこ

HasuraってGraphQLAPIを自動で作ってくれるって聞いたけど、どういうこと?

ペンギン先生 ペンギン先生

PostgreSQLデータベースにHasuraを接続すると、テーブルの構造を自動で読み取ってGraphQL APIを生成してくれるんだよ。コードをほとんど書かなくていいのが特徴だよ。

ひよこ ひよこ

じゃあCRUD(作成・読み取り・更新・削除)の処理も全部自動なの?

ペンギン先生 ペンギン先生

そうだよ!`query`・`mutation`・`subscription` の3種類が全部自動で使えるようになるんだ。特にsubscriptionのリアルタイム機能は、チャットアプリや通知システムに使うと便利だよ。

ひよこ ひよこ

権限の管理はどうするの?誰でもデータを見られちゃうのは困るなあ。

ペンギン先生 ペンギン先生

Hasura内でロールを定義して、テーブルや列ごとにアクセス制御を設定できるよ。たとえば「一般ユーザーは自分のデータだけ見られる」といった行レベルのフィルタリングもGUIで設定できるんだ。

ひよこ ひよこ

既存のデータベースがある場合でも後から入れられるの?

ペンギン先生 ペンギン先生

できるよ!既存のPostgreSQLに接続するだけで導入できるのが強みで、既に動いているシステムにGraphQL層を追加する使い方も多いんだ。他のDBやREST APIとの統合機能もあるよ。

ひよこ ひよこ

どんなときにHasuraを選ぶといいの?

ペンギン先生 ペンギン先生

フロントエンドエンジニアがバックエンドをすぐ欲しいときや、プロトタイプを素早く作りたいときに向いているよ。ただし複雑なビジネスロジックはカスタムリゾルバーで書く必要があるから、大規模システムではその点の設計が重要だよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Hasura」って出てきたら「DBをつなぐだけでGraphQL APIが自動で生えるツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Hasura」 = (固有名詞)
💬 サンスクリット語の「असुर(Asura)」に由来するとされる造語だよ。神話的なスケール感とスピード感を名前に込めているんだ。
← 用語集にもどる