hyeonkimmm / gift-data-backend-repo

gift project - naver shopping data etl, backend process code repo
2 stars 0 forks source link

Firestore NoSQL 구조 설계 고민 #5

Open hyeonkimmm opened 2 years ago

hyeonkimmm commented 2 years ago

처음 NoSQL DB를 사용하다 보니 데이터를 어떻게 저장해야 효율적인지 고민했다.

hyeonkimmm commented 2 years ago

image NoSQL 은 문서를 새로 추가하는데에 적합하기 때문에 확장성이 떨어지는 위와 같은 구조는 사용하지 않기로 함.

image 가장 이번 프로젝트와 잘 맞는다고 판단. firestore는 컬렉션 - 문서, 문서 - 컬렉션 순으로 중첩해서 사용할 수 있는 장점이 있으므로 위와 같이 계층구조를 바탕으로 데이터를 저장하기가 편리하다고 생각함. 날짜별로 데이터를 계속 추가하기 때문에 확장성이 뛰어난 NoSQL 데이터베이스의 효과를 충분히 볼 수 있음 직관적임

image 루트 수준 컬렉션은 다대다 관계에 적합하지만 우리 앱의 현재 상황으로는 이렇게 복잡하게 데이터베이스를 구축할 필요가 없는 듯 보임.

hyeonkimmm commented 2 years ago

image

  1. python 에서는 스네이크 케이스를 이용하지만 swift에서는 캐멀 케이스를 이용함.
  2. iOS에서 json을 파싱할 때 언더바가 있으면 파싱할때 불편하다고 함. -> 캐멀 케이스로 변경
  3. 아래와 같이 Key값에 " " 가 있는게 있고 없는게 있다고 하는데, 나는 다 통일한 것 같은데,, 어쨌든 이 부분도 추가로 검토해서 DB 설계하며 테스트를 해야 함. image
hyeonkimmm commented 2 years ago

DB 설계 결과(1차)