💠기타/자격증

[정처기 필기] 「3」 | 물리 데이터베이스 설계 - (2.3) 분산 데이터베이스 설계, 데이터베이스 보안 / 암호화

2024. 2. 9. 20:06
728x90

[정처기 필기] 3」 | 물리 데이터베이스 설계 - (2.3) 분산 데이터베이스 설계, 데이터베이스 보안 / 암호화

「1」 소프트웨어 설계

「2」 소프트웨어 개발

> 「3」 데이터베이스 구축

- 논리 데이터베이스 설계, > 물리 데이터베이스 설계, SQL 응용, SQL 활용, 데이터 전환

「4」  프로그래밍 언어 활용

「5」  정보시스템 구축 관리

 

1 트랜잭션 분석 / CRUD 분석

2 인덱스 설계

3 뷰(View) 설계

4 파티션 설계

> 5 분산 데이터베이스 설계

> 6 데이터베이스 보안 / 암호화

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

8 데이터베이스 백업

9 스토리지

5. 분산 데이터베이스 설계

분산 데이터베이스 정의

 

논리적으로는 하나의 시스템에 속하지만 물리적으로 여러 개 컴퓨터 사이트에 분산되어 있는 데이터베이스

 

- 데이터의 처리, 이용이 많은 지역에 데이터베이스를 위치시켜, 데이터 처리가 해당 지역에서 해결되도록 함

 

분산 데이터베이스의 구성 요소

 

분산 처리기

: 자체적으로 처리 능력 가지며, 지리적으로 분산되어 있는 컴퓨터 시스템

분산 데이터베이스

: 지리적으로 분산되어 있는 데이터베이스, 해당 지역의 특성에 맞게 데이터베이스 구성

통신 네트워크

: 분산 처리기들을 통신망으로 연결하여 하나의 시스템처럼 작동하도록 하는 통신 네트워크, 데이터 통신에 영향을 끼침

 

분산 데이터베이스 설계 시 고려 사항

 

- 작업부하(Work Load)노드별 분산 정책

- 지역의 자치성 보장 정책

- 데이터의 일관성 정책

- 사이트나 회선의 고장으로부터 회복 가능

- 통신 네트워크를 통한 원격 접근 기능

 

분산 데이터베이스의 목표

 

위치 투명성(Location Transparency)

: 데이터베이스의 실제 위치를 알 필요 없이 데이터베이스의 논리적 명칭만으로 액세스 가능

중복 투명성(Replication Transparency)

: 여러 곳에 중복되어 있어도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용, 시스템은 자동으로 여러 작업 수행

병행 투명성(Concurrency Transparency)

: 다수의 트랜잭션들이 동시에 실현되더라도 트랜잭션의 결과는 영향받지 않음

장애 투명성(Failure Transparency)

: 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 트랜잭션 정확히 처리

 

분산 데이터베이스의 장 / 단점

 

장점

- 지역 자치성이 높음

- 자료의 공유성, 시스템 성능 향상

- 분산 제어 가능

- 중앙 컴퓨터 장애전체 시스템에 영향을 끼치지 않음

- 효용성, 융통성, 신뢰성, 가용성 높음

- 점진적 시스템 용량 확장 용이

 

단점

- DBMS가 수행할 기능복잡

- 데이터베이스 설계 어려움

- 소프트웨어 개발 비용 증가

- 처리 비용 증가

- 잠재적 오류 증가

 

분산 데이터베이스 설계

 

애플리케이션, 사용자가 분산되어 접근하게 하는 것이 목적

 

- 잘못 설계된 분산 데이터베이스는 복잡성 증가, 응답 속도 저하, 비용 증가 등 문제

- 전역 관계망을 논리적 측면에서 소규모 단위분할 후, 분할된 결과를 복수의 노드할당하는 과정, 노드에 할당된 소규모 단위를 분할이라 함

- 테이블 위치 분산, 분할, 할당

 

테이블 위치 분산

 

데이터베이스의 테이블을 다른 서버에 분산시켜 배치

 

- 테이블의 구조를 변경하지 않으며, 다른 데이터베이스의 테이블과 중복되지 않게 배치

- 다른 위치에 배치하려면 해당 테이블들이 놓일 서버미리 설정해야 함

 

분할

 

테이블 데이터를 분할하여 분산

 

분할 규칙

- 완전성(Completeness) : 전체 데이터를 대상으로 분할

- 재구성(Reconstruction) : 분할된 데이터는 관계 연산을 활용하여 본래 데이터로 재구성할 수 있도록 해야 함

- 상호 중첩 배제(Dis-jointness) : 분할된 데이터는 서로 다른 분할 항목에 속하지 않아야

 

분할 방법

- 수평 분할 : 특정 속성 값을 기준으로 행 단위로 분할

- 수직 분할 : 데이터 칼럼 단위로 분할

 

할당

 

동일한 분할을 여러 개의 서버생성하여 분산

 

비중복 할당 방식

: 최적의 노드 선택하여 분산 데이터베이스의 단일 노드에서만 분할이 존재하도록 하는 방식

: 릴레이션을 배타적 분할로 분리하기 힘든 요구가 포함, 분할된 테이블 간 의존성은 무시되고 비용 증가, 성능 저하 야기

중복 할당 방식

: 동일한 테이블을 다른 서버에 복제, 부분복제완전 복제 있음

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

데이터베이스 보안의 개요

 

데이터베이스의 일부분 또는 전체에서 권한이 없는 사용자접근하는 것을 금지하는 기술

 

- 보안을 위한 데이터 단위는 테이블 전체부터 데이터 값까지 다양

- 데이터베이스 사용자들은 일반적으로 서로 다른 객체에 대하여 다른 접근 권한을 가짐

- 사람인 관리자에 의해 정책이 결정됨

 

무결성 : 권한이 있는 사용자로부터 데이터베이스 보호, 사용자가 정확하게 사용할 수 있도록 보장

보안 : 권한이 없는 사용자로부터 데이터베이스 보호, 사용자가 언제든지 사용할 수 있도록 보장

 

암호화(Encryption)

 

지정한 수신자 외 내용을 알 수 없도록 평문을 암호문으로 변환

 

암호화(Encryption) 과정 : 평문을 암호문으로 바꾸는 과정, 개인키 암호 방식, 공개키 암호 방식 있음

복호화(Decryption) 과정 : 암호문을 평문으로 바꾸는 과정

 

개인키 암호 방식(Private Key Encryption)

 

동일한 키로 데이터 암호화, 복호화, == 비밀키 암호 방식, 대칭 암호 방식, 단일키 암호화 기법

 

- 데이터베이스 사용 권한이 있는 사용자만 나눠 가짐

- 전위 기법, 대체 기법, 대수 기법, 합성 기법(DES, LUCIFFER)

 

공개키 암호 방식(Public Key Encryption)

 

서로 다른 키로 암호화, 복호화, == 비대칭 암호 방식

 

- 암호화 할 때 사용하는 키(공개키)는 데이터베이스 사용자에게 공개, 복호화할 때 사용하는 키(비밀키)는 관리자가 관리

- RSA(Revest Shamir Adleman)

 

 

 

 

 

 

 

 

 

출처 | <시나공> 정보처리기사 필기 2024 기본서 (길벗알앤디)

 

728x90