Programming/정처기

3과목 데이터베이스 구축 물리 데이터베이스 설계 100 ~ 106

히히심 2024. 2. 3. 14:49
728x90

100. 데이터베이스 이중화 / 서버 클러스터링

- 데이터베이스 이중화 : 시스템 오류로 인한 서비스 중단이나 물리적 손상 발생 시 이를 복구하기 위해 동일한 데이터베이스를 복제하여 관리하는 것. 

- 분류 : Eager 기법 (트랜잭션 수행 중 데이터 변경이 발생하면 이중화된 모든 데이터베이스에 즉시 전달하여 변경 내용이 즉시 적용되도록) / Lazy 기법 (트랜잭션 수행이 종료되면 변경 사실을 새로운 트랜잭션에 작성하여 각 데이터베이스에 전달되는 기법)

 

- 구성방법 : 활동-대기 방법 (한DB가 활성 상태로 서비스하고 있으면 다른 DB는 대기하고 있다가 활성 DB에 장애가 발생하면 대기 상태에 있던 DB가 자동으로 서비스를 대신 수행) / 활동 - 활동 방법 (두 개의 DB가 서로 다른 서비스를 제공하다가 둘 중 한쪽 DB에 문제가 발생하면 나머지 DB가 서비스를 제공한다.)

 

- 클러스터링 : 두 대 이상의 서버를 하나의 서버처럼 운영하는 기술. >> 서버 이중화 및 공유 스토리지를 사용하여 서버의 고가용성을 제공. 

- 고가용성 클러스터링 : 하나의 서버에 장애가 발생하면 > 다른 노드(서버)가 받아 처리하여 서비스 중단을 방지하는 방식

- 병렬 처리 클러스터링 : 전체 처리율을 높이기 위해 하나의 작업을 여러 개의 서버에서 분산하여 처리하는 방법. (로드밸런서가 분산)

 

101. 데이터베이스 보안/  암호화

: 데이터베이스의 일부분 또는 전체에 대해서 권한이 없는 사용자가 액세스하는 것을 금지하기 위해 사용. 

CF) 무결성 : 권한이 있는 사용자로부터 데이터를 보호하는 것.

       보안 : 권한이 없는 사용자로부터 데이터베이스를 보호하는 것. 

- 암호화 : 데이터 송신자가 지정한 수신자 이외에는 내용을 알 수 없도록 평문을 암호문으로 변환하는 것

  • 개인키(비밀키) 암호 방식 : 동일한 키로 데이터를 암호화/복호화. 비밀키는 제3자에게 노출시키지 않고 데이터베이스 사용 권한이 있는 사용자만 나누어 가짐. (기법 :  전위 기법, 대체 기법, 대수 기법, 합성 기법(DES, LUCIFER)
  • 공개키 암호 방식 : 서로 다른 키로 암호화/복호화. 암호화할 때 사용하는 키(공개키)는 데이터베이스 사용자에게 공개하고, 복호화할 때의 키(비밀키)는 관리자가 비밀리에 관리하는 방법. (기법 : RSA)

 

102. 데이터베이스 보안 - 접근통제

: 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것. 

- 비인가된 사용자의 접근 감시, 접근 요구자의 사용자 식별, 접근 요구의 정당성 확인 및 기록, 보안 정책에 근거한 접근의 승인 및 거부 등

 

1) 임의 접근통제 (DAC) : 데이터에 접근하는 사용자의 신원에 따라 접근권한 부여. (GRANT, REVOKE)

2) 강제 접근통제 (MAC) : 주체와 객체의 등급을 비교하여 접근 권한을 부여. 

  • 벨 라파듈라 모델 (군대의 보안 레벨처럼 상하관계 구분)
  • 비바 무결성 모델 : 무결성을 보장하는 최초의 모델. 비인가자에 의한 데이터 변형 방지
  • 클락-윌슨 무결성 모델 : 상업용 모델. 사용자가 직접 객체에 접근 불가.
  • 만리장성 모델 : 서로 이해 충돌 관계가 있는 객체 간의 정보 접근을 통제하는 모델.

3) 역할기반 접근통제 (RBAC) : 사용자의 역할에 따라 접근권한 부여. 

 

- 접근통제 정책

1) 신분 기반 : 주체나 그룹의 신분에 근거하여 객체의 접근 제한.

- IBP (individual-based policy) : 단일 주체에 하나의 허가

