2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

정보처리기사 - 데이터베이스 구축(2장) 정리

2025. 5. 11. 14:37ㆍ개발공부/자격증 공부
728x90

물리 데이터베이스 설계

 

트랜잭션 분석 / CRUD 분석

 

트랜잭션 정의
데에터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행 되어야 할 일련의 연산들을 의미한다.

 

트랜잭션의 상태

  • 활동 : 트랜잭션이 실행 중인 상태
  • 실패 : 트랜잭션 실행에 오류가 발생하여 중단된 상태
  • 철회 : 트랜잭션이 비정상적으로 종료되어 ROLLBACK 연산을 수행한 상태
  • 부분 완료 : 프랜잭션을 모두 성공적으로 실행한 후 COMMIT 연산이 실행되기 직전인 상태
  • 완료 : 트랜잭션을 모두 성공적으로 실행한 후 COMMIT 연산을 실행한 상태

 

트랜잭션의 특성

  • 원자성 : 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료되든지 아니면 전혀 반영되지 않도록 복구되어야 함
  • 일관성 : 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환함
  • 독립성 : 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없음
  • 영속성 : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함

 

CRUD 분석

  • CRUD는 생성(C), 읽기(R), 갱신(U), 삭제(D) 의 앞 글자만 모아서 만든 용어
  • CRUD 분석은 데이터베이스 테이블에 변화를 주는 트랜잭션의 CRUD 연산에 대해 CRUD 매트릭스를 작성하여 분석하는 것

 

인덱스 설계

 

인덱스의 개요

  • 데이터 레코드를 빠르게 접근하기 위해 <키, 포인터> 쌍으로 구성되는 데이터 구조
  • 인덱스를 통해서 파일의 레코드에 대한 엑세스를 빠르게 수행할 수 있다.
  • 데이터 정의어(DDL)를 이용하여 사용자가 CREATE, ALTER, DROP 할 수 있다

 

뷰 설계

 

뷰의 특징

  • 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다.
  • 뷰는 저장장치 내에 물리적으로 존재하지 않지만, 사용자에게는 있는 것처럼 간주된다.
  • 기본 테이블의 기본키를 포함한 속성 집합으로 뷰를 구성해야만 삽입, 삭제, 갱신 연산이 가능하다(뷰에서의 삽입, 삭제, 갱신은 원본테이블과의 관계 때문에 제한됨)
  • 독립적인 인덱스를 가질 수 없다
  • 뷰를 정의할 때는 CREATE문, 제거할 때는 DROP문을 사용

 

파티션의 설계

  • 범위 분할 : 지정한 열의 값을 기준으로 범위를 지정하여 분할함
  • 해시 분할
    1. 해시 함수를 적용한 결과 값에 따라 데이터를 분할
    2. 특정 파티션에 데이터가 집중되는 범위 분할의 단점을 보완한 것으로, 데이터를 고르게 분산할 때 유용
    3. 특정 데이터가 어디에 있는지 판단할 수 없다.
    4. 고객번호, 주민번호 드오가 같이 데이터가 고른 컬럼에 횩과적
  • 조합 분할
    1. 범위 분할로 분할한 다음 해시 함수를 적용하여 다시 분할하는 방식
    2. 범위 분할한 파티션이 너무 커서 관리가 어려울 때 유용
  • 목록 분할 : 지정한 열 값에 대한 목록을 만들어 이를 기준을 분할
  • 라운드 로빈 분할
    1. 레코드를 균일하게 분배하는 방식
    2. 각 레코드가 순차적으로 분배되며, 기본키가 필요 없다

 

분산 데이터베이스 설계

 

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

  • 분산 처리기
  • 분산 데이터베이스
  • 통신 네트워크

 

분산 데이터베이스의 목표

  • 위치 투명성 : 액세스하려는 데이터베이스의 실제 위치를 알 필요 없이 단지 데이터베이스의 논리적인 명칭만으로 액세스할 수 있음
  • 중복 투명성 : 동일 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용하고, 시스템은 자동으로 여러 자료에 대한 작업을 수행
  • 병행 투명성 : 분산 데이터베이스와 관련된 다수의 트랜잭션들이 동시에 실현되더라도 그 트랜잭션의 결과는 영향을 받지 않음
  • 장애 투명성 : 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 불구하고 트랜잭션을 정확하게 처리함

 

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

장점 단점
시스템 성능이 향상됨 DBMS가 수행할 기능이 복잡하다
중앙 컴퓨터의 장애가 전체 시스템에 영향을 끼치지 않음 데이터베이스 설계가 어렵다
점진적 시스템 용량 확장이 용이 스프트웨어 개발 비용이 증가

 

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

 

암호화

  • 데이터를 보낼 때 송신자가 지정한 수신자 이외에는 그 내용을 알 수 없도록 평문을 암호문으로 변환하는 것
  • 암호화 과정 : 암호화되지 않은 평문을 정보보호를 위해 암호문으로 바꾸는 과정
  • 복호화 과정 : 암호문을 원래의 평문으로 바꾸는 과정

 

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

 

접근통제 기술

  • 임의 접근통제 : 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여
  • 강제 접근통제 : 주체와 객체의 등급을 비교하여 접근 권한을 부여
  • 역할기반 접근통제 : 사용자의 역할에 따라 접근 권한을 부여

 

벨 라파듈라 모델

  • 군대의 보안 레벨처럼 정보의 기밀성에 따라 상하 관계가 구분된 정보를 보호하기 위해 사용
  • 보안 취급자의 등급을 기준으로 읽기 권한과 쓰기 권한이 제한

 

데이터베이스 백업

 

데이터베이스 백업

  • 전산 장비의 장애에 대비하여 데이터베이스에 저장된 데이터를 보호하고 복구하기 위한 작업
  • 치명적인 데이터 손식을 막기 위해서는 데이터베이스를 정기적으로 백업해야 한다

 

스토리지

 

DAS

  • 서버와 저장장치를 전용 케이블로 직접 연결하는 방식
  • 초기 구축 비용 및 유지보수 비용이 저렴
  • 확장성 및 유연성이 상대적으로 떨어진다
  • 저장 데이터가 적고 공유가 필요 없는 환경에 적합

 

SAN

  • DAS의 빠른 처리와 NAS의 파일 공유 장점을 혼합한 방식
  • 서버와 저장 장치를 연결하는 전용 네트워크를 별도로 구성하는 방식
  • 광 채널 스위치를 이용하여 네트워크를 구성
  • 광 채널 스위치는 서버나 저장장치를 광케이블로 연결하므로 처리 속도가 빠르다
728x90