Partitioning



[dynamic datasource routing](https://texonom.com/dynamic-datasource-routing-4f44eb2e8ddc4742bfe1dd4ce6099ccf)


[sharding](https://texonom.com/sharding-f678160f9e5141ddaabb77cbffd7c7a3)




### Load balancing
> [Database의 파티셔닝(Partitioning)이란?](https://nesoy.github.io/articles/2018-02/Database-Partitioning)




## **Partitioning이란?**
- 큰 Table이나 인덱스를 관리하기 쉬운 단위로 분리하는 방법을 의미한다.



vertical partitioning 도 있다
일반적으로 read write

- Range 파티셔닝
> - 특정 기간 별로 파티션을 나눔
> - 주로 날짜조건 사용
- Hash 파티셔닝
> - Hash함수에 적용한 결과값이 같은 레코드별로 나눔
> - 변별력 좋고 데이터분포가 고른 컬럼을 선정해야 효과적
- List 파티셔닝
> - 사용자에 의해 미리 정해진 그룹핑 기준에 따라 분할
- 결합 파티셔닝
> - 위 파티션 기법을 조합하여 사용

- kind
> [대용량 처리를 위한 서비스 구성](https://jistol.github.io/architecture/2017/02/14/architecture-traffic-issue/)




