- sharding
- 큰 데이터를 여러 서브셋으로 나누는 기술
- 서브셋을 여러 인스턴스에 저장
- 쿼리를 여러 인스턴스에서 분산해 처리해서 성능과 확장성 확보
- 쿼리에 적절한 샤드키가 포함되지 않는다면, 모든 노드에 쿼리를 요청하게 되므로, 타겟 쿼리를 하도록 처리해야 함
- 샤드키를 잘못 선정해 데이터가 한 쪽에 치우치면 샤딩을 한 의미가 사라짐
- partitioning
- 큰 데이터를 여러 서브셋으로 나누는 기술
- 서브셋을 하나의 인스턴스의 여러 테이블에 저장
- 데이터를 여러 테이블에 나눠 저장하는 것 만으로도 인덱스의 크기가 줄어들기때문에 성능을 확보할 수 있음
- 테이블이 많이 큰 경우 인덱스를 파편화해서 메모리 효율을 올릴 수 있음