- GBP (group-based policy) : 복수 주체에 하나의 허가

2) 규칙 기반 : 주체가 갖는 권한에 근거하여 객체접근 제한

- MLP (multi-level policy) : 사용자 및 객체별로 지정된 기밀분류에 따른 정책

- CBP (compartment-based policy) : 집단별로 지정된 기밀 허가에 따른 정책

3) 역할 기반 : 주체의 신분이 아니라 맡은 역할에 근거하여 접근 제한. 

- 인사담당자, DBA 등

 

- 접근통제 매커니즘

1) 접근 통제 목록

2) 능력 리스트

3) 보안 등급

4) 패스워드

5) 암호화

 

- 접근통제 보안 모델

1) 기밀성 모델 : 군사적 목적. 기밀성 보장이 최우선. 

- 단순 보안 규칙 : 주체는 자신보다 높은 등급의 객체 읽을 수 없음

- 스타 보안 규칙 : 자신보다 낮은 등급의 객체에 정보를 쓸 수 없음

- 강한 스타 보안 규칙 : 자신과 등급이 다른 객체를 읽거나 쓸 수 없음. 

 

2) 무결성 모델 : 불법적인 정보 변경을 방지하기 위해 무결성을 기반으로 개발된 모델. (데이터의 일관성!!)

- 단순 무결성 규칙 : 자신보다 낮은 등급의 객체를 읽을 수 없음.

- 스타 무결성 규칙 : 자신보다 높은 등급의 객체에 정보 쓸수 없음. 

3) 접근통제 모델 : 접근통제 매커니즘을 보안 모델로 발전. 

- 접근통제 행렬 : 행은 주체, 열은 객체, 행과열로 주체와 객체의 권한 유형을 나타냄.

 

- 접근통제 조건

1) 값 종속 통제

2) 다중 사용자 통제

3) 컨텍스트 기반 통제

 

- 감사 추적 : 사용자, 애플리케이션이 데이터베이스에 접근하여 수행한 모든 활동을 기록하는 기능. 

 

103. 데이터베이스 백업

: 전산 장비의 장애에 대비하여 데이터베이스에 저장된 데이터를 보호하고 복구하기 위한 작업. 

1) 장애 유형 : 사용자 실수, 미디어 장애, 구문 장애, 사용자 프로세스 장애, 인스턴스 장애

 

2) 로그파일 : 데이터베이스의 처리 내용이나 이용 상황 등 상태 변화를 시간의 흐름에 따라 모두 기록한 파일. 

  • 로그 파일을 기반으로 과거 상태로 복귀시키거나 현재 상태로 재생시켜 일관성 있게 유지.
  • 내용 : 트랜잭션이 작업한 모든 내용, 트랜잭션 식별, 트랜잭션 레코드, 데이터 식별자, 갱신 이전 값, 갱신 이후 값 

3) 데이터베이스 복구 알고리즘 

: 동기적/비동기적 갱신에 따라 나뉜다.

- NO-UNDO/REDO : 데이터베이스 버퍼의 내용을 비동기적으로 갱신한 경우의 복구 알고리즘.

  • 트랜잭션 완료 전 : 변경내용이 데이터베이스에 기록되지 않으므로 취소할 필요 없음 
  • 트랜잭션 완료 후 : 데이터베이스 버퍼에는 기록되어 있고, 저장매체에는 기록되지 않았으므로 트랜잭션 내용을 다시 실행해야 함

- UNDO/NO-REDO : 데이터베이스 버퍼의 내용을 동기적으로 갱신한 경우의 복구 알고리즘.

  • 트랜잭션 완료 전 : 시스템 파손시 변경된 내용을 취소. 
  • 트랜잭션 완료 후 : 완료 전에 이미 버퍼 내용을 저장 매체에 기록했으므로 다시 트랜잭션 내용을 다시 실행할 필요가 없음. 

- UNDO/REDO : 데이터베이스 버퍼의 내용을 동기/비동기적으로 갱신한 경우의 복구 알고리즘. 

  • 데이터베이스 기록 전에 트랜잭션이 완료될 수 있으므로 완료된 트랜잭션이 데이터베이스에 기록되지 못했다면 다시 실행해야 한다. 

- NO-UNDO/NO-REDO : 데이터베이스 버퍼의 내용을 동기적으로 저장 매체에 기록하지만 데이터베이스와는 다른 영역에 기록한 경우의 복구 알고리즘.  (취소할 필요도, 다시 실행할 필요도 없다)

 

