구성요소 | 설명 |
---|---|
샤드(Shard) | 데이터 일부 저장, 독립적 처리 가능 |
샤딩 키 | 분산 기준 필드(예: 사용자ID, 지역코드 등) |
라우터 | 요청을 올바른 샤드로 전달 |
메타데이터 서버 | 샤드 구성 및 분산 정보 관리 |
종류 | 설명 |
---|---|
해시 샤딩 | 샤딩 키 해시값으로 샤드 결정 |
범위 샤딩 | 샤딩 키 값의 범위로 샤드 결정 |
지리적 샤딩 | 지역/국가 등 지리적 기준으로 샤드 결정 |
원칙 | 설명 |
---|---|
균등 분포 | 샤딩 키 값이 샤드에 고르게 분포되도록 설계 |
변경 최소화 | 샤딩 키는 한 번 정하면 변경을 최대한 피해야 함 |
조회 효율성 | 샤딩 키 기반으로 빠른 조회가 가능해야 함 |
확장성 고려 | 샤드 수 증가 시에도 샤딩 키 분포가 유지되도록 설계 |
항목 | 내용 |
---|---|
정의 | 샤드 분산 기준이 되는 필드 |
관리 원칙 | 균등 분포, 변경 최소화, 조회 효율성 등 |
관리 방법 | 후보 분석, 분산 방식 선택, 정책 문서화 |
실무 팁 | 고유값 사용, 편중값 주의, 확장성 고려 |
최신 트렌드 | 자동 추천, 자동 마이그레이션 |
어린이 요약 | 데이터를 나눌 때 쓰는 이름표 |
구분 | 샤딩 적용 전 | 샤딩 적용 후 |
---|---|---|
확장성 | 제한적(Scale-up) | 무제한(Scale-out) |
장애 영향 | 전체 시스템 영향 | 일부 샤드만 영향 |
성능 | 단일 서버 한계 | 분산 처리로 성능 향상 |
장점 | 단점 |
---|---|
대용량 데이터 처리 가능 | 샤딩 키 설계가 어려움 |
시스템 확장성 우수 | 샤드 간 데이터 이동/통합 복잡 |
장애 격리 가능 | 트랜잭션 처리 복잡 |
항목 | 내용 |
---|---|
정의 | 데이터를 여러 서버에 분산 저장하는 기술 |
목적 | 성능 향상, 확장성 확보, 장애 격리 |
구성요소 | 샤드, 샤딩 키, 라우터, 메타데이터 서버 |
종류 | 해시, 범위, 지리적 샤딩 |
특징 | 수평 확장, 장애 격리, 성능 향상 |
장단점 | 처리 성능↑, 설계/운영 복잡성↑ |
최신 트렌드 | 자동 샤딩, 클라우드 기반, 자동 재조정 |