PostgreSQL, MySQL, SQLite, MongoDB 등 다양한 데이터베이스에 타입 안전한 접근을 제공하는 Node.js용 TypeScript ORM입니다.
graphile/crystal
Grafast 실행 엔진과 PostGraphile 자동 GraphQL API 빌더를 포함한 GraphQL 및 PostgreSQL 도구 모노레포입니다.
대체할 수 있는 제품:Hasura
- 스타
- 12,934
- 포크
- 631
- 열린 이슈
- 181
- 마지막 커밋
- 13시간 전
어떤 프로젝트인가요?
Graphile Crystal은 Graphile 프로젝트의 여러 패키지를 담은 모노레포로, 대부분 GraphQL과 관련되어 있습니다. 대표 프로젝트는 두 가지입니다. Grafast는 GraphQL.js의 계획 및 실행 엔진으로, execute 메서드를 대체해 바로 사용할 수 있습니다. PostGraphile은 PostgreSQL 데이터베이스에서 GraphQL API를 자동으로 생성합니다.
Grafast는 기존 resolver 대신 plan resolver를 사용하므로 GraphQL 요청의 선언적 구조를 활용해 비즈니스 로직을 더 효율적으로 실행할 수 있습니다. PostGraphile은 데이터베이스를 진실의 원천으로 삼으며, graphile-export를 사용해 나중에 직접 유지보수할 API의 출발점으로 활용할 수도 있습니다.
저장소에는 태그 템플릿 리터럴로 매개변수화된 PostgreSQL 쿼리를 작성하는 pg-sql2, 타입이 지정된 데이터베이스 인트로스펙션을 제공하는 pg-introspection, 플러그인과 프리셋 설정을 위한 graphile-config, 플러그인으로 GraphQL 스키마를 구성하는 graphile-build 등의 지원 라이브러리도 포함되어 있습니다. PostGraphile V4용 레거시 브랜치는 별도로 유지보수됩니다.
핵심 기능
- 01Grafast는 GraphQL.js에서 execute를 대체해 사용할 수 있는 계획 및 실행 엔진을 제공합니다.
- 02PostGraphile은 PostgreSQL 스키마에서 GraphQL API를 자동으로 생성합니다.
- 03plan resolver를 사용하면 엔진이 최적화할 수 있는 방식으로 비즈니스 로직을 선언할 수 있습니다.
- 04pg-sql2는 태그 템플릿 리터럴로 SQL 인젝션에 안전한 PostgreSQL 쿼리를 작성합니다.
- 05graphile-export는 동적으로 구성한 스키마를 일반 JavaScript 소스로 내보낼 수 있습니다.
활용 사례
- 효율적인 데이터 로딩이 필요한 GraphQL.js 기반 GraphQL 서버를 구축할 때.
- 기존 PostgreSQL 데이터베이스에서 GraphQL API를 바로 생성할 때.
- PostgreSQL을 바탕으로 API의 초안을 만들고 나중에 직접 커스터마이즈할 때.
- Node.js에서 타입 안전한 동적 PostgreSQL SQL 쿼리를 작성할 때.
사용 전 알아둘 점
- 여러 패키지가 포함된 모노레포이므로 README에 공통 설치 또는 실행 명령이 없습니다.
- PostGraphile V4는 이 메인 라인이 아닌 별도의 레거시 브랜치에 있습니다.
토픽
자주 묻는 질문
- crystal은(는) 무엇인가요?
- Grafast 실행 엔진과 PostGraphile 자동 GraphQL API 빌더를 포함한 GraphQL 및 PostgreSQL 도구 모노레포입니다. Graphile Crystal은 Graphile 프로젝트의 여러 패키지를 담은 모노레포로, 대부분 GraphQL과 관련되어 있습니다. 대표 프로젝트는 두 가지입니다. Grafast는 GraphQL.js의 계획 및 실행 엔진으로, execute 메서드를 대체해 바로 사용할 수 있습니다. PostGraphile은 PostgreSQL 데이터베이스에서 GraphQL API를 자동으로 생성합니다.
- crystal은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- crystal은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- crystal은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. crystal의 마지막 커밋은 2026년 10월 21일입니다.
- crystal은(는) 어디에 사용할 수 있나요?
- 효율적인 데이터 로딩이 필요한 GraphQL.js 기반 GraphQL 서버를 구축할 때. 기존 PostgreSQL 데이터베이스에서 GraphQL API를 바로 생성할 때. PostgreSQL을 바탕으로 API의 초안을 만들고 나중에 직접 커스터마이즈할 때. Node.js에서 타입 안전한 동적 PostgreSQL SQL 쿼리를 작성할 때.
- crystal은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/graphile/crystal
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Node.js, Bun, Deno 및 엣지 런타임에서 사용할 수 있는 PostgreSQL, MySQL, SQLite용 경량 헤드리스 TypeScript ORM입니다.
PostgreSQL, MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle, Db2를 지원하는 promise 기반 Node.js 및 TypeScript ORM입니다.
모든 SQL 데이터베이스에 즉시 REST·GraphQL API, 비주얼 관리 Studio, AI 에이전트용 네이티브 MCP 서버를 제공합니다.
PostgreSQL, MongoDB, SQL Server 같은 데이터베이스를 세밀한 접근 제어가 적용된 안전한 GraphQL API로 즉시 제공하는 오픈소스 엔진입니다.
기존 PostgreSQL 데이터베이스를 별도의 백엔드 코드 작성 없이 RESTful API로 제공하는 독립형 서버입니다.