데이터베이스 파티셔닝이란(Partitioning)
VLDB(Very large DBMS)
*전체 DB가 하나의 DBMS시스템에 다 들어가기 힘들어지는 경우
> 테이블 들을 여러 개의 군으로 나눠 분산 저장
* 하나의 테이블이 방대한 경우에는 사전방식과 같이 나눠 저장
파티셔닝
*DBMS 레벨 분할
샤딩
*DBMS 외부에서 분할 / 응용레벨에서 구별해야 함
데이터베이스 파티셔닝이란(Partitioning)
이점
* 데이터 전체 검색시 필요한 부분만 탐색해 성능 증가
*전체 데이터를 손실할 가능성이 줄어듦 -> 가용성향상
*파티션별 백업/복구 가능
*파티션 단위로 I/O 분산가능 -> 업데이트 성능 증가
방식
*범위(range) a-m/n-r/s-z
*해시(hash) 해시함수 파티션별로 크기를 비슷하게 나눔
*리스트(list) 특정한 컬럼을 기준
EX) Card 테이블에 연도 (CreationTime) 컬럼을 추가하고 파티셔닝하시오.
파티션 추가 와 삭제
파티션 분할 / 병합
>> 파시션을 하여 정보를 나누웠는데도 P3에 데이터가 많은 경우 P3을 P3 ,P4로 더욱 분할하는 경우
1 2 3 | ALTER TABLE Card REORGANIZE PARTITION p2,p3 INTO(PATITION p23 VALUES LESS THAN(2014)); | cs |
>> 파티션을 P2 , P3으로 만들었지만 데이터가 적어서 P23으로 병합하는 경우
데이터베이스 복제
*DBMS 의 내용을 복제해 동일한 DB내용을 유지
*두개 이상의 DBMS 시스템을 마스터 / 슬레이브로 나눠 마스터 DBMS
-> 슬레이브 DBMS로 sql쿼리 복제 (select 제외)
> 데이터 업데이트(CUD)는 마스터에서
> 읽기(R)는 슬레이브에서
*읽기 성능의 향상
EX) 유명 포털 사이트의 경우에 많은정보가 있기때문에 뉴스 기사를 본다고 하면 이와같은 방식으로
디비를 나눠어서 사용한다고 한다.