4) 백업 종류 : 물리 백업 / 논리 백업

 

104. 스토리지

: 단일 디스크로 처리할 수 없는 대용량의 데이터를 저장하기 위해 서버와 저장장치를 연결하는 기술.

 

1) DAS (Direct Attached Storage) : 서버와 저장장치를 전용 케이블로 직접 연결. (외장하드 연결) - 속도는 빠르나 다른 서버에서 스토리지에 접근하여 사용할 수 없다. 

2) NAS (Network Attached Storage) : 서버와 저장장치를 네트워크를 통해 연결. - 파일 관리 기능이 있는 NAS storage가 네트워크 상에 독립적으로 연결되어 있어 서버들이 자유롭게 스토리지에 접근 가능. 

3) SAN (Stoarage Area Network) : 서버와 저장장치를 연결하는 전용 네트워크를 별도로 구성.  - 광 채널 스위치(FCS)로 연결된 별도의 전용 스토리지 네트워크를 구성. 서버들이 저장장치 및 파일을 자유롭게 공유 가능. 

 

105. 논리 데이터 모델의 물리 데이터 모델 변환

1) 엔티티를 테이블로 변환 : 엔티티를 물리 데이터 모델의 테이블로 변환 > 테이블 목록 정의서 작성. 

엔티티 테이블
속성 컬럼
주식별자 기본키
외부 식별자 외래키
관계  관계

- 고려사항 : 명칭은 동일하게. 메타 데이터 관리 시스템에 표준화된 용어가 있을시 메타에 등록된 단어 사용.

 

2) 슈퍼타입/서브타입을 테이블로 변환. 

- 슈퍼타입 기준 테이블 변환 : 서브타입을 슈퍼타입에 통합하여 하나의 테이블로 만듦. 

- 서브타입 기준 테이블 변환 : 슈퍼타입 속성들을 각각의 서브타입에 추가하여 서브타입들을 개별적인 테이블로 만듦. 

- 개별타입 기준 테이블 변환 : 슈퍼타입과 서브타입들을 각각의 개별적인 테이블로 변환하는 것. 

 

3) 속성을 컬럼으로 변환 

- 일반 속성 변환

- Primary UID를 기본키를 변환

- Primary UID(관계의 UID Bar)를 기본키로 변환

- Secondary(Alternate) UID를 유니크키로 변환 

 

4) 관계를 외래키로 변환 : 기본키와 이를 참조하는 외래키로 변환.

5) 관리 목적의 테이블/컬럼 추가 : 논리 데이터 모델에는 존재하지 않는 테이블이나 컬럼을 데이터베이스의 관리 혹은 데이터베이스 이용 수행 속도를 향상시키기 위해 물리 데이터 모델에 추가 가능. 

6) 데이터 타입 선택 : 물리적인 DBMS의 물리적 특성과 성능을 고려하여 최적의 데이터 타입과 데이터의 최대 길이를 선택. 

 

106. 물리 데이터 모델 품질 검토

: 물리 데이터 모델을 설계하고 데이터베이스 객체를 생성한 후 개발 단계로 넘어가기 전에 모델러와 이해관계자들이 모여 수행한다. 

1) 품질 기준

- 정확성 : 데이터 모델이 요구사항이나 업무 규칙, 표기법에 따라 정확하게 표현

- 완전성 : 데이터 모델의 구성 요소를 누락 없이 정의하고, 반영하였음

- 준거성 : 데이터 표준, 표준화 규칙, 법적 요건 등 정확하게 준수

- 최신성 : 최근 이슈나 현행 시스템 반영

- 일관성 : 표현상의 일관성

- 활용성 : 설명을 사용자가 충분히 이해, 데이터 구조의 변경이 최소화 되도록 설계

 

2) 품질 검토 순서

- 데이터 품질 정책 및 기준 확인

- 물리 데이터 품질의 특성에 따라 품질 기준 작성

- 데이터 품질 기준에 따라 체크리스트 작성

- 논리 데이터 모델과 물리 데이터 모델을 비교

- 각 모델링 단계의 모델러와 이해관계자가 품질 검토를 수행

- 체크리스트 내용을 종합하여 물리 데이터베이스 모델의 품질 검토 보고서를 작성.

 

728x90