> 웹 프론트엔드 > JS 튜토리얼 > Hasura 및 Postgresql로 백엔드를 구축하는 방법

Hasura 및 Postgresql로 백엔드를 구축하는 방법

William Shakespeare
풀어 주다: 2025-02-09 09:22:13
원래의
871명이 탐색했습니다.

How to Build Your Backend with Hasura and PostgreSQL 강력한 백엔드 구축에는 종종 CRUD 운영, 승인 및 비즈니스 로직 (시간 소비 프로세스)에 대한 광범위한 코딩이 포함됩니다. 이 기사는 Hasura와 PostgreSQL이 백엔드 개발을 간소화하는 방법을 살펴보고 최소한의 코딩 노력으로 더 빠른 앱 시작을 가능하게합니다. 오픈 소스 GraphQL 엔진 인 Hasura는 데이터베이스 스키마에서 GraphQL 및 REST API를 자동으로 생성합니다. 데이터 모델링, 실시간 쿼리, 이벤트 프로그래밍, 역할 기반 인증 및 Custom Business Logic 실행을 지원합니다. 강력한 오픈 소스 관계형 데이터베이스 인 PostgreSQL은 Oracle 및 Microsoft SQL Server와 비슷한 엔터프라이즈 수준의 기능을 제공하므로 대규모 응용 프로그램을위한 안정적인 선택입니다. Netflix 및 Spotify와 같은 회사의 사용은 그 기능을 강조합니다. Hasura는 다른 데이터베이스를 지원하지만이 기사는 접근성 및 오픈 소스 특성으로 인해 PostgreSQL에 중점을 둡니다. MySQL 지원이 계획되어 있습니다.

이 안내서는 웹 및 모바일 앱을위한 확장 가능한 백엔드를 구축하기위한 Hasura의 기능을 강조합니다. 또한 SQL을 통해 액세스 한 PostgreSQL의 기능이 복잡한 계산 및 분석을 수행하여 사용자 정의 서버 측 코드의 필요성을 줄일 수있는 방법을 보여줍니다. 주요 장점 :

빠른 백엔드 개발 : Hasura의 자동 생성 API는 코딩 시간을 크게 줄입니다.

PostgreSQL Power :

PostgreSQL의 고급 기능 (테이블 상속, 동시성 제어, JSON/공간 데이터 유형)을 활용하여 향상된 데이터 무결성 및 성능. 실시간 기능 :

Hasura의 실시간 쿼리, 이벤트 프로그래밍 및 역할 기반 인증이 반응이 높은 응용 프로그램을 만듭니다. 쉬운 배포 : 모니터링 및 캐싱과 같은 기능을 갖춘 확장 가능하고 안전하며 전 세계적으로 분산 된 애플리케이션을 위해 Docker를 사용하여 Hasura를 배포하십시오. 종합 웹 콘솔 :

Hasura의 직관적 인 웹 콘솔 내 데이터 모델링, CRUD 작업 및 복잡한 쿼리 관리. 인증 및 파일 스토리지 제공 업체와 통합

간소화 된 워크 플로 : Hasura의 마이그레이션 도구 및 환경 준비를 활용하여 개발과 생산 사이의 원활한 전환을 위해 CI/CD를 지원합니다.

Postgresql을 선택하는 이유는 무엇입니까? PostgreSQL과 같은 관계형 데이터베이스는 스키마 모델링, 조인 작업 및 산 트랜잭션을 포함한 다른 데이터베이스 유형에 비해 이점을 제공합니다. Postgresql은 다음과 같이 탁월합니다

    테이블 상속 :
  • 효율적인 데이터 모델링. 고급 동시성 제어 : 다중 사용자 환경에서 대량 데이터를 효과적으로 작성합니다. 결함 허용 오류 및 데이터 무결성 : 데이터 손상 위험 감소 고유 한 데이터 유형 :
  • 는 다양한 애플리케이션에 유리한 JSON 및 공간 데이터 유형을 지원합니다.
  • PostgreSQL은 또한 계산 서버 역할을하여 사용자 정의 기능을 실행하고 분석 작업에 대한 트리거를 실행하여 별도의 서버 측 코드가 필요하지 않습니다. 이것은 다음을 사용하여 달성됩니다 : 뷰 :
  • 복잡한 쿼리를 단순화합니다
  • 기능 및 연산자 : 날짜 형식, 패턴 매칭 및 산술 연산 수행. 확장 : PostgreSQL의 기능 (예 : postgis) 절차 언어 :
  • 사용자 정의 함수 및 저장 절차 (예 : PL/PGSQL).
  • Hasura는 GraphQL을 통해이 Postgresql 로직을 노출시켜 Frontend 응용 프로그램에 쉽게 액세스 할 수 있도록합니다.
  • PostgreSQL 예제 :
