일반적인 데이터 관계베이스에 이 그림이 익숙하신 분은 있을것이다.
One-> 식당 / 리뷰 표현하는 뷰 / 사용자를 위한 표가 필요합니다.
Then ->특정 식당에 대한 리뷰를 보려고 한다고 가정을 하면
Two -> 리뷰 표에서 식당 외부 키를 이용
WhY -> 특정 리뷰가 어떤 식당에 대한 것인지 보여주기 위해서
Three -> 나중에 식당 정보 화면을 보여주고 싶다면
- 식당표에서 식당에 대한 정보 + 리뷰표에서 리뷰 정보가 필요하다.
fourth -> 사용자 ID가 리뷰에 대한 사용자 외부 키과 사용자 ID가 동일한 사용자들을 확인하게 된다.
꽤 단순하게 말했지만 관련 데이터베이스는 각 데이터안에 있는 스키마를 일일이 서로 연결시켜서 가져오기가 개발자에게는 쉽지는 않다.
- 데이터 모델에 따라 값에 매핑되는 필드를 포함하는 문서에 데이터가 저장됩니다.
- 모든데이터가 한 공간에 준비 되어있다.
- 데이터베이스 읽기 작업이 매우 빨라진다.
- 아주 쉽게 여러 기계에 데이터를 배포할 수 있다.
NoSQL
-문서와 집합체로 되어있어 JSON 오브젝트와 유사하지만
이러한 삼층형 중첩 구조는 처음 시작할 때 어려움으로 다가올 수 있지만
트리 안에 일부 요소를 검색하면 자동으로 모든 사항을 검색해준다.
if) 리뷰어의 이름과 프로필 사진을 보고 싶을 때
모든 단일 리뷰에 대한 개별 데이터베이스 요청을 해야하는데
이렇게 하면 시간과 매번 요청해야 하는 작업이 번거롭다.
일단 개발을 처음하시는 분이라면
-처음에 일단 평혐한 SQL로 시작하여 최대한 해보고 , 차후에 나중에 필요하면 그때! NOSQL로 넘어가는 것을 추천한다.