Prisma

Park Choong Ho·2020년 1월 14일
0
post-thumbnail

최근 개발하는 개인 프로젝트에서 Prisma를 사용하기로 했습니다. 그동안 REST API위주로 개발을 해왔는데 GraphQL로 처음 개발을 하기로 다짐했습니다. GraphQL 관련된 포스트는 추후에 다루기로 하고 이 시리즈에서는 Prisma에 대해 다루어 보겠습니다.

What is Prisma?

Prisma는 ORM(Object-Relational Mapping, 객체 관계 연결)입니다. Prisma는 어플리케이션에서 요청하는 모델을 graphql로 정의할 수 있다는 장점을 가지고 있습니다. Prisma는 전통적인 ORM들을 대체하고 데이터 베이스들의 workflow를 간단하게 만들어줍니다. workflow는 총 3가지 측면에서 장점을 가집니다.

  • Access: Type-safe database access with the auto-generated Prisma client (in JavaScript, TypeScript, Go)
  • Migrate: Declarative data modelling and migrations (optional)
  • Manage: Visual data management with Prisma Admin

Prisma는 GraphQL, REST, gRPC 같은 API를 만드는데 많이 활용되며 MySQL, PostgreSQL, MongoDB등을 지원합니다.

Use cases

Prisma는 데이터베이스를 활용하는 프로젝트에 유용합니다.

Building GraphQL servers

Prisma는 GraphQL 서버를 구축하는데 있어 완벽한 툴입니다. Prisma는 Apollo ecosystem과 호환되며 GraphQL을 default로 지원합니다.

Building REST & gRPC APIs

Prisma는 전통적인 ORM들을 대체합니다. 이를 활용하여 REST & gRPC APIs를 구축할 수 있습니다. type-safety에 좋고 관계형 데이터를 읽고 쓰느데 유연한 방법들을 제공합니다.

CLIS, Scripts, Serverless Funtions & a lot more

Prisma는 다양한 상황에서 활용할 수 있는 유연한 API를 제공합니다. 만약 여러가지 데이터베이스와의 연결을 고려한다면, Prisma는 database workflow를 간단히 함으로써 큰 도움을 제공할 것입니다.

profile
백엔드 개발자 디디라고합니다.

0개의 댓글