맨날 까먹네!! 둘의 간단한 개념과 차이를 알아가자
의미
데이터를 논리적으로 분리하여 데이터베이스나 테이블 내부에서 관리하는 것을 의미한다.
데이터는 여전히 한 데이터베이스 안에 존재한다.
사용 목적
종류
예시
1월~3월
, 4월~6월
등으로 나누어 저장한다.의미
데이터를 물리적으로 분리하여 여러 데이터베이스에 저장하는 것을 의미한다.
데이터는 다수의 데이터베이스 서버에 분산된다.
사용 목적
종류
예시
User ID
를 기준으로 데이터베이스를 3개로 나누어,
1~1000번
: 서버 A,1001~2000번
: 서버 B,2001~3000번
: 서버 C에 데이터를 저장한다.구분 | 파티셔닝 | 샤딩 |
---|---|---|
데이터 위치 | 한 데이터베이스 내에서 논리적으로 분리한다. | 여러 데이터베이스에 물리적으로 분리한다. |
목적 | 데이터 정리 및 쿼리 최적화를 위해 사용한다. | 데이터베이스의 스케일 아웃과 확장을 위해 사용한다. |
복잡도 | 비교적 간단하다. | 관리와 설계가 더 복잡하다. |
사용 사례 | 대규모 테이블을 관리할 때 사용한다. | 대규모 트래픽 및 데이터를 처리할 때 사용한다. |