포스트

21. 물리요소 조사 분석

21. 물리요소 조사 분석

물리 DB 설계

과정

  • 사용자 DBMS 결정

  • 데이터 타입 크기 결정

  • 데이터 용량 설계 및 업무 프로세스 분석

  • 역정규화(반정규화)

  • 인덱스 정의

  • DB 생성

특징

  • 논리적인 설계의 데이터 구조를 보조 기억장치의 파일(물리적인 데이터 모델)로 사상

  • 예상 빈도를 포함하여 DB 질의와 트랜잭션들을 분석

  • 데이터에 대한 효율적인 접근을 제공하기 위하여 저장 구조와 접근 방법을 고려

  • 특정 DBMS의 특성을 고려하여 진행

  • 질의를 효율적으로 지원하기 위해서 인덱스 구조를 적절히 사용

고려사항

무결성 : 삽입, 삭제, 갱신 등의 연산 후에도 저장된 데이터가 정해진 제약조건을 항상 만족해야 함
일관성 : 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야 함
회복성 : 시스템 장애 발생 시, 장애 발생 직전의 상태로 복구할 수 있어야 함
보안 : 불법적인 데이터의 노출 또는 변경으로부터 보호할 수 있어야 함
효율성 : 응답시간 단축, 저장공간의 최적화 등이 가능해야 함
확장성 : DB 운영에 영향을 주지 않으면서 지속적으로 데이터를 추가할 수 있어야 함

논리 - 물리 데이터 모델 변환

  • Entity를 Table로 변환

  • Attribute를 Column으로 변환

  • Primary UIP를 Primary Key 로 변환

  • Secondary(Alternate) UIP를 Unique Key로 변환

  • Relationship을 Foreign Key로 변환

  • Business Constraints를 Check Constraints로 변환


스토리지

개념

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

  • 방대한 데이터를 효율적으로 관리 / 유지하고 가공할 저장장치

종류

DAS | Direct Attached Storage

  • 저장 장치를 직접 호스트(컴퓨터)에 연결하여 관리하는 방식

  • 호스트의 저장 공간이 부족해질 경우 새로운 저장 공간을 확보

장점

  • 호스트에서 저장장치까지 물리적으로 가까운 곳에서 접근하여 속도가 빠르고 확장이 비교적 쉬움

단점

  • 데이터가 증가함에 따라 외부 저장 장치를 계속 추가할 경우 호스트의 운영 효율성이 떨어짐
  • 호스트에 장애가 발생할 경우 저장 장치로의 접근이 제한됨
  • 물리적으로 연결 수가 제한됨

NAS | Network Attached Storage

  • 저장장치를 네트워크에 부착하여 네트워크에 기반한 데이터 공유 방식

  • 저장장치가 다른 호스트 없이 직접 네트워크에 연결되는 방식

장점

  • 네트워크를 통해 데이터를 공유하므로 높은 대역폭의 네트워크를 통한 전송 속도 확보가 가능하고 여러 장치들에서 데이터의 입출력이 용이
  • 전용 OS를 사용하여 DAS 방식 대비 입출력 속도가 높음

단점

  • 네트워크를 사용해야 하므로 전송속도에 제한이 있음
  • 데이터를 캡슐화하는 과정에서 속도지연이 발생할 수 있음
  • 네트워크의 병목 현상에 취약

SAN | Storage Area Network

  • 저장장치를 데이터 서버와 연결하여 별도의 네트워크로 관리하는 고속 네트워크 시스템

  • 일반적으로 광을 이용한 네트워크

장점

  • 성능 및 용량 확장성이 좋음
  • 가상화 환경을 구축하기 좋음

단점

  • 구성에 따라 네트워크의 복잡도가 높아짐
  • 상대적으로 비싸며 관리 포인트가 많아짐

RAID | Redundant Array of Inexpensive Disks

개념

  • 복수의 HDD를 하나의 드라이브와 같이 인식하고 표기

  • HDD의 신뢰성을 높여줌

  • 데이터를 분산하여 쓸 수 있어 고속화를 기대할 수 있음

구성

Striping

  • 논리적으로 연속된 데이터들이 물리적으로 여러 개의 디스크에 라운드로빈 방식으로 저장되는 형태

Mirroring

  • 데이터를 그대로 복제하는 것으로 신뢰성 확보를 위해 사용

형태

RAID - 0

  • 빠른 데이터 입출력을 위해 스트라이핑을 사용하는 방식으로, 디스크의 모든 용량을 사용
  • 하나의 디스크가 잘못되면 데이터를 잃어버릴 수 있음

