백엔드 개발자들에게 효율적이고 효과적으로 db를 유지보수 하는 일은 가장 중요하면서도 어려운 일 중에 하나이다.
Node.js와 TypeScript가 점점 더 인기가 상승하며 그에 따른 강력하고 사용하기 쉬운 ORM(Objext-Relational-Mapping)의 필요성도 대두되었다.
Prisma는 이러한 니즈를 충족시키기 위해 혜성과도 같이 등장한 ORM 이다.
Prisma는 2018년에 출시된 오픈소스 프로젝트이다. Prisma는 데이터베이스와 어플리케이션을 이어주는 다리의 역할을 한다.
데이터베이스의 테이블들을 어플리케이션 코드 내에서 활용할 수 있도록 Object로 변환 시켜주어 어플리케이션 레벨에서 데이터베이스를 더욱 더 쉽게 관리할 수 있도록 도와준다.
하지만 Prisma가 단순히 변환의 기능만 해줬다면 차세대 ORM으로서 주목 받지는 않았을 것이다.
Prisma가 차세대 ORM으로 주목받는 이유를 알아보자.
Prisma는 사용자의 데이터베이스 Schema에 기반하여 type-safe 쿼리 API를 자동으로 생성해 준다. 이러한 기능은 TypeScript와 같이 사용자가 흔히 저지를 수 있는 type-error를 방지하게 해준다.
Prisma의 가장 큰 특징 중 하나가 바로 사용 편리성이다. Prisma는 개발자들이 복잡한 쿼리들을 직관적이고 편리하게 사용할 수 있도록 도와준다. 또한, VSCode의 Prisma 익스텐션과 같은 외부 IDE의 기능들을 지원하여 자동완성이나 syntax 하이라이트 같은 기능들을 제공한다.
Prisma는 PostgreSQL, MySQL, SQLite, MongoDB 와 같이 대표적으로 많이 쓰이는 SQL과 NoSQL을 지원해준다.
Migration은 데이터베이스 관리의 중요한 부분을 차지한다. Prisma는 자체적으로 지원되는 Prisma Migrate를 통해, 이를 간편하게 할 수 있도록 도와준다.
이처럼 Prisma는 단순히 데이터베이스와 어플리케이션을 연결해주는 다리의 역할을 넘어 개발자가 쉽고 간편하게 하지만 강력하게 데이터베이스를 관리하고 사용할 수 있도록 도와준다.
이러한 이유들이 Prisma가 차세대 ORM으로 주목받는 이유이다.