3. 데이터베이스

 3.4 물리 데이터베이스 설계

 3.4.1 물리 데이터베이스 설계 능력 단위 정의

 3.4.2 물리요소 조차 분석

 3.4.3 데이터베이스 물리속성 설계


- 물리 데이터베이스 설계 능력 단위 정의

물리 데이터베이스 설계란 논리 데이터베이스 구조, 처리요구 조건, 데이터베이스, 하드웨어, 운영체제 특성을 기반으로 물리 데이터베이스의 저장 형식을 분석, 설계, 접근 경로를 물리적으로 설계하는 능력이다.

 

- 물리요소 조사 분석

 

1. 스토리지

 

1.1 스토리지 시스템의 정의

대용량 데이터를 저장하기 위하여 구성된 시스템

 

1.2 스토리지 시스템의 종류

 

1. DAS

서버와 저장 장치를 전용 컨트롤러와 케이블을 이용하여 연결하는 방식

 

2. NAS

서버와 저장 장치를 network로 연결하는 방식이다.

 

3. SAN

DAS의 빠른 처리와 NAS의 스토리지 공유 장점을 합친 방식

 

2. 분산 데이터베이스

 

2.1 분산 데이터베이스의 정의

하나의 데이터베이스 관리 시스템이 여러 CPU에 연결된 저장장치들을 제어하는 형태의 데이터베이스이다.

논리적으로 같은 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임이다.

데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역 노드로 위치시켜 사용성/성능 등을 극대화시킨 데이터베이스이다.

 

2.2 분산 데이터베이스의 목표

분할 투명성 : 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 사이트에 저장

위치 투명성 : 사용하려는 데이터의 저장 장소 명시 불필요. 위치정보가 System Catlog에 유지되어야 함

지역사상 투명성 : 지역DBMS와 물리적 DB사이의 Mapping 보장. 각 지역시스템 이름과 무관한 이름 사용 가능

중복 투명성 : DB 객체가 여러 site에 중복되어 있는지 알 필요가 없는 성질

장애 투명성 : 구성요소의 장애에 무관한 Transaction의 원자성 유지

병행 투명성 : 다수 Transaction 동시 수행시 결과의 일관성 유지, Time Stamp, 분산 2단계 Locking을 이용 구현

 

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

장점 

지역 자치정, 점증적 시스템 용량 확장

신뢰성과 가용성

효용성과 융통성

빠른 응답 속도와 통신비용 절감

데이터의 가용성과 신뢰성 증가

시스템 규모의 적절한 조절

각 지역 사용자의 요구 수용 증대

 

단점

소프트웨어 개발 비용

오류의 잠재성 증대

처리 이용의 증대

설계, 관리의 복잡성과 비용

불규칙한 응답속도

통제의 어려움

데이터 무결성에 대한 위협

 

2.4 분산 데이터베이스의 적용 기법

데이터베이스의 분산의 종류에는 테이블 위치 분산과 테이블 분할 분산, 테이블 복제 분산, 테이블 요약 분산 전략이 있다.

가장 많이 사용하는 방식은 테이블의 복제 분할 분산의 방법이고 이방법은 검색 성능 저하가 많은 데이터베이스에서 가장 유용하게 적용할 수 있는 기술적인 방법이 된다.

 

1. 테이블 위치 분산

테이블 위치 분산은 테이블의 구조는 변하지 않는다 또한 테이블이 다른 데이터베이스에 중복되어 생성되지도 않는다. 다만 설계된 테이블의 위치를 각각 다르게 위치시키는 것이다.

 

2. 테이블 분할 분산

단순히 위치만 다른 곳에 두는 것이 아니라 각각의 테이블을 쪼개어 분산하는 방법이다.

수평 분할

지사에 따라 테이블을 특정 컬럼의 값을 기준으로 로우를 분리한다. 컬럼은 분리되지 않는다. 모든 데이터가 각 지사별로 분리되어 있는 형태를 가지고 있다.

수직 분할

지사에 따라 테이블 컬럼을 기준으로 컬럼을 분리한다. 로우 단위로는 분리되지 않는다 모든 데이터가 각 지사별로 분리되어 있는 형태를 가지고 있다.

 

3. 테이블 복제 분산

테이블 복제 분산은 동일한 테이블을 다른 지역이나 서버에서 동시에 생성하여 관리하는 유형이다.

 

4. 테이블 요약 분산

지역간에 도는 서버 간에 데이터가 비슷하지만 서로 다른 유형으로 존재하는 경우가 있다.

 

2.5 데이터베이스 분산 구성의 가치

통합된 데이터베이스에서 제공할 수 없는 빠른 성능을 제공한다는 것

원거리 또는 다른 서버에 접속하여 처리하므로 인해 발생되는 네트워크 부하 및 트랜잭션 집중에 따른 성능 저하의 원인을 분산된 데이터베이스 환경을 구축하므로 빠른 성능 제공 가능

 

2.6 NoSQL

 

1.NoSQL

NoSQL은 수평적 확장이 가능하며 다수 서버들에 데이터 복제 및 분산 저장이 가능한 데이터베이스이다.

 

2. NoSQL의 데이터 저장 구조

 

key/value store

가장 기본적인 패턴으로 대부분의 NoSQL은 다른 데이터모델을 지원 하더라도 기본적으로 key/value의 개념을 지원함

 

ordered key/value stre

key/value store 의 확장된 형태로 key/value store와 저장 방식은 동일하나, 데이터가 내부적으로 key 순서로 sorting되어 저장됨

 

document key/value store

key/value store의 확장된 형태로, key에 해당하는 value 필드에 데이터를 저장하는 구조는 같으나 저장되는 value의 데이터 타입이 document 타입을 사용

 

3, 모델별 주요 NoSQL 제품

 

key/value store 모델

키기반의 get, put, delete 기능을 제공하며 메모리 기반에서 성능을 우선하는 시스템과 빅데이터를 저장 처리할 수 있는 방식으로 구분함

 

column family data store 모델

테이블 기반, 조인 미지원, 컬럼 기반으로 구글의 BigTable의 영향을 받음

 

document store 모델

JSON, XML 형태의 구조적 문서 저장에 용이하며 조인은 미지원

 

graph datadase 모델

그래프로 데이터를 표현하는 DB로서, 시맨틱 웹과 온톨로지 분야에서 활용되고 발전된 특화된 데이터베이스

 

3. 데이터베이스 이중화 구성

 

3.1 이중와의 정의

물리적으로 떨어져 있는 여러 개의 데이터베이스에 대하여 로컬 데이터베이스의 변경된 내용을 원격데이터베이스에 복제하고 관리하는 것이다.

 

3.2 이중화 목적

데이터베이스의 무정지 서비스를 가능하게 한다.

 

3.3 이중화의 형태 

DB 서버가 2대 있지만 이 2대가 동시에 동작하는 것을 허락할지에 따라 Active-Active 와 Active-Standby로 나뉜다.

 

3.4 Active-Standy 의 종류

Hot Standby : Standby 쪽 장비 기동 후 즉시 사용이 가능하고 failover 소요시간은 필요하다.

Warm Standby : Standby 쪽 장비 기동 후 이용하기 위하여 어느정도 설정 및 준비가 필요하다.

Cold Standby : Standby 측을 평소 정지시켜두며 필요에 따라 직접 켜서 구성한다.

Failover 소요시간은 Hot < Warm < Cold 순이다. 

 

3.5 이중화의 활용 

 

1. 장애

장비에 장애가 발생하여 1대가 죽을시, 준비된 장비를 서비스에 투입함으로써 짧은 시간내에 서비스복구가 가능하다.

 

2. 웹서비스의 배포

두대의 서버가 LB에 의하여 Active-Active로 운영되고 있는 경우, 한대를 LB에서 제거 한 뒤 배포 및 미들웨어 재기동 후 LB에 붙이고 다시 나머지 한대도 똑같이 작업하는 경우 서비스의 다운타임 없이 온라인 배포가 가능하다.

 

3. 장비의 점검

서버 혹은 네트워크장비를 운영시 OS나 Software Stack등을 보안이나 기능 추가 등의 이유로 업데이터 및 설정 변경 시 이중화를 이용하면 서비스의 다운타임 없이 점검이 가능하다.

 

4. 데이터베이스 암호화

 

4.1 데이터베이스 암호화 개요

 

1. 데이터베이스 보안과 데이터 암호화

데이터베이스 보안은 데이터베이스의 일부분 또는 전체에 대해 권한이 없는 사용자가 액세스하는 것을 금지하기 위해 사용되는 접근 통제 기술과 기밀 데이터에 접근하더라도 비밀성을 보장할 수 있도록 데이터를 암호화한다.

 

2 데이터 암호화 개념

외부로부터의 공격 또는 내부자의 불법행위로 인한 데이터 유출을 방지하기 위해 DB내에 저장된 데이터를 해독 불가능한 형식의 암호문으로 저장하는 행위이다.

 

4.2 DB 암호화 방식

디스크 전체를 암호화하거나 암호화 대상이 되는 기밀정보를 담고 있는 컬럼 레벨로 암호화 하는 경우가 있다.

컬럼 레벨 암호화의 경우 기존 Legacy 애플리케이션의 수정이 필요 없는 plug-in 방식과 애플리케이션의 수정이 필요한 API 방식이 널리 사용되고 있다.

 

1. 디스크 전체 암호화