예제 1 (온라인 사용자보기) : 현재 활성 사용자를 검색하려는보기 :

    예제 2 (postgis가있는 지리적 위치) :
  • 반경 1000 미터 내에서 매장을 찾으십시오 :
  • hasura는 무엇입니까?
  • Hasura는 데이터베이스에 API를 생성하는 오픈 소스 실시간 그래프 QL 엔진입니다. 웹 콘솔은 다음을 허용합니다 스키마 모델링 :
  • 테이블 생성, 관계 정의 및 데이터 관리 CRUD 작업 :
  • 작성, 읽기, 업데이트 및 삭제 수행 역할 기반 액세스 제어 : 세분화 권한을 구현하십시오 GraphQL/REST 엔드 포인트 생성 :
  • 데이터에 대한 API를 생성합니다 SQL 실행 :
  • RUNCENT SQL 쿼리 작업 및 트리거 정의 : 작업을 자동화하고 이벤트를 처리합니다
참고 : Hasura는 별도의 인증 제공 업체 (예 : Auth0, Firebase) 및 파일 스토리지 서비스와 통합해야합니다. Nhost는 통합 솔루션을 제공합니다 hasura 발사 :

    docker :
  • 는 현지 개발에 권장되며, 쉽게 설정하고 속도 제한이 없음을 제공합니다. Hasura Cloud : 모니터링 및 캐싱 기능을 포함한 확장 성, 보안 및 글로벌 배포로 배포를 단순화합니다. 제한 사항이있는 무료 계층을 사용할 수 있습니다
  • Hasura 기능 (자세한 개요) :
  • Data Manager : 테이블 작성, 관계 정의 및 데이터 유형 관리 (JSON 및 사용자 정의 유형 포함)를위한 Visual Schema Designer. 승인 : 삽입, 선택, 업데이트 및 삭제에 대한 세분화 된 권한이있는
  • 역할 기반 액세스 제어.
쿼리 : 다양한 GraphQL 쿼리 (단순, 중첩, 집계, 필터링)를 콘솔 내에서 직접 실행합니다.

돌연변이 : How to Build Your Backend with Hasura and PostgreSQL 트랜잭션을 지원하여 삽입, 업 서트, 업데이트 및 삭제 수행. 구독 :

websockets를 통해 GraphQL 가입을 사용하여 실시간 데이터 업데이트 구현. 원격 스키마 :

데이터 및 논리에 대한 타사 API와 통합. 행동 : 모든 프로그래밍 언어를 사용하여 Webhooks를 통해 사용자 정의 비즈니스 로직을 실행하십시오. 이벤트 트리거 : 데이터베이스 이벤트를 기반으로 webhooks를 호출합니다 (삽입, 업데이트, 삭제). 수동 호출을 지원합니다. 예정된 트리거 :

webhooks를 통해 주기적으로 (Cron) 또는 한 번 (일회성) 작업을 실행합니다.
    마이그레이션 및 환경 :
  • 데이터베이스 및 Hasura 메타 데이터를 사용하여 스키마 변경 CI/CD 워크 플로우를 지원합니다. 배포 옵션 : How to Build Your Backend with Hasura and PostgreSQL
  • Hasura Cloud : 가장 쉬운 생산 배포.
  • 외부 호스팅 : Heroku, Digital Ocean, Render, Azure, Kubernetes, AWS (더 복잡한). nhost : postgresql, hasura, 인증 및 스토리지를 포함한 올인원 BAAS 솔루션. 요약 : Hasura와 PostgreSQL은 빠른 백엔드 개발을위한 강력한 조합을 제공합니다. 감소 된 코딩 노력, 실시간 기능 및 강력한 기능은 확장 가능하고 유지 관리 가능한 응용 프로그램을 구축하기위한 강력한 솔루션입니다. 모든 측면에서 일부 대안만큼 기능이 풍부하지는 않지만, 사용 편의성, 성능에 초점을 맞추고 오픈 소스 특성이 중요한 이점입니다.

    자주 묻는 질문 (FAQ) :

    (제공된 FAQ는 이미 포괄적이고 잘 작성되어 있으며 수정이 필요하지 않습니다.)

위 내용은 Hasura 및 Postgresql로 백엔드를 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