샤딩 이란?
샤딩(Sharding) 이란 하나의 거대한 데이터베이스나 네트워크 시스템을
여러 개의 작은 조각으로 나누어 분산 저장하여 관리하는 것 을 말한다.
샤딩은 보통 전체 데이터베이스 하나의 테이블에 전부 들어가기 힘든 데이터가 등장하고 DBMS가 테이블을 관리하기 힘들어짐에 따라 적용하게 된다.
샤딩의 장단점
장점
- Scale-Out이 가능
- 스캔 범위를 줄여서 쿼리 반응 속도를 빠르게 함 ( 성능, 확장 향상 )
- 장애가 샤드 단위로 발생함
단점
- 프로그래밍 복잡도가 증가
- 데이터가 한 쪽 샤드로 몰릴 경우(Hotspot), 샤딩이 무의미 해짐
- 잘 못 사용할 경우 리스크가 큼
- 한번 샤딩 사용시 샤딩 이전의 구조로 돌아가기 어려움
- 다른 샤드끼리 join 할 수 없다
'개발 공부 > 개발 지식' 카테고리의 다른 글
| Nginx 란? (0) | 2023.07.18 |
|---|---|
| 자주 쓰는 Linux 명령어 (0) | 2023.07.18 |
| 프로그램 / 프로세스 / 스레드 / 멀티 스레드 (0) | 2023.07.18 |
| Eclipse에서 xml파일의 쓰임새 (2) | 2023.04.18 |
| 배치 ( Batch ) 와 스케줄러 ( Schduler ) Feat. Quartz (0) | 2023.04.17 |