[크래프톤 정글 3기] 1/16(화) TIL

ClassBinu·2024년 1월 16일
0

크래프톤 정글 3기 TIL

목록 보기
91/120

09: 39입실
거의 기절함..
DB설계하고 프로젝트 세팅하기!

Data Modeling

설계 절차

업무 파악 -> 개념적 데이터 모델링 -> 논리적 데이터 모델링 -> 물리적 데이터 모델링

ERD

MySQL vs MongoDB

DB 선택을 위한 학습
https://www.youtube.com/watch?v=bluQwqMgTsw

MongoDB

  • 중첩된 데이터를 취급할 때는 MongoDB 강점
    (객체 안에 객체)
  • 여러 도큐멘트를 합칠 때도 동적 스키마로 인한 강점
  • 외래키 지원 안 됨(단, ObjectId로 우회적으로 적용)
  • 기본키 자동 설정
  • MongoDB가 CRUD 성능이 높음.
    - 10,000개 이상 insert작업 시 80배 빠름
    • select는 20ms 높음
    • sub select는 10,000개 이상 시 4배 이상
  • update는 mongoDB가 30ms 느림
  • delete는 mongoDB가 10ms 느림
    - 단, 조건 기반 delete는 mongoDB가 더 빠름
  • mongoDB는 65,000개 이상 열린 연결 처리 가능
  • MySQL은 기본적으로 151개 연결 사용
  • MongoDB는 CPU를 더 사용함.

https://www.youtube.com/watch?v=3axR2Onz1nU

전체적인 성능이 10만 개 이상 부터 격차가 매우 큼(20배 이상)

MongoDB

참조보다는 임베드

몽고디비는 일반적으로 참조보다는 임베드를 활용한다.
만약 한 페이지에서 게시글과 댓글을 보여준다면,
하나의 문서에 게시글과 댓글을 저장하는 게 좋다.
단, 중첩이 너무 깊으면 검색에 시간이 오래 걸린다.

one-one 관계에서는 임베드
one-many 관계에서는 임베드
many-many 관계에서는 참조

용량

문서는 16mb 최대

레퍼런스

Node

팀원 윈도우즈에서 nest 실행이 안 됨.
혹시나 해서 노드 21버전을 20으로 바꾸니까 됨.

Github

Branch protection rule

0개의 댓글