요구사항
1. 스키마가 고정되어있나요? - 고정되어있다고 볼수있나?
2. 그렇게 빠른 속도를 요하나요? - 아님
3. 많은변화예상: 팔로우/언팔로우 기능
4. 스크래핑해온 정보들
- 작품(제목, 내용, 작가이름, 별점, 작품에 대한 리뷰, 플랫폼)
=> 여러곳에서 스크래핑 해오니 어디에는 이런 정보가 있을거고, 어디에는 이런 정보가 없을수도 있음(키워드?)
5. 우리는 분석적/일관성 있는 데이터 저장이 필요한가?
<<DB 선택을 어떻게 할것인가?>>
1. 몽고디비
대용량 데이터 처리에 유리
고성능, 고가용성 및 쉬운 확장성 제공
NoSQL, Document 지향 데이터베이스
json 과 binary json 으로 저장함
장점:
스키마리스디자인?/ 희소한 데이터소스 또는 변경되는 데이터 모델을 갖는 곳에서 유리
수평적확장에 뛰어남
단점:
안정성?
써야할데이터의 양이많으면 감당이 안됨?
1) 데이터 포맷은 크게 신경 쓰지 않고 일단 때려 담을 수 있으며
2) 쉽게 새로운 서버를 옆에 팍팍 붙여서 확장할 수 있고
3) 엄청난 빈도로 읽기/쓰기 연산을 해도 performance에 큰 문제가 없어야 하는 경우
prisma
정규화하는 방법을 써서 id로 연결을 하게했음
typeorm
정규화도 되고, 비정규화도 가능해서
모델 전체를 붙여넣어버리던지, id만 보이게 하던지 둘다 가능했음
>> id로만 연결했다면, query한번으로 끝날작업으로 3단계로 나눠서 하게 되는 경우가 있음
=> 이거 자체가 db서버에 과부화 줄수있고, 페이지 로딩속도가 느려질수있음
'프로젝트' 카테고리의 다른 글
퍼펫티어를 이용한 크롤링(1) (0) | 2024.04.11 |
---|---|
최종프로젝트 (0) | 2024.04.09 |
To-DuBu: KPT 회고록 (0) | 2024.03.25 |
트렐로) 팀 프로젝트 기록 (0) | 2024.03.18 |
프로젝트 회고 (0) | 2024.02.15 |