샤딩
내위키
Sharding.
데이터베이스를 수평으로 확장하는 기법 중 하나다.
데이터베이스의 능력을 확장하는 방법은 크게 수직적 방법과 수평적 방법이 있다. 수직적인 방법은 물리적인 서버의 개수는 그대로 두고 서버의 능력을 확장하는 것이다 즉 하드웨어 업그레이드 하든가 저장장치를 더 큰 것을 바꾸든가 하는 것이다. 반면 수평적인 확장 방법은 물리적인 서버의 갯수를 늘려서 서버의 부하를 분산시키는 방법이다. 수평적인 확장 방법은 다시 크게 두 가지 방법으로 나뉘는데 하나는 수직 파티셔닝(vertical partitioning)이고 다른 하나는 수평 파티셔닝 또는 샤딩이다. 둘 다 덩치 큰 하나의 테이블을 두 개 또는 그 이상으로 쪼개서 분산시키는 것이다.
예를 들어 고객 정보 테이블이 고객의 아이디, 이메일 주소, 우편 주소, 전화번호와 같은 정보를 담고 있다면 수직 파티셔닝은 이 중 우편 주소와 전화번호를 별도의 테이블로 분리시키는 것이다.