파티셔닝

    [대규모서비스] 분산

    웹 어플리케이션 요청은 로드밸런서를 거쳐 AP서버에 도달하고 DB의 I/O작업을 발생시킨다. 서버에 부하가 생길 때 1. AP서버는 CPU부하 위주이고 데이터를 분산하여 저장하지 않기 때문에 단순 서버 추가 증설으로 부하를 분산할 수 있다. 2. DB의 경우 I/O부하 위주이고 데이터를 동기화시켜야한다는 문제가 있어 확장이 쉽지 않다. 또한 단순 증설을 해도 캐싱되지 않는 구간은 똑같이 캐싱되지 않을 확률이 높기 때문에 효율이 좋지 않다. 캐싱은 블럭 단위로 진행된다. DB는 기본적으로 디스크에 데이터를 저장하게 되므로 느린 디스크 I/O작업을 줄이기위해 메모리에 캐싱할 수 있게 환경을 구성하는 것이 중요하다. DB분산을 위한 파티셔닝 데이터 액세스 패턴을 고려하여 분산하는 것을 locality/국소성을..