Skip to content

Latest commit

 

History

History
13 lines (12 loc) · 900 Bytes

sharding-partitioning.md

File metadata and controls

13 lines (12 loc) · 900 Bytes

sharding vs. partitioning

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