100秒でHasuraを理解する

いまいちHasuraの説明をうまくできない自分に、とってもわかりやすく説明してくれたビデオです。Hasura社内でも、このビデオすごい的を得ているねーと話題になっていました。こういうのが社外から出てくるのもすごいことだよなー。

簡単な和訳
HasuraはRDBを瞬時にGraphQLやRestAPIに変えてしまいます。
フルスタックアプリケーションを構築する場合、エンドユーザーはデータベースにアクセスする必要がある可能性があります。そのため、安全なAPIを構築する必要があります。しかし、完璧なAPIを構築することは、簡単ではありません。

フロントエンド開発者はgraphqlの使用が好きですが、バックエンド開発者はgraphqlスキーマを解決する効率的なSQLクエリを作成するという課題に直面してしまいます。

hasuraエンジンは、スキーマとリゾルバーを自動的に生成することで、この問題を解消します。Hasuraは、postgresデータベースをポイントするだけで、既存のテーブルとビューを使用して、フロントエンドアプリですぐに使用できるAPIが生成されます。

クラウドのどこからでもデータベースに接続し、それにテーブルと行を追加して、WebUIから直接すべてのデータを管理できます。データベースに加えて、テーブル間の関係を構成するのにも役立ちます。サードパーティのAPIをスキーマに接続して、すべてのデータの信頼できる唯一の情報源を作成することもできます

場合によっては、独自のカスタムクエリまたはミューテーションアクションを使用してスキーマを拡張し、外部サーバーまたはサーバーレス関数にカスタムビジネスロジックを実装して、より複雑な方法でデータを読み書きすることができます。

さらに、データベースで何かが変更されたときにサーバー側でコードをトリガーしたい場合があります。例えば特定のテーブルに新しい行が追加されたときにトランザクションメールを送信したい場合などです。Hasuraイベントは、特定のテーブルへの操作に基づいてトリガーすることも、バックグラウンドでcronジョブを使用してスケジュールすることもできます。

Hasuraが処理しないことの1つはユーザー認証ですが、認証サービスに簡単に接続し、ユーザーがリクエストを行うときにロールセッション変数を提供して、ボタンをクリックするだけでロールベースのアクセス制御を実装できます

APIはgraphqlのような業界標準で作成されているため、フロントエンドのデータにアクセスしたい任意のgraphqlクライアントを使用できます。apolloのようなものを使用して、データベースへのリアルタイムサブスクリプションをクエリして設定できます。

言い換えれば、hasuraは、フロントエンドで何を使用するか、または実際のデータベースをどこでホストするかを気にしない仲介者のようなものです。

オープンソースプロジェクト、または無料枠付きのフルマネージドサービスとして利用することができます。https://cloud.hasura.io/signup

いいなと思ったら応援しよう!