728x90

데이터베이스 용량 설계

데이터베이스 용량 설계

- 데이터가 테이블에 저장될 공간을 정의

- 테이블에 저장할 데이터양, 인덱스, 클러스터 등이 차지하는 공간 등을 예측하여 반영

 

데이터베이스 용량 설계의 목적

- 디스크의 저장공간을 효과적으로 사용하고 확장성 및 가용성을 높임

- 디스크의 입출력 부하를 분산시키고 채널의 병목현상 최소화

- 디스크에 대한 입출력 경합이 최소화되도록 설계함으로써 데이터 접근성이 향상

- 데이터베이스에 생성되는 오브젝트의 익스텐트 발생을 최소화하여 성능을 향상

- 테이블과 인덱스에 적합한 저장 옵션을 지정

- 데이터 접근성을 향상시키는 설계 방법

    -> 테이블의 테이블스페이스와 인덱스의 테이블스페이스를 분리하여 구성

    -> 테이블스페이스와 임시 테이블스페이스를 분리하여 구성

    -> 테이블을 마스터 테이블과 트랜잭션 테이블로 분류

 

데이터베이스 용량 분석 절차

- 데이터 예상 건수, 로우 길이, 보존 기간, 증가율 등 기초 자료를 수집하여 용량 분석

- 분석된 자료를 바탕으로 DBMS에 이용될 테이블, 인덱스 등 오브젝트별 용량을 산정

- 테이블과 인덱스의 테이블스페이스 용량을 산정

- 데이터베이스에 저장될 모든 데이터 용량과 데이터베이스 설치 및 관리를 위한 시스템 용량을 합해 디스크 용량 산정

 

분산 데이터베이스 설계

분산 데이터베이스 정의

- 논리적인 하나의 시스템이지만 물리적으로는 네트워크로 연결된 여러 개의 컴퓨터 사이트에 분산되어 있는 데이터베이스

- 데이터베이스를 네트워크를 이용해 나눠놓음

 

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

- 분산 처리기 : 지리적으로 분산되어 있는 컴퓨터 시스템

- 분산 데이터베이스 : 지리적으로 분산되어 있는 데이터베이스

- 통신 네트워크 : 분산 처리기들을 네트워크로 연결하여 하나의 시스템처럼 동작할 수 있도록 하는 통신 네트워크

 

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

- 작업 부하의 노드별 분산 정책

- 지역의 자치성 보장 정책

- 데이터의 일관성 정책

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

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

 

분산 데이터베이스의 목표

- 위치 투명성 : 접근하려는 데이터베이스의 실제 위치를 알 필요 없이 논리적인 명칭만으로 접근 가능

- 중복 투명성 : 동일 데이터가 여러 곳에 중복되어 있어도 사용자는 하나의 데이터만 존재하는 것처럼 사용 가능

- 병행 투명성 : 분산 데이터베이스와 관련된 다수의 트랜잭션들이 동시에 실현되더라도 그 트랜잭션의 결과는 영향을 받지 않음

- 장애 투명성 : 트랜잭션, DBMS, 네트워크, 컴퓨터 등 장애에도 트랜잭션을 정확하게 처리

- 투명성 : 사실 존재 여부를 염두에 두지 않아도 되는 성질

 

분산 데이터베이스의 장점

- 장점

    -> 지역 자치성이 높음

    -> 자료의 공유성 향상

    -> 분산 제어 가능

    -> 시스템 성능 향상

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

    -> 효용성과 융통성이 높음

    -> 신뢰성 및 가용성이 좋음

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

- 단점

    -> DBMS가 수행할 기능이 복잡

    -> DB 설계가 어려움

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

    -> 처리 비용 증가

    -> 잠재적 오류 증가

 

분산 데이터베이스 설계

- 애플리케이션이나 사용자가 분산되어 저장된 데이터에 접근하는 것이 목적

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

- 분산 설계 방법에는 테이블 위치 분산, 분할, 할당이 있음

 

테이블 위치 분산

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

