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