메뉴 건너뛰기

조회 수 4262 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

데이터베이스 파티셔닝이란(Partitioning)


VLDB(Very large DBMS)

*전체 DB가 하나의 DBMS시스템에 다 들어가기 힘들어지는 경우 

 > 테이블 들을 여러 개의 군으로 나눠 분산 저장 

* 하나의 테이블이 방대한 경우에는 사전방식과 같이 나눠 저장 


파티셔닝

*DBMS 레벨 분할


샤딩

*DBMS 외부에서 분할 / 응용레벨에서 구별해야 함



데이터베이스 파티셔닝이란(Partitioning)


이점

* 데이터 전체 검색시 필요한 부분만 탐색해 성능 증가

*전체 데이터를 손실할 가능성이 줄어듦 -> 가용성향상

*파티션별 백업/복구 가능

*파티션 단위로 I/O 분산가능 -> 업데이트 성능 증가 


방식

*범위(range) a-m/n-r/s-z

*해시(hash) 해시함수 파티션별로 크기를 비슷하게 나눔

*리스트(list) 특정한 컬럼을 기준





EX) Card  테이블에 연도 (CreationTime) 컬럼을 추가하고 파티셔닝하시오.


1
2
3
4
5
6
7
8
create table businessCard(ID INT NoT Null, Name varchar(255), Address varchar(255) ,
 Telephone varchar(255) , CreateTime DATE)
 
PARTITION BY RANGE(YEAR(CreationTime)) (
PARTITION p0 VALUES LESS THAN(2013),
PARTITION p1 VALUES LESS THAN(2014),
PARTITION p2 VALUES LESS THAN(2015),
PARTITION p3 VALUES LESS THAN MAXVALUE);  
 
cs




파티션 추가 와 삭제 


 

1
2
3
4
 
ALTER TABLE Card ADD PARTITION(PARTITION p4 VALUES LESS THAN(2005));
 
ALTER TABLE Card DROP PARTOTION p4;
cs





파티션 분할 / 병합


1
2
3
ALTER TABLE CardREORGANIZE
 PARTITION p3 INTO(PARTITION p3 VALUES LESS THAN(2015),
PARTITION p4 VALUES LESS THAN MAXVALUE);
cs


>> 파시션을 하여 정보를 나누웠는데도 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) 유명 포털 사이트의 경우에 많은정보가 있기때문에 뉴스 기사를 본다고 하면 이와같은 방식으로

디비를 나눠어서 사용한다고 한다.



List of Articles
번호 제목 날짜 조회 수
86 [MySQL] 세로열을 가로열로 출력하기 2019.03.05 2086
85 mariaDB 백업 쉘 스크립트 2019.03.05 1219
84 한글정렬 order by 2019.02.19 2424
83 중복데이터 하나만 빼고 삭제 2019.01.11 3161
82 MySQL 중복 데이터 찾아서 삭제하기 2019.01.11 1948
81 MySQL ORDER BY 조건별 필드 및 ASC DESC 2019.01.08 4389
80 Mysql Join 해부(Left, Right, Outer, Inner Join file 2018.10.02 1276
79 MySQL Table 복구 - Got error 127 from storage engine 2018.07.24 4367
78 MySQL〃오라클의 nextval을 MySQL에서 사용하기 2018.07.24 3863
77 MySQL replication SQL 문 실행 오류 해결 방법 2018.07.18 1603
76 MySQL 마스터/마스터 replication 에서 AUTO_INCREMENT 문제 해결 방법 2018.07.18 1932
75 특정 테이블만 replication 하거나 제외하는 방법 2018.07.18 2789
74 mysql-bin 로그를 SQL 문으로 변환한는 방법 2018.07.18 1672
73 MySQL 클라이언트/서버 프로토콜 2018.07.18 2750
72 MyISAM 스토리지 엔진에서 테이블의 최대 저장 row 개수 2018.07.18 1554
71 InnoDB 스토리지 엔진에서 테이블의 최대 저장 row 개수 2018.07.18 1674
70 MySQL DB 에 한글 utf8 문자열 INSERT 오류 해결 방법 file 2018.07.18 2038
69 MySQL 에서 테이블에 이미 존재하는 값으로 UPDATE 하는 경우 file 2018.07.18 1533
» 데이터베이스 파티셔닝이란 2017.12.28 4262
67 MySQL 연결 속도 2017.12.28 3916
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved