ホームページ ウェブフロントエンド jsチュートリアル hasuraとpostgresqlでバックエンドを構築する方法

hasuraとpostgresqlでバックエンドを構築する方法

Feb 09, 2025 am 09:22 AM

How to Build Your Backend with Hasura and PostgreSQL

堅牢なバックエンドの構築には、多くの場合、CRUDの運用、承認、およびビジネスロジックの広範なコーディングが含まれます。これは、時間のかかるプロセスです。 この記事では、HasuraとPostgreSQLがバックエンド開発を合理化し、最小限のコーディングの取り組みでより高速なアプリの起動を可能にする方法について説明します。 オープンソースのGraphQLエンジンである

Hasuraは、データベーススキーマからGraphQLとREST APIを自動的に生成します。 データモデリング、リアルタイムクエリ、イベントプログラミング、ロールベースの承認、およびGraphQLアクションを介したカスタムビジネスロジック実行をサポートしています。 強力なオープンソースリレーショナルデータベースであるPostgreSQLは、OracleおよびMicrosoft SQL Serverに匹敵するエンタープライズレベルの機能を提供し、大規模なアプリケーションに信頼できる選択肢となっています。 NetflixやSpotifyなどの企業が使用しているのは、その機能を強調しています。 Hasuraは他のデータベースをサポートしていますが、この記事では、アクセシビリティとオープンソースの性質のためにPostgreSQLに焦点を当てています。 MySQLサポートが計画されています このガイドは、Webおよびモバイルアプリ向けのスケーラブルなバックエンドを構築するためのHasuraの機能を強調しています。 また、SQLを介してアクセスされるPostgreSQLの機能が複雑な計算と分析を実行し、カスタムサーバー側のコードの必要性を減らす方法も示しています。

重要な利点:

迅速なバックエンド開発:Hasuraの自動生成APIはコーディング時間を大幅に短縮します。

postgreSqlパワー:
    データの整合性とパフォーマンスを強化するためのPostgreSQLの高度な機能(テーブル継承、並行性制御、JSON/空間データ型)を活用してください。
  • リアルタイム機能:Hasuraのリアルタイムクエリ、イベントプログラミング、およびロールベースの承認は、非常にレスポンシブなアプリケーションを作成します。
  • 簡単な展開:監視やキャッシングなどの機能を備えたスケーラブルで安全なグローバルに分散したアプリケーションのために、ローカル開発またはhasuraクラウドを使用してhasuraを展開します。
  • 包括的なWebコンソール:
  • Hasuraの直感的なWebコンソール内のデータモデリング、CRUD操作、および複雑なクエリを管理します。 認証およびファイルストレージプロバイダーと統合します 合理化されたワークフロー:
  • Hasuraの移行ツールと、開発と生産の間のシームレスな移行のために環境のステージングを利用して、CI/CDをサポートします。
  • なぜpostgresql?
  • を選択するのか PostgreSQLのようなリレーショナルデータベースは、スキーマモデリング、参加操作、酸トランザクションなど、データの整合性のために重要な他のデータベースタイプよりも利点を提供します。 PostgreSqlはさらに優れています:
    • テーブル継承:効率的なデータモデリング。
    • Advanced Concurrency Control:マルチユーザー環境で大量のデータを効果的に書き込みます。
    • フォールトトレランスとデータの整合性:データの破損リスクを削減します。
    • 一意のデータ型:JSONおよび空間データ型をサポートし、さまざまなアプリケーションに有益です。
    • PostgreSQLは、分析タスクのカスタム関数とトリガーを実行し、個別のサーバー側コードの必要性を排除する計算サーバーとしても機能します。 これは、
    を使用して達成されます

      ビュー:
    • 複雑なクエリを簡素化します。
    • 関数と演算子:
    • 日付のフォーマット、パターンマッチング、算術演算を実行します。 拡張機能:
    • postgreSQLの機能(例:postgis)。
    • 手続き型言語:
    • ユーザー定義の関数とストアドプロシージャを書き込む(例:pl/pgsql)。
    • Hasuraは、GraphQLを介してこのPostgreSQLロジックを公開し、FrontEndアプリケーションに簡単にアクセスできるようにします。

    postgreSqlの例:

    How to Build Your Backend with Hasura and PostgreSQL

    例1(オンラインユーザービュー):現在アクティブなユーザーを取得するビュー:

    • 例2(ポストGISによるジオロケーション):
    半径1000メートル以内の店舗を見つける:
    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));
    ログイン後にコピー
    • hasuraとは?
    SELECT id, name, address, geom
    FROM Seattle_Starbucks
    WHERE ST_DWithin(geom, ST_MakePoint(-122.325959,47.625138)::geography, 1000);
    ログイン後にコピー
    Hasuraは、データベースのAPIを生成するオープンソースのリアルタイムGraphQLエンジンです。そのWebコンソールでは、

    を許可します

    スキーマモデリング:

    テーブルの作成、関係の定義、およびデータの管理

      crud操作:
    • アクションの作成、読み取り、更新、削除を実行します。
    • ロールベースのアクセス制御:
    • 粒状許可を実装します GraphQL/RESTエンドポイントの作成:
    • データのAPIを生成します。
    • sql実行:
    • カスタムsqlクエリを実行します。
    • アクション&トリガー定義:
    • タスクを自動化し、イベントを処理します。
    • 注:Hasuraは、個別の認証プロバイダー(Auth0、Firebaseなど)とファイルストレージサービスとの統合が必要です。 nhostは統合されたソリューションを提供します。
    hasuraの起動:

    How to Build Your Backend with Hasura and PostgreSQL

    • docker:ローカル開発に推奨され、簡単なセットアップとレートの制限なし。
    • hasuraクラウド:監視やキャッシュ機能を含む、スケーラビリティ、セキュリティ、およびグローバル配信を備えた展開を簡素化します。 制限付きの無料ティアが利用可能です。

    How to Build Your Backend with Hasura and PostgreSQL

    hasura機能(詳細な概要):

    • データマネージャー:テーブルの作成、関係の定義、データ型(JSONおよびカスタムタイプを含む)の管理のためのVisual Schema Designer。 How to Build Your Backend with Hasura and PostgreSQL
    • 承認:
    • 挿入、選択、更新、および削除の粒状権限を備えた役割ベースのアクセス制御。 How to Build Your Backend with Hasura and PostgreSQL
    • Queries:コンソール内でさまざまなGraphQLクエリ(シンプル、ネスト、集約、フィルタリング)を実行します。
    • How to Build Your Backend with Hasura and PostgreSQL 突然変異:
    • トランザクションをサポートして挿入、upSert、更新、削除操作を実行します。
    • subscriptions:WebSocketsを介してGraphQLサブスクリプションを使用してリアルタイムデータ更新を実装してください。
    • リモートスキーマ:データとロジックについては、サードパーティAPIと統合します。
    • アクション:
    • プログラミング言語を使用してWebHooksを介してカスタムビジネスロジックを実行します。 イベントトリガー:
    • データベースイベントに基づいてWebhooksを呼び出します(挿入、更新、削除)。 手動の呼び出しをサポートしています。
    • スケジュールされたトリガー:
    • 定期的に(Cron)またはWebhooks経由で1回(1回限り)タスクを実行します。
    • 移行と環境:
    • データベースとHasuraメタデータの移行ファイルを使用してスキーマの変更を管理し、CI/CDワークフローをサポートしています。 How to Build Your Backend with Hasura and PostgreSQL 展開オプション:
    • hasuraクラウド:
    最も簡単な生産展開。

    外部ホスティング:

    Heroku、Digital Ocean、Render、Azure、Kubernetes、AWS(より複雑な)。
    • nhost:postgreSQL、hasura、認証、ストレージを含むオールインワンBAASソリューション。
    • 概要:

      hasuraとpostgreSqlは、迅速なバックエンド開発のための強力な組み合わせを提供します。 コーディングの努力の削減、リアルタイム機能、堅牢な機能により、スケーラブルで保守可能なアプリケーションを構築するための魅力的なソリューションになります。 あらゆる面でいくつかの代替案ほど機能が豊富ではありませんが、その使いやすさ、パフォーマンスに焦点を当て、オープンソースの性質が重要な利点です。

      よくある質問(FAQS):(提供されたFAQは既に包括的でよく書かれています。変更は必要ありません。)

