: 인프라 장비의 개수를 늘리지 않고 내부 부품을 더 좋은 부품으로 업그레이드
RDBMS에 더 유리
JOIN : 분리된 데이터 집합(table)을 다시 유의미한 하나로 만드는 작업
-> 만약 2 table을 join하는데 A table은 1번 서버, B table은 2번 서버에 있다면 Network 통신이 필요함 (비효율적)
: 인프라 장비의 내부 부품보다는 장비의 개수를 늘리는 작업
NoSQL에 더 유리
RDBMS의 JOIN은 없다
최대한 자기완결적인 데이터로 저장, 관리
-> 위 두가지를 혼합하여 일반적으로 대응
커다란 덩어리의 데이터를 분할하고 정제해서 데이터 관리의 목표를 획득한다.
커다란 덩어리의 데이터를 최대한 자기 완결적인 데이터로 구성해서 데이터 관리의 목표를 획득한다.
MongDB에는 조인이 없어서 그래서 사원에 모든 관련 정보(휴가 등)를 넣어야 됨.
휴가라는 것에 접근을 할 때 사원을 먼저 찾고 휴가를 찾아야 함.
(RDBMS는 휴가를 먼저 접근할 수 있음)
이러면 비대해지게 됨.
닉네임을 바꾼다면?
$lookup으로 조인 같이 흉내는 낼 수 있음
만약 닉네임을 바꾼다면 이전 닉네임은 바뀌지 않아서 서로 다른 사람처럼 보이는 현상이 발생함.
이런 경우 하나하나 바꿔주는 수 밖에 없음
조인이 자주 필요하면 MongoDB와 어울리지 않음.