메뉴 건너뛰기

조회 수 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) 유명 포털 사이트의 경우에 많은정보가 있기때문에 뉴스 기사를 본다고 하면 이와같은 방식으로

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



  1. No Image 28Jul
    by
    2020/07/28 Views 144 

    엑셀로 되어있는 부분 db로 import하는 방법

  2. No Image 12Apr
    by
    2017/04/12 Views 7316 

    실수로 삭제한 mysql DB 복구방법

  3. No Image 23Dec
    by
    2016/12/23 Views 5668 

    숫자형 데이터 타입

  4. 세자리 마다 콤마 찍기

  5. 서브쿼리

  6. 서로 다른 결과를 한줄로 합쳐서 보여줘야 할 때(GROUP_CONCAT)

  7. No Image 12Apr
    by
    2017/04/12 Views 5071 

    백업시 캐릭터셋(charset) 지정하기

  8. No Image 23Dec
    by
    2016/12/23 Views 5646 

    문자형 데이터

  9. No Image 21Nov
    by
    2017/11/21 Views 5387 

    두 테이블을 비교하여 한쪽테이블에는 있지만 다른 테이블에는 없는 값을 뽑아내보자!

  10. No Image 10Jan
    by
    2023/01/10 Views 115 

    데이터베이스별 / 테이블별 용량 확인 하기

  11. No Image 28Dec
    by 조쉬
    2017/12/28 Views 4262 

    데이터베이스 파티셔닝이란

  12. No Image 23Dec
    by
    2016/12/23 Views 5534 

    데이타베이스 또는 테이블 정보

  13. No Image 23Dec
    by
    2016/12/23 Views 5635 

    덤프할때 한글깨짐 해결

  14. No Image 19Dec
    by
    2015/12/19 Views 8360 

    다양한 단위의 시간차 구하기

  15. No Image 16Nov
    by
    2017/11/16 Views 5076 

    다른 테이블 데이터를 원하는 테이블에 업데이트 시키기

  16. No Image 26Mar
    by
    2021/03/26 Views 147 

    날짜형(DATETIME) 빼기

  17. No Image 23Dec
    by
    2016/12/23 Views 5996 

    날짜와 시간 데이터

  18. No Image 22Dec
    by
    2017/12/22 Views 3976 

    날짜 관련 함수 모음.

  19. No Image 30Aug
    by
    2016/08/30 Views 5812 

    각각의 게시판에서 제일 최근글하나씩을 모아 정렬

  20. No Image 05Mar
    by
    2019/03/05 Views 2096 

    [MySQL] 세로열을 가로열로 출력하기

Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved