강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

참참나무님의 프로필 이미지
참참나무

작성한 질문수

인프런 클론코딩 Part 1: Next.js와 NestJS로 시작하는 실전 프로젝트

prisma

작성

·

8

0

 모든 질문들은 슬랙 채널에서 답변드리고 있습니다.

💡 ”로펀의 인프런 상담소” 슬랙 채널 가입하기 💡

평일중에는 퇴근 이후(저녁 7시)에 답변을 받아보실 수 있고, 주말중에는 상시 답변드리고 있습니다.

 

User, Account, Session 같은 모델들은 @default(cuid())를 쓰시는데 Course, Section, Lecture 같은 커스텀 모델들은 @default(uuid())를 쓰시더라고요. 어떨때 cuid를 사용하고 어떨때 uuid를 사용하는지 궁금합니다.

추가적으로 데이터베이스나 Prisma가 처음이라 관련해서 학습을 하고싶은데
어떤 내용에 대해서 공부하면 좋을지 여쭤봅니다.
감사합니다!

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 참참나무님.

UUID와 CUID는 고유한 식별자를 생성하는 데 사용되는 두 가지 방법입니다. 각각의 장단점이 있으며, 주로 사용되는 상황은 다음과 같습니다.

  1. UUID(Universally Unique Identifier):

    • 범용성: 어디서나 고유할 수 있도록 설계되었습니다.
    • 길이: 좀 더 길고, 거의 완전한 무작위성으로 구성됩니다.
    • 사용 시점: 여러 시스템(특히 분산 시스템) 간의 데이터를 통합하거나, 데이터베이스 외부에 식별자를 노출해야 하고 다른 시스템에서도 생성해야 할 때 적합합니다.
  2. CUID(Chronologically Unique Identifier):

    • 시간 기반: 생성 시점에 따라 고유한 값을 갖도록 하며, 더 짧고 가독성이 좋습니다.
    • 효율성: 데이터베이스 내에서 식별자를 만드는 데 성능 면에서 유리합니다.
    • 사용 시점: 시스템 내부에서 식별자를 관리하거나 특정 시퀀스가 유지되어야 할 때 유리합니다.

각각의 방법을 선택하는 것은 프로젝트나 어플리케이션의 요구사항에 따라 다를 수 있습니다. 보통 데이터베이스에서 비교적 빠르게 삽입 속도가 필요하고, 시스템 내부에서 사용될 때 CUID가 선택되며, 다른 시스템과의 통합과 확장성이 요구될 때 UUID가 사용됩니다.

추가적으로 데이터베이스와 Prisma에 대한 기초를 다지고 싶으시다면, 다음을 추천드립니다:

  • 데이터베이스 설계 기본: SQL 문법, 인덱스, 조인, 정규화 등의 기초를 배우세요.
  • Prisma 공식 문서: Prisma를 어떻게 사용하고 설정하는지에 대한 정보를 제공합니다.
  • 데이터베이스 아키텍처: RDBMS와 NoSQL 데이터베이스의 차이점을 이해하세요.

댓글이나 슬랙 채널에서 질문을 이어나가 주시면 상세한 답변을 얻을 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

참참나무님의 프로필 이미지
참참나무

작성한 질문수

질문하기