참고 자료 : https://nesoy.github.io/articles/2018-05/Database-Shard
DB 파티셔닝(Partitioning)의 종류
1. 수평(horizontal) 파티셔닝
하나의 테이블의 각 행을 다른 테이블에 분산시키는 것이다.
- 개념
샤딩(Sharding) 과 동일한 개념
스키마(schema)를 복제한 후 샤드키를 기준으로 데이터를 나누는 것을 말한다.
즉, 스키마(schema)가 같은 데이터를 두 개 이상의 테이블에 나누어 저장하는 것을 말한다.
샤딩(Sharding)이란?

- 같은 테이블 스키마를 가진 데이터를 다수의 데이터베이스에 분산하여 저장하는 방법을 의미합니다.
application level
에서도 가능하지만 database level에서도 가능합니다.
Horizontal Partitioning
이라고 볼 수 있습니다.
→ Hash Sharding, Dynamic Sharding, Entity Group
2. 수직(vertical) 파티셔닝
테이블의 일부 열을 빼내는 형태로 분할한다.
- 개념
모든 컬럼들 중 특정 컬럼들을 쪼개서 따로 저장하는 형태를 의미한다.
스키마(schema)를 나누고 데이터가 따라 옮겨가는 것을 말한다.
하나의 엔티티를 2개 이상으로 분리하는 작업이다.