- 테이블의 구조를 변경시키지 않고 다른 데이터베이스의 테이블과 중복되지 않게 배치

 

분할

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

- 분할 규칙

    -> 완전성 : 전체 데이터를 대상으로 분할해야 함

    -> 재구성 : 분할된 데이터는 관계 연산을 활용하여 본래의 데이터로 재구성이 가능해야 함

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

- 분할 방법

    -> 수평 분할 : 행 단위로 분할

    -> 수직 분할 : 속성 단위로 분할

할당

- 동일한 분할을 여러 개의 서버에 생성하는 분산 방법

- 비중복 할당 방식

    -> 최적의 노드를 선택해서 분산 데이터베이스의 단일 노드에서만 분할이 존재

- 중복 할당 방식

    -> 동일한 테이블을 다른 서버에 복제하는 방식

 

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

데이터베이스 이중화

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

- 하나 이상의 데이터베이스가 항상 같은 상태를 유지

- 데이터베이스가 문제가 생기면 즉시 해결 가능

- 사용자가 작업을 수행하면 이중화 시스템에 연결된 다른 데이터베이스도 동일하게 적용

- 애플리케이션을 여러 개의 데이터베이스로 분산시켜 처리해 데이터베이스의 부하를 감소

 

데이터베이스 이중화의 분류

- 내용 전달 방식에 따른 분류

- Eager 기법 : 트랜잭션 수행 중 데이터 변경 발생 시 이중화된 모든 데이터베이스에 즉시 전달하여 변경 내용이 즉시 적용

- Lazy 기법 : 트랜잭션 수행이 종료되면 변경 사실을 새로운 트랜잭션에 작성하여 각 데이터베이스에 전달하여 데이터베이스마다 새로운 트랜잭션이 수행되는 것으로 간주

 

데이터베이스 이중화 구성 방법

- 활동-대기 방법

    -> 한 DB가 서비스 시 다른 DB는 대기

    -> 활성 DB에 장애 발생 시 대기 중이었던 DB가 모든 서비스를 대신 수행

    -> 구성 방법 및 관리가 쉬워 많은 기업에서 사용

- 활동-활동 방법

    -> 두 개의 DB가 서로 다른 서비스를 제공

    -> 한쪽 DB에 장애 발생 시 다른 DB가 서비스를 제공

    -> 두 DB가 모두 처리를 해 처리율이 높지만 구성 방법 및 설정이 복잡

 

클러스터링

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

- 서버 이중화 및 공유 스토리지를 사용하여 서버의 고가용성을 제공

    -> 고가용성 : 시스템을 오랜 시간 동안 계속해서 정상적으로 운영이 가능한 성질

- 병렬 처리 클러스터링 : 처리율을 높이기 위해 하나의 작업을 여러 개의 서버에서 분산하여 처리

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

 

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

데이터베이스 보안의 개요

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

 

암호화 / 복호화

- 암호화는 데이터를 보낼 때 송신자가 지정한 수신자 외는 그 내용을 알 수 없도록 평문을 암호문으로 변환

- 암호화 과정 : 암호화되지 않은 평문을 정보 보호를 위해 암호문으로 바꿈

- 복호화 과정 : 암호문을 원래의 평문으로 바꿈

 

개인키 / 공개키 암호 방식

- 암호화 방식의 키와 복호화 방식의 키가 같을 때

    -> 개인키 / 비밀키 / 대칭키 암호 방식

    -> 종류 : 전위 기법, 대수 기법, 합성 기법(DES)

- 암호화 방식의 키와 복호화 방식의 키가 다를 때

    -> 공개키 / 비대칭키

    -> RSA 기법

필기 정리

 

2020 정보처리기사 필기 정리

본 정리 글은 시나공 정보처리기사 필기책과 학교 특강을 참고하여 작성하였습니다. -> 책 정보 확인하기 시나공 정보처리기사 필기 2020년 정보처리기사 NCS기반 전면 개편!정보처리기사 시험은 NCS 학습 모듈 중..

1d1cblog.tistory.com

 

728x90

+ Recent posts