본문 바로가기
프로젝트

db 선택

by 해룸 2024. 3. 27.

요구사항

1. 스키마가 고정되어있나요? - 고정되어있다고 볼수있나?

2. 그렇게 빠른 속도를 요하나요? - 아님

3. 많은변화예상: 팔로우/언팔로우 기능

4. 스크래핑해온 정보들

- 작품(제목, 내용, 작가이름, 별점, 작품에 대한 리뷰, 플랫폼)

=> 여러곳에서 스크래핑 해오니 어디에는 이런 정보가 있을거고, 어디에는 이런 정보가 없을수도 있음(키워드?) 

5. 우리는 분석적/일관성 있는 데이터 저장이 필요한가?

 

<<DB 선택을 어떻게 할것인가?>>

1. 몽고디비
대용량 데이터 처리에 유리
고성능, 고가용성 및 쉬운 확장성 제공
NoSQL, Document 지향 데이터베이스
json 과 binary json 으로 저장함

장점:
스키마리스디자인?/ 희소한 데이터소스 또는 변경되는 데이터 모델을 갖는 곳에서 유리
수평적확장에 뛰어남
단점:
안정성?
써야할데이터의 양이많으면 감당이 안됨?
1) 데이터 포맷은 크게 신경 쓰지 않고 일단 때려 담을 수 있으며
2) 쉽게 새로운 서버를 옆에 팍팍 붙여서 확장할 수 있고
3) 엄청난 빈도로 읽기/쓰기 연산을 해도 performance에 큰 문제가 없어야 하는 경우

prisma
정규화하는 방법을 써서 id로 연결을 하게했음
typeorm 
정규화도 되고, 비정규화도 가능해서
모델 전체를 붙여넣어버리던지, id만 보이게 하던지 둘다 가능했음

>> id로만 연결했다면, query한번으로 끝날작업으로 3단계로 나눠서 하게 되는 경우가 있음
=> 이거 자체가 db서버에 과부화 줄수있고, 페이지 로딩속도가 느려질수있음

https://dev.gmarket.com/32

 

'프로젝트' 카테고리의 다른 글

퍼펫티어를 이용한 크롤링(1)  (0) 2024.04.11
최종프로젝트  (0) 2024.04.09
To-DuBu: KPT 회고록  (0) 2024.03.25
트렐로) 팀 프로젝트 기록  (0) 2024.03.18
프로젝트 회고  (0) 2024.02.15