RAID - 1

  • 두 개 이상의 디스크를 미러링을 통해 하나의 디스크처럼 사용
  • 완전히 동일하게 데이터를 복제하기 때문에 가용량이 절반
  • 하나의 디스크에서 에러가 발생하면 미러링 된 디스크를 통해 복구 가능

RAID - 2

  • 오류 정정을 위한 해밍코드를 사용하는 방식

RAID - 3

  • 하나의 디스크를 패리티(Parity) 정보를 위해 사용하고 나머지 디스크에 데이터를 균등하게 분산 저장
  • 하나의 디스크에서 에러가 발생하면 패리티 디스크를 통해 복구 가능

RAID - 4

  • RAID - 3과 같이 패리티 정보를 독립된 디스크에 저장
  • 블록 단위로 분산 저장하는 차이가 있음

RAID - 5

  • 3개 이상의 디스크를 붙여서 하나의 디스크처럼 사용하고 각각의 디스크에 패리티 정보를 가지고 있는 방식
  • 패리티 디스크를 별도로 사용하지 않음으로 병목현상이 발생하지 않음

RAID - 6

  • 하나의 패리티를 두 개의 디스크에 분산 저장하는 방식
  • 패리티를 이중으로 저장하기 때문에 두 개의 디스크에 에러가 발생해도 정상적 복구 가능

분산 DB

정의

  • 여러 곳으로 분산되어있는 DB를 하나의 가상 시스템으로 사용할 수 있도록 한 DB

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

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

구성요소

분산 처리기

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

분산 DB

  • 지리적으로 분산되어 있는 DB로서 해당 지역의 특성에 맞게 DB가 구성

통신 네트워크

  • 분산처리기등을 통신망으로 연결하여 논리적으로 하나의 시스템처럼 작동할 수 있도록 하는 통신 네트워크

장 & 단점

장점

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

  • 신뢰성과 가용성 높음

  • 효용성과 융통성 높음

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

  • 시스템 규모의 적절한 조절

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

단점

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

  • 오류의 잠재성 증대

  • 처리 비용의 증대

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

  • 불규칙한 응답 속도

  • 통제의 어려움

  • 데이터 무결성에 대한 위협

적용 기법

테이블 위치 분산

  • 설계된 테이블의 위치를 각각 다르게 위치시키는 것

  • 테이블의 구조가 변하지 않고, DB에 중복되어 생성되지 않음

테이블 분할 분산 | Fragmentation

  • 각각의 테이블을 쪼개어 분산하는 방법

종류

수평 분할 | Horizontal Fragmentation

  • 테이블을 특정 칼럼의 값을 기준으로 로우를 분리
  • 컬럼은 분리되지 않음

수직 분할 | Vertical Fragmentation

  • 테이블 칼럼을 기준으로 컬럼을 분리

테이블 복제 분산 | Replication

  • 동일한 테이블을 다른 지역이나 서버에서 동시에 생성하여 관리하는 유형

종류

부분 복제 | Segment Replication

  • 마스터 DB에서 테이블의 일부의 내용만 다른 지역이나 서버에 복제

광역 복제 | Broadcast Replication

  • 마스터 DB의 테이블의 내용을 각 지역이나 서버에 복제

테이블 요약 분산 | Summarization

  • 지역 간에 또는 서버 간에 데이터가 비슷하지만 서로 다른 유형으로 존재

종류

분석 요약 | Rollup Replication

  • 각 지역별로 존재하는 요약정보를 마스터에 통합하여 다시 전체에 대해서 요약정보를 산출하는 분산방법

통합 요약 | Consolidation Replication

  • 각 지역별로 존재하는 다른 내용의 정보를 마스터에 통합하여 다시 전체에 대해서 요약정보를 산출하는 분산방법

투명성 조건 | Transparency

` 위치 투명성Location`
  • 액세스하려는 DB의 실제 위치를 알 필요 없이 단지 DB의 논리적인 명칭만으로 액세스할 수 있음

  • 데이터가 물리적으로 저장되어 있는 곳을 알 필요 없이 논리적인 입장에서 데이터가 모두 자신의 사이트에 있는 것처럼 처리하는 특성

분할 투명성 | Division

  • 하나의 논리적 테이블이 여려 단편으로 분할되어 각 단편의 사본이 여러 위치에 저장

지역사상 투명성 | Local Mapping

  • 지역 DBMS와 물리적 DB 사이의 Mapping 보장

  • 각 지역 시스템 이름과 무관한 이름 사용 가능

중복 투명성 | Replication

  • 동일 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용하고, 시스템은 자동으로 여러 자료에 대한 작업을 수행

병행 투명성 | Concurrency

  • 분산 DB와 관련된 다수의 트랜잭션들이 동시에 실현되더라도 그 트랜잭션의 결과는 영향을 받지 않음

장애 투명성 | Failure

  • 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 불구하고 트랜잭션을 정확하게 처리

DB 이중화

구성

  • 장애 발생 시 DB를 보호하기 위한 방법으로 동일한 DB를 중복시켜 동시에 갱신하여 관리하는 방법

  • 서버와 네트워크, 프로그램 등의 정보 시스템이 지속적으로 정상 운영이 가능한 고가용성(HAHigh Availability) 서버로 구성

목적

  • 장애 또는 재해 시 빠른 서비스 재개를 위함

  • 원활한 서비스의 성능을 보장하기 위함

분류

Eager 기법

  • 트랜잭션 수행 중에 발생한 변경은 발생 즉시 모든 이중화서버로 전달하여 변경 내용 반영

Lazy 기법

  • 트랜잭션의 수행이 완전히 완료된 후에 변경 사실에 대한 새로운 트랜잭션을 작성하여 각 노드에게 전달하는 기법

종류

Active - Active

  • 다중화된 장비가 모두 가동되는 방식

  • 두 대를 모두 사용하기 때문에 처리율이 높지만 구성이 복잡

  • 사용자 세션관리와 부하에 대한 분산처리에 대해 고려

Active - Standby

  • 두 대 중 하나는 가동이 되고, 하나는 장애 상황의 경우를 대비하여 준비상태로 대기

  • 장애가 발생하여 Active 장비가 죽게 되면 Standby 장비가 Active 상태가 되어 서비스에 문제가 없도록 처리

  • 종류 : Hot Standby, Warm Standby, Cold Standby

고가용성 | High Availability

  • 서버와 네트워크, 프로그램 등의 정보 시스템이 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질

  • 가용성이 높다는 의미로 고장이 나지 않음을 의미

  • 고가용성을 제공하기 위해 주로 2개의 서버를 연결하는 방식 사용


DB 암호화

개념

  • DB의 내용을 암호화하는 것

  • 주민등록번호, 신용카드번호 등 민감한 개인정보를 DB에 저장한 경우, 해킹 등으로 유출될 것에 대비하여 DB내용을 암호화하는 것

필요성

  • 데이터 자산가치의 증가

  • 내부자에 의한 정보 유출 및 보안사고 급증

  • 피해규모, 확산속도 가속 및 막대한 사회적 비용 발생

  • 개인정보 유출에 대한 불안감 고조 및 신뢰성 저하

  • 어플리케이션 구축 및 운영 시의 보안 허점

방식

API 방식

  • DB 솔루션 외부의 어플리케이션에서 데이터의 암 / 복호화를 수행

Plug-in 방식

  • DB 서버에 제품을 설치 -> 암 / 복호화 수행

TDE 방식 | Transparent Data Encryption

  • DBMS에 내장 또는 옵션으로 제공되는 암호화 기능을 이용하는 방식

  • DB 내부에서 암 / 복호 처리를 하는 방식

  • 응용 프로그램에 대한 수정이 없고 인덱스의 경우 DBMS 자체 인덱스 기능과 연동이 가능

파일 암호화 방식

  • 데이터뿐만 아니라 비정형 데이터 암호화 적용 가능

하드웨어 방식

  • 별도의 하드웨어 장비를 외부에 설치

Hybrid 방식

  • Plug-in 방식의 단점인 배치 업무의 성능 저하를 보완하기 위해 API방식을 이용하는 구성

국가정보원 권고사항

안전한 알고리즘

  • 안전성이 검증된 암호모듈, 알고리즘 등 사용

  • SEED, ARIA, SHA-256

암호 키 관리

  • 암호키 생성, 접근, 갱신, 파기 등의 안전성 확보

데이터 암 / 복호화

  • 암호문, 인덱스 등 중요 데이터의 안전성 확보

접근 통제

  • 비인가자의 접근 차단

암호 통신

  • 전송 데이터의 기밀성, 무결성 유지

식별 및 인증

  • 제품 사용자의 신원 확인 및 검증

보안 감사

  • 제품 관련 중요 이벤트에 대한 감사 기록

보안 관리

  • 보안 정책, 검사 기록 등의 효율적인 관리
이 기사는 저작권자의 CC BY-NC 4.0 라이센스를 따릅니다.