비교 | Sharding | Query off loading |
개념 | 분리된 데이터베이스에 데이터를 독립적으로 관리하는 기술 | 조회 트랜잭션과 쓰기 트랜잭션의 분리 Master, Slave간에 복제를 통해 데이터는 동일하지만 하는 행위가 틀림 |
목적 | 데이터베이스 용량 한계 극복 | 데이터베이스 성능 향상 기법 |
구성요소 | 샤드 : 분산된 DB | Master DB: 쓰기 트랜잭션 Staging Db : Master와 Slave DB 연계 Slave DB : 읽기 트랜잭션 |
분리 기준 | 데이터 베이스 자체를 분리 | 트랜잭션 분리(조회,쓰기 분리) |
주요기술 | 수직적 샤팅 : 데이터 범위별 분리 수평적 샤팅: 데이터 분류별 분리 |
데이터 복제 시 CDC(Chagne Data Capture)기술 이용 Load Balancing : Slave 데이터 조회 시 |
구현방법 | 3가지 방법이 존재 :DBMS 자체, DB접근 프레임워크, 어플리케이션 | 어플리케이션에서 구현 (MaxScale이라는 미들웨어 사용) |