
Hasura
Hasura · コーディング
Hasura は、データベース、コード、API をつなぎ、高速で安全な GraphQL エンドポイントとして提供するメタデータ駆動のスーパーグラフ基盤だ。

Hasura について
What Is Hasura
Hasura は、データソースとアプリケーションの間に立つデータアクセス層だ。コネクタをデータベース、マイクロサービス、サードパーティ API に向け、データ同士の関係をメタデータに書けば、Hasura がそれを単一の GraphQL API にコンパイルする。現在の主力は Hasura Data Delivery Network(DDN)で、これは多くのソースを一つのエンドポイントにまとめるスーパーグラフだ。同社は自然言語でそのデータを問い合わせる AI 層の PromptQL も開発し、プロジェクトの出発点になったオープンソースの Hasura GraphQL Engine も維持している。
この流れは、データを Postgres、MySQL、SQL Server、Snowflake、BigQuery、Oracle に置き、テーブルごとにリゾルバを書かずに API が欲しいチームに向く。フィルタ、ページネーション、並べ替え、集計、認可は Hasura がこれらのソース上で処理し、リレーションシップはコードではなくメタデータに足す。手作業では面倒なことが、これでいくつも片付く。フィールド単位とエンティティ単位の権限がエンジン内で動くため、アクセスルールは一か所に収まる。同じ層が、コネクションベースのクライアント向けに Relay API も公開し、API バージョニングとハッシュ付きビルドでスキーマ変更を安全にする。
考慮すべきコストもある。DDN はマネージドなクラウド製品で、使いこなすにはメタデータモデルと CLI の習得が要り、素の SQL クライアントからの段差は小さくない。料金は席数ではなくアクティブモデルで数えるため、頻繁に問い合わせられるモデルが多い大きなスキーマは請求額を押し上げる。Rust で書かれたエンジンは速いが、学習曲線と DDN がマネージド専用である点が主なトレードオフだ。
Getting Started
- 無料の Hasura Cloud アカウントを作り、コンソールを開く
- DDN CLI と Docker を入れ、
ddn supergraph initでスーパーグラフを初期化する - Postgres データベースや REST API など、ソースごとにデータコネクタを足す
- メタデータでデータをモデル化し、リレーションシップと権限を定義してデプロイし、生成された GraphQL エンドポイントを呼ぶ
AIツール情報
Hasuraの料金、対応プラットフォーム、性能を簡単に確認できます。
こんな人におすすめ
このツールが最も力を発揮するユーザー、タスク、シーン。
ユーザー
- バックエンドとフルスタックの開発者:既存データベースの上に GraphQL API が欲しく、テーブルごとにリゾルバを手書きしたくないチーム
- プラットフォームエンジニアリングのチーム:多くのサービスをまたぐ統制されたエンドポイントが要り、権限を一度だけ定義したいグループ
- 大企業のデータチーム:データが Postgres、Snowflake、BigQuery、社内 API に散らばり、単一のアクセス層を探す組織
- AI 機能を作るチーム:構造化データへのアクセスを、AI エージェントや PromptQL が呼べる道具として使いたい開発者
タスク
- GraphQL API の構築:テーブル、ビュー、関数を、フィルタ、ページネーション、並べ替え付きの問い合わせ可能なフィールドとして公開する
- データソースの統合:データベース、REST サービス、サードパーティ API のデータを一つのスーパーグラフの背後にまとめる
- 認可の設定:フィールド単位とエンティティ単位のルールを適用し、見るべき行と列だけを見せる
- 安全なスキーマ変更:変更が本番に届く前に、バージョン付きビルドと破壊的変更の検出で確かめる
- エンジンのセルフホスト:オープンソースの GraphQL Engine v3 を自前のインフラで動かす
シーン
- スタートアップが最初のアプリのバックエンドを出す:Postgres を一つつなぎ、リゾルバ層を作らずその日のうちに動く API を得る
- 企業がアクセスを一本化する:十数の社内サービスをスーパーグラフに統合し、プロダクトチームが同じ join を組み直さずに済む
- チームが AI アシスタントを足す:エージェントにスーパーグラフを自然言語で問い合わせさせ、SQL を直接書かない
- スキーマ変更が危ない:破壊的変更の検出を伴う CI/CD を通してから出す
- 規制業種の企業がデータ所在を求める:専用 VPC にデプロイし、リージョンを選ぶ
主な機能
メタデータから組み上げるスーパーグラフ
Hasura DDN はメタデータ駆動のデータアクセス層だ。データの形を一度書けば、エンジンは手書きのコードではなくその記述から API を生成する。出来上がるのは多くのソースを一つのエンドポイントにまとめるスーパーグラフで、ネストしたフィルタ、ページネーション、並べ替えに加え、集計も標準で備える。Hasura によれば、Rust で書かれたコンパイラとランタイムにより、同社がすでに最速と称していた v2 エンジンより速い。
データベース、コード、API のコネクタ
データコネクタは、DDN が各ソースに届く手段だ。Hasura は PostgreSQL、Microsoft SQL Server、CockroachDB、ClickHouse、MongoDB、Snowflake などの公式コネクタを提供し、Lambda 関数や REST サービス向けのコードコネクタと API コネクタも用意する。これらはオープンな Native Data Connector(NDC)仕様に従うため、自前のコネクタを作り、公式セットがカバーしないソースを取り込める。サードパーティとコードのコネクタのホスティングは、vCPU 時間あたり $0.075、GiB 時間あたり $0.0075 かかる。
GraphQL と Relay の API
どのモデルも、フィルタ、ページネーション、並べ替えと集計を支える GraphQL API の一部になり、同じ層がコネクションベースのクライアント向けに Relay API を公開する。ネストしたフィルタ、ネストした集計、ネストしたページネーション、ネストした並べ替えは標準で、クライアントが必要とする往復を減らす。無料枠にもこれらの API 機能がすでに含まれ、月あたりのリクエスト数に上限はない。
きめ細かな認可
権限はエンジン内で二つの層として動く。フィールド単位のルールはロールが読み書きできる列を制御し、エンティティ単位のルールは見える行を制御する。ロジックはメタデータに宣言的に書くので、各 API フィールドの手前にあるテーブル、ビュー、関数はどこでも同じように保護される。アクセス要件が厳しいチームにとって、認可を一層にまとめれば、各サービスが独自ルールを課すうちに生じるずれが消える。
連携コラボレーションとマルチリポジトリ CI/CD
Advanced プランは連携コラボレーションとマルチリポジトリ CI/CD を加え、複数のチームが独立したサブグラフで作業し、それを一つのスーパーグラフにまとめられる。破壊的変更の検出、不変ビルド、ビルド URL により、変更を本番に届く前に切り離して試せる。スキーマレジストリと変更履歴は、何がいつ変わったかを記録する。API を複数のチームが持つ段階では、これが効いてくる。
可観測性と利用統計
トレース、API のパフォーマンス指標、モデルとフィールドの利用統計はコンソールの一部だ。無料プランはトレースと指標を 15 分保持し、有料プランは保持期間を 30 日に延ばす。モデルとフィールドの利用統計は有料プランに付き、スキーマのどの部分が実際に使われているかを示すので、何を残すかの判断に役立つ。オートスケーリング、ゼロコールドスタート、地理ルーティング付きのグローバルエッジ網は全てのプランに含まれる。
セルフホストとローカル開発
すべてを Hasura のクラウドで動かす必要はない。GraphQL Engine v3 をセルフホストし、同じツールを Docker でローカルに動かし、デプロイ前に自分のマシンでスーパーグラフに対して開発できる。DDN CLI は初期化、コネクタ設定、デプロイを一つの流れで扱う。機微なデータを自前のインフラに置きつつ、マネージドなツールも使いたいチームにとって、これは大きい。
AI データアクセスのための PromptQL
PromptQL は、スーパーグラフを扱うための Hasura の AI 層だ。SQL や GraphQL のクエリを直接書く代わりに、自然言語で問いを投げると、PromptQL が答えるのに必要なクエリを計画して実行する。同じデータアクセス層の上に成り立つので、すでに定義した権限とリレーションシップがそのまま効く。アシスタントやデータアプリを足すチームにとって、これはスーパーグラフを AI システムが直接呼べるものに変える。
メリットとデメリット
メリット
- メタデータ駆動のスーパーグラフが、手書きのリゾルバなしで多くのソースを一つの GraphQL エンドポイントに変える
- 公式とコミュニティのコネクタが主要データベースを覆い、オープンな NDC 仕様でコードと REST API も扱える
- 認可がエンジン内のフィールド単位とエンティティ単位で動き、ルールが各サービスではなく一か所に集まる
- 破壊的変更の検出と不変ビルドを伴う CI/CD が、スキーマ変更のリリースを安全にする
- 無料枠が無制限のリクエストと中核 API 機能を覆うので、小さいプロジェクトは無料で始められる
デメリット
- DDN は学習曲線のあるマネージド製品で、メタデータモデルと CLI の習得に時間がかかる
- 料金は席数ではなくアクティブモデルで数えるため、問い合わせの多いモデルが多い大きなスキーマは費用がすぐ膨らむ
- サードパーティとコードのコネクタのホスティングは時間単位の課金で、常時稼働のサービスでは積み上がる
- セルフホストは GraphQL Engine v3 を使うため、DDN の体験を丸ごと求めるチームは Hasura のクラウドに留まる
よくある質問
Hasura は、データベース、コード、API を一つの GraphQL API に変えるデータアクセス層だ。チームはアプリのバックエンド構築、多くのソースのデータ統合、権限の一元適用に使い、テーブルごとにリゾルバを書かずに済む。
関連コンテンツ
Hasuraに関連するツール、スキル、記事を探す。
Hasuraの代替ツール
Forefront
Forefront · コーディングForefrontはオープンソースAIで構築するためのウェブプラットフォームだ。主要なオープンソース言語モデルを自分のデータで微調整し、性能を評価し、API経由で実行したり、エクスポートして自分でホストしたりできる。クローズドなプラットフォームの手軽さを求めつつ、モデルとデータの所有権にはこだわる開発者が対象だ。
Startkit
StartKit.AI · コーディングStartkitは、AI SaaSとAIラッパー製品を作るためのボイラープレートだ。面倒な部分をあらかじめ配線済みにしたAIスタートアップボイラープレートと考えればいい。認証、StripeとLemon Squeezyの決済、利用制限、トランザクションメール、そしてOpenAI、Anthropic、Groq、Llamaと通信するAI APIスターターキットが含まれる。リポジトリをクローンして価格を設定し、ユーザーが実際にお金を払う部分に取りかかれる。ReactとTailwind上のNext.jsで作られているため、ボイラープレートコードの多くはすでに見慣れたものだ。
Testim
Tricentis · コーディングTestimは、Web・モバイル・Salesforceアプリ向けにエンドツーエンドテストを構築して実行するAIテスト自動化プラットフォームだ。機械学習を頼りに、インターフェースが変わってもテストを安定させ、チームが壊れたセレクターの修正に費やす時間を減らす。今日から使い始められる自動テストツールとしては悪くない。ブラウザで操作を録画してテストを作り、より細かい制御が必要なときはJavaScriptを足す。忙しいQAチームにとって堅実な選択肢である。
