큰 Table이나 인덱스를 관리하기 쉬운 단위로 분리하는 방법
vertical partitioning 도 있다
일반적으로 read write
- Range 파티셔닝
- 특정 기간 별로 파티션을 나눔
- 주로 날짜조건 사용
- Hash 파티셔닝
- Hash함수에 적용한 결과값이 같은 레코드별로 나눔
- 변별력 좋고 데이터분포가 고른 컬럼을 선정해야 효과적
- List 파티셔닝
- 사용자에 의해 미리 정해진 그룹핑 기준에 따라 분할
- 결합 파티셔닝
- 위 파티션 기법을 조합하여 사용
DB Partitioning Usages
Load balancing
Database의 파티셔닝(Partitioning)이란?
서비스의 크기가 점점 커지게 되면서 다양하고 많은 Table들이 존재하게 되었다. VLDB(Very Large DBMS) 전체 DB가 하나의 DBMS에 다 들어가기 힘들어지는 DBMS 이 자연스럽게 등장하였고 하나의 DBMS가 많은 Table을 관리하다 보니 느려지는 이슈가 발생하게 되었다. 이러한 이슈를 해결하기 위한 하나의 방법이 바로 파티셔닝(Partitioning)이다. 큰 Table이나 인덱스를 관리하기 쉬운 단위로 분리하는 방법을 의미한다.
https://nesoy.github.io/articles/2018-02/Database-Partitioning

kind
대용량 처리를 위한 서비스 구성
일반적인 서비스 구성이 위와 같은 상황에서 Client가 늘어날 경우 웹 서버나 DB서버에서 병목현상이 발생할 수 있으며 병목지점별로 해결 방안이 필요합니다. Web서버가 stateless한 구조일 경우 아래와 같이 다수의 Web서버를 두어 부하를 분산 시킬 수 있습니다.
https://jistol.github.io/architecture/2017/02/14/architecture-traffic-issue/


Seonglae Cho