노드 A
1 ~ 2500
이 범위의 사용자 행만 저장하고 처리한다.
샤딩은 하나의 큰 테이블을 샤드 키 기준으로 가로로 나눠, 각 노드가 서로 다른 행 범위만 맡게 만드는 수평 분할이다.
논리적으로는 여전히 하나의 user 테이블
열 구조는 그대로 두고, 같은 테이블의 행 묶음만 여러 노드로 나눈다. 그래서 샤딩은 수평 분할이다.
애플리케이션이나 라우터는 어느 범위를 담당하는 샤드인지를 보고 해당 노드로 읽기·쓰기를 보낸다.
이 범위의 사용자 행만 저장하고 처리한다.
같은 스키마를 유지하지만 담당 행 구간은 다르다.
전체 데이터의 일부만 맡으므로 저장 부담이 분산된다.
노드를 더 늘리면 더 많은 행 구간을 나눠 맡길 수 있다.
운영 의미
저장 공간과 쓰기 부하를 여러 노드에 분산해, 한 대로 감당하기 어려운 데이터를 수평 확장할 수 있다.
복제와의 차이
복제는 같은 데이터를 여러 노드에 복사하지만, 샤딩은 서로 다른 조각을 나눠 맡긴다.