메뉴 건너뛰기

조회 수 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 26Mar
    by
    2021/03/26 Views 769 

    order by field 와 union, 원하는 대로 정렬 하기

  2. SQL 고급

  3. No Image 21Nov
    by
    2017/11/21 Views 3920 

    Union 사용법. 여러 테이블의 같은 값을 한번 쿼리로 추출하기

  4. UPDATE ~ CASE 문을 사용한 조건별 업데이트

  5. No Image 25Nov
    by
    2020/11/25 Views 777 

    [mysql,mariaDB] 컬럼 암호화, 복호화

  6. No Image 12Apr
    by
    2017/04/12 Views 5392 

    [MySQL] 백업 및 복구

  7. No Image 05Mar
    by
    2019/03/05 Views 2097 

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

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

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

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

    날짜 관련 함수 모음.

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

    날짜와 시간 데이터

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

    날짜형(DATETIME) 빼기

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

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

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

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

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

    덤프할때 한글깨짐 해결

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

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

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

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

  17. No Image 10Jan
    by
    2023/01/10 Views 116 

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

  18. No Image 21Nov
    by
    2017/11/21 Views 5388 

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

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

    문자형 데이터

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

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

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

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved