2025/11/18 13

[3과목 데이터베이스 구축] 물리 데이터베이스 설계 - 102. ⭐ 데이터베이스 보안 - 접근 통제

데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것자원의 불법적인 접근 및 파괴를 예방을 위한 통제 방법비인가된 사용자의 접근 감시접근 요구자의 사용자 식별접근 요구의 정당성 확인 및 기록보안 정책에 근거한 접근 승인 및 거부1. ⭐ 접근 통제 기술1) 임의 접근 통제 (DAC; Discretionary Access Control)데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하는 방식데이터 소유자가 접근통제 권한을 지정하고 제어함객체를 생성한 사용자가 생성된 객체에 대한 모든 권한을 부여받고, 부여된 권한을 다른 사용자에게 허가할 수 있음GRANT, REVOKE2) 강제 접근 통제 (MAC; Mandatory Access Control)주체와 객체의 등급을 비교하여 접..

[3과목 데이터베이스 구축] 물리 데이터베이스 설계 - 101. ⭐ 데이터베이스 보안 / 암호화

1. 데이터베이스 보안데이터베이스의 일부분 또는 전체에 대해 권한이 없는 사용자가 액세스하는 것을 금지하기 위해 하용되는 기술데이터 단위는 테이블 전체로부터 특정 테이블의 특정한 행과 열 위치에 있는 특정한 데이터 값에 이르기까지 다양사용자들은 일반적으로 서로 다른 객체에 대하여 다른 접근 권리 또는 권한을 갖음2. ⭐ 암호화(Encryption)데이터를 보낼 때 송신자가 지정한 수신자 이외에는 내용을 알 수 없도록 평문을 암호문으로 변환하는 것암호화(Encryption) 과정 : 암호화되지 않은 평균을 정보 보호를 위해 암호문으로 바꾸는 과정복호화(Decyption) 과정 : 암호문을 원래 평문으로 바꾸는 과정 3. 암호화 기법1) 개인키 암호 방식 (Private Key Encryprion) = 비밀..

[3과목 데이터베이스 구축] 물리 데이터베이스 설계 - 100. 데이터베이스 이중화 / 서버 클러스터링

1. 데이터베이스 이중화(Database Replication)시스템 오류로 인한 데이터베이스 서비스 중단이나 물리적 손상 발생시 복구하기 위해 동일한 데이터베이스를 복제하여 관리하는 것데이터베이스가 항상 같은 상태를 유지하므로 데이터베이스에 문제 발생시, 복제된 데이터베이스를 이용하여 즉시 문제 해결사용자가 수행하는 작업이 데이터베이스 이중화 시스템에 연결된 다른 데이터베이스에도 동일하게 적용됨데이터베이스 부하 감소손쉽게 백업 서버를 운영2. 데이터베이스 이중화의 분류Eager 기법트랜잭션 수행 중 데이터 변경이 발생하면 이중화된 모든 데이터베이스에 즉시 전달하여 변경 내용이 즉시 적용되도록 하는 기법Lazy 기법트랜잭션의 수행이 종료되면 변경 사실을 새로운 트랜잭셩에 작성하여 각 데이터베이스에 전달되..

[3과목 데이터베이스 구축] 물리 데이터베이스 설계 - 099. ⭐ 분산 데이터베이스 설계

논리적으로는 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 여러 개의 컴퓨터 사이트에 분산되어 있는 데이터베이스데이터의 처리나 이용이 많은 지역에 데이터베이스를 위치시킴으로써 데이터의 처리가 가능한 해당 지역에서 해결될 수 있도록 함1. ⭐ 분산 데이터베이스의 구성 요소1) 분산 처리기자체적으로 처리 능력을 가짐지리적으로 분산되어 있는 컴퓨터 시스템2) 분산 데이터베이스지리적으로 분산되어 있는 데이터베이스로서 해당 지역의 특성에 맞게 데이터베이스가 구성됨3) 통신 네트워크분산 처리기들을 통신망으로 연결하여 논리적으로 하나의 시스템처럼 작동할 수 있도록 하는 통신 네트워크2. 분산 데이터베이스 설계 시 고려 사항작업부하(Work Load)의 노드별 분산 정책지역의 자치성 보장 정책데이터의 일..

[3과목 데이터베이스 구축] 물리 데이터베이스 설계 - 098. 데이터베이스 용량 설계

데이터가 저장될 공간을 정의하는 것테이블에 저장할 데이터양과 인덱스, 클러스터 등 차지하는 공간 등을 예측하여 반영1. 데이터베이스 용량 설계 목적디스크의 저장 공간을 효과적으로 사용하고 확장성 및 가용성을 높임디스크의 입 · 출력 부하를 분산시키고 채널의 병목 현상을 최소화 함데이터 접근성 향상테이블의 테이블스페이스와 인덱스의 테이블스페이스를 분리하여 구성테입블스페이스와 임시 테이블스페이스를 분리하여 구성테이블을 마스터 테이블과 트랜잭션 테이블로 분류오브젝트 익스텐트 발생을 최소화하여 성능 향상익스텐트(Extent) : 기본적인 용량이 모두 찼을 경우 추가적으로 할당되는 공간테이블과 인덱스에 적합한 저장 옵션을 지정2. 데이터베이스 용량 분석 절차① 데이터 예상 건수, 로우 길이, 보존 기간, 증가율 ..

