2018년/DataBase

데이터 베이스 Advanced

위지원 2018. 1. 3. 19:22

1.Meata Data

- Data Dictionary : System Catalog라고도 하며 readonly로 mysql에서는 Information_schema라는 데이터베이스로 존재

- Data Directory : DBMS의 모든 데이터가 저장되는 디렉토리로 my.ini의 datadir에 경로가 설정되어있음


2.데이터 베이스 파티셔닝

-VLDB(Very Large DBMS)

1) 테이블을 여러개의 군으로 나누어 분산 저장

2) dic형태로 구분해서 나누어 저장

-Join 연산이 어려워져 Denormaliztion을 이용하여 조인정보를 미리 저장하고 외래키 제약조건을 제거함

-장점

1) 검색시 필요한 부분만 검색

2) 전체 data 손실이 적다. 이걸 보통 가용성이 높다라고 하며 HA(High availability)라고 함

3) 파티션별로 백업/복구가 가능

4) 업데이트 성능이 증가 **가장중요함**

: 파티션 별로 접근하기 때문에 읽,쓰기 성능이 증가한다

-방식

1) 범위 : 너무 한쪽에만 몰림

2) 해쉬 : 그래서 해쉬를 씀

3) 리스트 : 특정 컬럼을 기준으로

4) 컴포지트 : 해쉬+리스트 이렇게 섞어서 사용



-사용 예제


-추가/삭제


-분할/병합


출처:https://tacademy.sktechx.com/frontMain.action


**샤딩(sharding) : DBMS 외부에서 응용시스템(보통 framework)으로 나누어서 함 ( 반대로 파티셔닝은 DBMS가 알아서) 그러다보니 응용시스템이 DB의 정보를 다 알 수 있게 해야함