ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3-2 물리 데이터베이스 설계
    자격증/정처기 2023. 5. 19. 03:52

    물리 데이터베이스

    - 논리적 DB를 (저장 가능한) 물리적 구조로 변환

    - 개체 <-> 테이블, 속성 <-> 컬럼, 관계 <-> 외래키

    - 테이블: 일반, 클러스터, 임시, 외부, 파티셔닝

     

     

     

    트랜잭션

    - 논리적 수행의 단위, 한꺼번에 수행되어야하는 일련의 연산

    - COMMIT + ROLLBACK + SAVEPOINT

     

    트랜잭션 상태

    *실패 = Failed, 철회 = Aborted

     

    트랜잭션 특성

    - 원자성 + 일관성(consistency), 독립성(isolation), 영속성(durability)

     

     

    CRUD 분석

    - Create + Read + Update + Delete

    - CRUD 매트릭스를 통해 분석

    - 행 = 프로세스, 열 = 테이블

    - C > D > U > R 

     

     

     

    인덱스

    - 키 값 + 포인터 쌍을 통해 데이터 레코드에 빠르게 접근

    - DDL을 통해 생성, 변경, 제거 가능

    - 추가는 CREATE, 제거는 DROP

     

    클러스터

    - 동일한 성격의 데이터를 물리적으로 같은 블럭에 저장

    - 조회 속도 증가, 입력/수정/삭제 성능 저하

    -> 수정이 적고 / order by, group by, union이 빈번할수록 유리

    - 인덱스는 분포가 좁은 테이블에, 클러스터는 분포가 넓은 테이블에 유리

     

    - 클러스터링 키 column을 공유 -> 공간 절약

    - 대용량 트랜잭션 처리엔 비적합

    - 클러스터링 테이블 + 클러스터드 인덱스 가능

    - 파티셔닝된 테이블엔 클러스터링 불가

     

    파티션

    1)범위 분할: column 값 기준

    2)해시 분할: 고르게 분산 

    3)조합 분할: 범위 -> 해시   *composite

    4)목록 분할: column 값에 대한 list를 만듦

    5)라운드 로빈: 레코드에 순차적으로(=균일하게) 분배   *기본키 필요 x

     

     

     

     

    뷰 (View)

    - 기본 테이블로부터 유도된 가상 테이블

    - 물리적으로 존재 x = 기본 테이블 삭제시 같이 삭제

     

    - 기본 테이블과 구조나 조작이 동일함

    - 기본 테이블의 키를 포함하게 구성해야 삽입/삭제/갱신 가능 (= 제약이 따른다)

     

    - 뷰 위에 또다른 뷰 정의 가능 (Replace)

    - 독립적인 인덱스는 가질 수 없음

    - 접근 제어를 통한 자동 보안 제공

    - 정의는 CREATE, 제거는 DROP // 변경(ALTER) 불가

     

     

     

     

     

     

    분산 데이터베이스

    - 논리적으론 하나, 물리적으로 분리

    - 지역의 자치성

    - 통신 네트워크 + 분산 데이터베이스 + 분산 처리(=지역 컴퓨터 시스템)

    - 설계방법: 분할 + 할당 + 테이블 위치분산

     

    분산 데이터베이스 목표

    1)위치 투명성 - 실제 위치 대신 논리적인 명칭으로 access

    2)중복(Replication) - 중복되어 존재해도 하나처럼

    3)병행(Concurrency) - 트랜잭션 독립성

    4)장애(Faulure)

     

    +

    데이터베이스 이중화

    Eager <-> Lazy

     

    서버 클러스터링

    - 두 대 이상의 서버를 하나처럼 운영

    - 고가용성 + 병렬 처리

     

     

     

     

     

    데이터베이스 보안

    - 권한이 없는 사용자의 접근을 막음

     

    암호화

    1) 대칭키 = 개인키 = 비밀키

    ->  DES, AES, SEED, ARIA

    2) 공개키 -> RSA

     

     

    접근통제

    - 정책(규칙) + 메커니즘(기술) + 보안모델

    - ACL = 객체 기준 // 능력(Capability) 리스트 = 주체 기준

     

    보안 모델

    단순 보안: 높으면 읽기 불가

    스타 보안: 낮으면 쓰기 불가 

    단순 무결성: 낮으면 읽기 불가

    스타 무결성: 높으면 쓰기 불가

    강한 스타 보안: 높/낮으면 읽/쓰기 불가

     

    접근 통제 정책

    1)DAC(임의): 사용자 신원에 따라 // GRANT, REVOKE

    2)MAC(강제): 등급 비교 // 스타 보안

    3)RBAC: 역할 기반 // 다중 환경 최적화

    데이터 소유자 / 시스템 / 중앙 관리자가 권한 부여

     

     

     

    스토리지

    - 대용량 데이터 저장을 위해 서버와 저장장치 연결

    1)DAS = 케이블로 직접 연결 -> 싸고 간편하지만 확장성/유연성이 떨어짐

    2)NAS = 네트워크로 연결 

    3)SAN = 광케이블(광채널)

     

     

     

     

    '자격증 > 정처기' 카테고리의 다른 글

    4-1 프로그래밍 언어 활용  (0) 2023.05.20
    3-3 SQL  (0) 2023.05.19
    3-1 논리 데이터베이스 설계  (0) 2023.05.18
    2-4 인터페이스 구현  (0) 2023.05.18
    2-3 어플리케이션 테스트 관리  (0) 2023.05.17
Designed by Tistory.