[3과목 데이터베이스 구축] 물리 데이터베이스 설계 - 097. ⭐ 파티션 (Partition) 설계

1. 파티션의 개요대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것대용량 DB의 경우 중요한 몇 개의 테이블에만 집중되어 데이터가 증가되므로, 작은 단위로 나눠 분산시키면 성능 저하를 방지할 뿐만 아니라 데이터 관리도 용이테이블이나 인덱스를 파티셔닝하면 파티션키 또는 인덱스키에 따라 물리적으로 별도의 공간에 데이터가 저장됨데이터 처리는 테이블 단위, 데이터 저장은 파티션별로 수행2. 파티션 장 · 단점장점데이터 접근 시 액세스 범위를 줄여 쿼리 성능 향상파티션별로 데이터가 분산되어 저장되므로 디스크의 성능 향상파티션별로 백업 및 복구를 수행하므로 속도가 빠름시스템 장애 시 데이터 손상 정도를 최소화데이터 가용성 향상파티션 단위로 입 · 출력을 분산단점하나의 테이블을 세분화하여 관리하므..

[3과목 데이터베이스 구축] 물리 데이터베이스 설계 - 096. 클러스터 (Cluster) 설계

1. 클러스터 개요데이터 저장 시 데이터 액세스 효율을 향상시키기 위해 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장방법클러스터링키로 지정된 컬럼 값의 순서대로 저장되고, 여러 개의 테이블이 하나의 클러스터에 저장됨 2. 클러스터 특징데이터 조회 속도 향상데이터 입력, 수적, 삭제에 대한 성능 저하데이터 분포도가 넓을수록 유리 → 저장공간 절약클러스터링키 열을 공유하므로 저장공간이 줄어듬대용량을 저리하는 트랜잭션은 전체 테이블을 스캔하는 일이 자주 발생하므로 클러스터링하지 않는 것이 좋음단일 테이블 클러스터링 : 처리 범위가 넓은 경우다중 테이블 클러스터링 : 조인이 많이 발생하는 경우파티셔닝된 테이블에는 클러스터링 할 수 없음비슷한 데이터가 동일한 데이터 블록에 저장되기에 디스크 I..

[3과목 데이터베이스 구축] 물리 데이터베이스 설계 - 095. ⭐ 뷰 (View) 설계

1. 뷰의 개요사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위한 가상 테이블저장장치 내에 물리적으로 미존재하지만, 사용자에게는 있는 것처럼 간주됨데이터 보정 작업, 처리 과정 시험 등 임시적인 작업을 위한 용도로 활용조인문의 사용 최소화로 사용상의 편의성을 최대화뷰 정의가 시스템 내에 저장되었다가 생성된 뷰 이름을 질의어에서 사용할 경우 질의어가 실행될 때 뷰에 정의된 기본 테이블로 대체되어 기본 테이블에 대해 실행2. ⭐ 뷰의 특징기본 테이블과 같은 형태의 구조를 사용하며, 조작도 기본 테이블과 거의 동일가상 테이블이기 때문에 물리적으로 구현되어 있지 않음데이터의 논리적 독립성을 제공필요한 데이터만 뷰로 정의해서 처리할 수 있기에 관리가 용이하고 명령문이 간단해짐뷰에 나타나지 않는 데이터를 안..

[3과목 데이터베이스 구축] 물리 데이터베이스 설계 - 094. ⭐ 인덱스 (Index) 설계

1. 인덱스 개념데이터 레코드를 빠르게 접근하기 위해 쌍으로 구성되는 데이터 구조 데이터가 저장된 물리적 구조와 밀접한 관계 존재레코드가 저장된 물리적 구조에 접근하는 방법을 제공파일의 레코드에 대한 액세스를 빠르게 수행레코드 삽입, 삭제가 수시로 일어나는 경우, 인덱스의 개수를 최소로 하는 것이 효율적DDL 이용하여 사용자가 생성, 변경, 제거인덱스가 없으면 특정한 값을 찾기 위해 모든 데이터 페이지를 확인하는 TABLE SCAN이 발생기본 인덱스 : 기본키를 위한 인덱스보조 인덱스 : 기본 인덱스가 아닌 인덱스대부분 관계형 데이터베이스 관리 시스템에서는 모든 기본키에 대해 자동적으로 기본 인덱스 생성클러스터드(Clustered)인데스 : 레코드의 물리적 순서가 인덱스의 엔트리 순서와 일치하게 유지되..

[3과목 데이터베이스 구축] 물리 데이터베이스 설계 - 093. ⭐ 트랜잭션 분석 / CRUD 분석

1. 트랜잭션 정의데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위로 사용됨사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업 단위로 사용됨2. ⭐ 트랜잭션의 상태활동(Active)트랜잭션이 실행 중인 상태실패(Failed)트랜잭션 실행에 오류가 발생하여 중단된 상태철회(Aborted)트랜잭션이 비정상적으로 종료되어 Rollback연산을 수행한 상태부분 완료(Partially Committed)트랜잭션을 모두 성공적으로 실행한 후 Commit 연산이 실행되기 직전인 상태완료(Committed)트랜잭션을 모두 성공적으로 실행한 후 Commi..