샤딩

yshjft·2022년 9월 6일
0

데이터베이스 

목록 보기
6/10

인덱싱과 샤딩

인덱싱

데이터의 빠른 검색을 위해 사용

샤딩

at 데이터베이스

  • 같은 테이블의 데이터를 다수의 데이터베이스에 분산하여 저장하는 방식으로 DB 트래픽의 분산을 목적으로 한다.

  • Modular sharding

    • PK를 모듈러 연산한 결과로 DB를 특정하는 방식
    • 데이터량이 일정 수준에서 유지도리 것으로 예상되는 데이터 성격을 가진 곳에 적용할 때 어울림
    • 데이터가 균일하게 분산된다.
    • DB를 증설하는 과정에서 이미 적재된 데이터의 재정렬이 필요
  • Range sharding

    • PK 범위를 기준으로 DB를 특정하는 방식
    • 데이터가 급격하게 증가할 여지가 있다면 좋은 선택
    • 증설에 재정렬 비용이 크지 않다.
    • 일부 DB에 데이터가 몰릴 수 있다.
      ex) 활성 유저가 몰린 DB로 트래픽이 몰릴 수 있다.

at Elasticsearch

작업을 여러 샤드에 분산 배치하고 병렬화함으로서 성능/처리량을 개선할 수 있다.

결론

작업 및 트랙픽을 분산함으로서 성능/처리량을 개선하기 위해 샤딩 사용한다.

참고

profile
꾸준히 나아가자 🐢

0개의 댓글