以上がhasuraとpostgresqlでバックエンドを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? Apr 04, 2025 pm 02:42 PM

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

javascriptの分解:それが何をするのか、なぜそれが重要なのか javascriptの分解:それが何をするのか、なぜそれが重要なのか Apr 09, 2025 am 12:07 AM

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

誰がより多くのPythonまたはJavaScriptを支払われますか? 誰がより多くのPythonまたはJavaScriptを支払われますか? Apr 04, 2025 am 12:09 AM

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

Shiseidoの公式Webサイトのように、視差スクロールと要素のアニメーション効果を実現する方法は?
または:
Shiseidoの公式Webサイトのようにスクロールするページを伴うアニメーション効果をどのように実現できますか? Shiseidoの公式Webサイトのように、視差スクロールと要素のアニメーション効果を実現する方法は? または: Shiseidoの公式Webサイトのようにスクロールするページを伴うアニメーション効果をどのように実現できますか? Apr 04, 2025 pm 05:36 PM

この記事の視差スクロールと要素のアニメーション効果の実現に関する議論では、Shiseidoの公式ウェブサイト(https://www.shisido.co.co.jp/sb/wonderland/)と同様の達成方法について説明します。

JavaScriptの進化:現在の傾向と将来の見通し JavaScriptの進化:現在の傾向と将来の見通し Apr 10, 2025 am 09:33 AM

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptを使用して、同じIDを持つArray要素を1つのオブジェクトにマージする方法は? JavaScriptを使用して、同じIDを持つArray要素を1つのオブジェクトにマージする方法は? Apr 04, 2025 pm 05:09 PM

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

JavaScriptエンジン:実装の比較 JavaScriptエンジン:実装の比較 Apr 13, 2025 am 12:05 AM

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

フロントエンド開発でVSCodeと同様に、パネルドラッグアンドドロップ調整機能を実装する方法は? フロントエンド開発でVSCodeと同様に、パネルドラッグアンドドロップ調整機能を実装する方法は? Apr 04, 2025 pm 02:06 PM

フロントエンドのVSCodeと同様に、パネルドラッグアンドドロップ調整機能の実装を調べます。フロントエンド開発では、VSCODEと同様のVSCODEを実装する方法...

See all articles