DB 파일을 보호하고 비인가 사용자에 의한 불법적인 파일 열람을 제한하는 것이다. 인가된 서버만이 정상적인 암호화된 데이터를 해독하고 열람할 수 있게 하는것으로 DB암호화 중 가장 편한 방법이다.

하지만 DB파일을 암호화하는 것은 인가된 DB호스트 서버에 접속하는 다양한 시스템들과 사용자들을 식별하지 못하므로 이를 위해 컬럼 레벨의 암호화가 요구된다.

 

2. 컬럼 암호화

개인정보나 기업의 민감함 정보를 담고있는 특정 테이블의 컬럼만을 암호화하는 것

DB 서버에 접속하는 사용자들을 구분하고 정의된 암복호화 정책에 따라 데이터를 제공하므로 DB 암호화 솔루션 중에 현장에서 가장 널리 쓰이는 솔루션이다.

컬럼 암호화 종류는 Plug-In 방식과 API 호출방식이 있다.

 

5. 접근통제

 

5.1 DB 접근통제개요

데이터베이스에 저장된 데이터에 대해 사용자별 접근권한에 따라 접근을 제한하기 위한 기술이다.

 

1. 접근 통제 개념

데이터베이스의 보안을 구현하는 방법으로 접근 제어 방벙을 사용한다.

접근 통제는 보안 정책에 따라 접근 객체에 대한 접근 주체의 접근 권한 확인 및 이를 기반으로 한 접근 제어를 통해 자우너에 대한 비인가된 사용을 방지하는 기능을 말한다.

 

2. 접근 통제 정책

접근 통제 정책에는 크게 다음과 같은 3가지 유형이 있다.

 

DAC 

시스템 객체에 대한 접근을 사용자 개인 또는 그룹의 식별자를 기반으로 제한하는 방법

MAC

정보시스템 내에서 어떤 주체가 특정 객체에 접근하려 할때 양쪽은 보안 레이블에 기초하여 높은 보아 수준을 요구하는 정보가 낮은 보안 수준의 주체에게 노출되지 않도록 접근을 제한하는 통제 방법

RBAC

사용자가 주어진 역할에 대한 접근 권한을 부여받는 방식

사용자가 바뀌어도 역할에는 변함 없음

 

3. 접근 통제와 DCL 관계

접근 통제 정책 간운데 DBMS에서 채택한 접근 통제 정책은 DAC이다.

접근 통제 용도로 SQL에서 사용하는 명령어가 DCL이다.

 

5.2 DB접근 통제 구성방법

DB 접근제어를 구축하는 방법은 에이전트 방법, 게이트웨이 방법, 스니핑 방법으로 나눌수 있다.

DB 접근제어는 하나의 단일 방식으로 구성하기도 하지만 각 방식마다 장점을 취하고 단점을 보완하기 위하여 여러 방식을 혼합한 하이브리드 방식을 많이 사용한다. 일반적인 하이브리드 구성방식은 에이전트+스니핑 , 게이트웨이 + 스니핑,

게이트웨이+에이전트+스니핑 등이 있다.

 

1. 게이트웨이 방식

DBMS에 접속하기 위한 통로를 별도로 설치한 후 DB사용자가 해당 통로를 통해서만 접근하도록 하는 방식

게이트웨이를 거치도록 하는 기술에 따라 프록시 게이트웨이 방식과 인라인 게이트웨이 방식으로 구분된다.

 

프록시 게이트웨이 방식

별도의 서버를 설치한 후에 독립적인 IP 포트를 부여하고 DB로그인 시 해당 IP 및 포트로 로그인 하도록 한다.

 

인라인 게이트웨이 방식

별도의 장치에 의해 모든 패킷이 자동으로 게이트웨이를 거치는 방식

애플리케이션 서버에서 오는 패킷도 게이트웨이를 거치게 되어 속도 저하가 발생하고, 장애 발생 시 업무 시스템에 대한 영향이 있을 수 있다.

 

2. 스니핑 방식

DB 사용자와 DBMS 서버간에 주고받는 패킷을 복사하여 DB접근 제어 서버에 전달하는 방식이다.

스니핑 방식은 DBMS 서버의 패킷흐름에 전혀 영향을 주지 않아 성능 저하 등의 문제가 발생하지 않는다.

 

3. 에이전트 방식

DB서버에 접근제어를 설치하는 방식

 

4. 하이브리드 방식

별도의 구성방식이 아니라, 스니핑, 게이트웨이, 에이전트를 모두 혹은 이부를 사용하여 혼합한 방식이다.

 

 

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

정보처리기사 32일차  (0) 2021.02.10
정보처리기사 31일차  (0) 2021.02.10
정보처리기사 29일차  (0) 2021.02.08
정보처리기사 28일차  (0) 2021.02.06
정보처리기사 27일차  (0) 2021.02.05

+ Recent posts