Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스프링 mvc2 - 타임리프
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch4
- 자바의 정석 기초편 ch3
- 자바의 정석 기초편 ch12
- 자바의 정석 기초편 ch11
- 스프링 mvc1 - 스프링 mvc
- 자바의 정석 기초편 ch6
- 스프링 고급 - 스프링 aop
- 자바의 정석 기초편 ch1
- 자바의 정석 기초편 ch5
- 자바의 정석 기초편 ch8
- 스프링 mvc2 - 로그인 처리
- 자바의 정석 기초편 ch14
- 코드로 시작하는 자바 첫걸음
- 스프링 db1 - 스프링과 문제 해결
- jpa 활용2 - api 개발 고급
- 자바의 정석 기초편 ch13
- 스프링 mvc2 - 검증
- 2024 정보처리기사 수제비 실기
- jpa - 객체지향 쿼리 언어
- 타임리프 - 기본기능
- 게시글 목록 api
- 스프링 db2 - 데이터 접근 기술
- 2024 정보처리기사 시나공 필기
- 자바의 정석 기초편 ch2
- 자바의 정석 기초편 ch7
- 스프링 입문(무료)
- 스프링 mvc1 - 서블릿
- @Aspect
Archives
- Today
- Total
나구리의 개발공부기록
2장 - 물리 데이터베이스 설계 핵심 요약 본문
2024정보처리기사 준비 정리(필기 - 시나공, 실기 - 수제비)/필기 3강 - 데이터베이스 구축
2장 - 물리 데이터베이스 설계 핵심 요약
소소한나구리 2024. 5. 5. 22:192024년도 시나공 필기 책 내용 정리
섹션10. 트랜잭션 분석/CRUD 분석
1. 트랜잭션(Transaction) 정의
- 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야할 일련의 연산을 의미
2. 트랜잭션의 상태
- 활동(Active): 트랜잭션이 실행 중인 상태
- 실패(Failed): 트랜잭션 실행에 오류가 발생하여 중단된 상태
- 철회(Aborted): 트랜잭션이 비정상적으로 종료되어 Rollback 연산을 수행한 상태
- 부분 완료(Partially Committed): 트랜잭션을 모두 성공적으로 실행한 후 Commit 연산이 실행되기 직전인 상태
- 완료(Committed): 트랜잭셔을 모두 성공적으로 실행한 후Commit 연산을 실행한 후의 상태
3. 트랜잭션의 특성
- Atomicity(원자성): 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료(Commit)되든지 아니면 전혀 반영 되지 않도록 복구(Rollback)되어야 함
- Consistency(일관성): 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환함
- Isolation(독립성): 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없음
- Durability(영속성): 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함
4. CRUD분석
- 생성(Create), 읽기(Read), 갱신(Update), 삭제(Delete)의 앞글자만 모아서 만든 용어
- 데이터베이스 테이블에 변화를 주는 트랜잭션의 CRUD연산에 대해 CRUD매트릭스를 작성하여 분석하는 것
섹션11. 인덱스 설계
1. 인덱스(Index)의 개요
- 데이터 레코드를 빠르게 접근하기 위해<키 값, 포인터> 쌍으루 구성되는 데이터 구조
- 인덱스를 통해서 파일의 레코드에 대한 엑세스를 빠르게 수행할 수 있음
- 데이터 정의어(DDL)을 이용하여 사용자가 생성(CREATE), 변경(ALTER), 제거(DROP)할 수 있음
섹션12. 뷰(View) 설계
1.뷰(View)특징
- 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 이름을 가지는 가상 테이블
- 저장장치 내에 물리적으로 존재하지 않지만 사용자에게는 있는것 처럼 간주됨
- 기본 테이블의 기본키를 포함한 속성(열) 집합으로 뷰를 구성해야만 삽입, 삭제, 갱신 연산이 가능함
- 뷰를 정의할 때는 CREATE문, 제거할 때는 DROP문을 사용
섹션13. 파티션의 설계
1. 파티션의 종류
- 범위 분할(Range Partitioning): 지정한 열의 값을 기준으로 범위를 지정하여 분할
- 해시 분할(Hash Partitioning)
- 해시 함수를 적용한 결과 값에 따라 데이터를 분할
- 특정 파티션에 데이터가 집중되는 범위 분할의 단점을 보완한 것으로 데이터를 고르게 분산할 때 유용함
- 특정 데이터가 어디에 있는지 판단할 수 없음
- 고객번호, 주민번호 등과 같이 데이터가 고른컬럼에 효과적임
- 조합 분할(Composite Partitioning)
- 범위 분할로 분할한 다음 해시 함수를 적용하여 다시 분할하는 방식
- 범위 분할한 파티션이 너무 커서 관리가 어려울 때 유용
- 목록 분할(List Partitioning): 지정한 열 값에 대한 목록을 만들어 이를 기준으로 분할
- 라운드 로빈 분할(Round Robin Partitioning)
- 레코드를 균일하게 분배하는 방식
- 각 레코드가 순차적으로 분배되며 기본키가 필요 없음
섹션14. 분산 데이터베이스 설계
1. 분산 데이터베이스의 구성요소
- 분산 처리기
- 분산 데이터베이스
- 통신 네트워크
2. 분산 데이터베이스의 목표
- 위치 투명성(Location Transparency): 액세스하려는 데이터베이스의 실제 위치를 알 필요 없이 단지 데이터베이스의 논리적인 명칭만으로 액세스 할 수 있음
- 중복 투명성(Duplication Transparency): 동일 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용하고, 시스템은 자동으로 여러 자료에 대한 작업을 수행함
- 병행 투명성(Concurrency Transparency): 분산 데이터베이스와 관련된 다수의 트랜잭션들이 동시에 실현되더라도 그 트랜잭션의 결과는 영향을 받지 않음
- 장애 투명성(Failure Transparency): 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 불구하고 트랜잭션을 정확하게 처리함
3. 분산 데이터베이스의 장/단점
장점 | 단점 |
시스템 성능이 향상됨 중앙 컴퓨터의 장애가 전체 시스템에 영향을 끼치지 않음 점진적 시스템 용량 확장이 용이함 |
DBMS가 수행할 기능이 복잡함 데이터 베이스 설계가 어려움 소프트웨어 개발 비용이 증가됨 |
섹션15. 데이터베이스보안(암호화)
1. 암호화(Encryption)
- 데이터를 보낼 때 송신자가 지정한 수신자 이외에는 그 내용을 알 수 없도록 평문을 암호문으로 변환하는 것
- 암호화(Encryption): 암호화 되지 않은 평문을 정보보호를 위해 암호문으로 바꾸는 과정
- 복호화(Decryption): 암호문을 원래의 평문으로 바꾸는 과정
섹션16. 데이터베이스보안(접근통제)
1. 접근통제 기술
- 임의 접근통제(DAC; Discretionary Access Control): 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여
- 강제 접근통제(MAC; Mandatory Access Control): 주체와 객체의 등급을 비교하여 접근 권한을 부여
- 역할기반 접근통제(RBAC; Role Based Access Control): 사용자의 역할에 따라 접근 권한을 부여하는 방식
2. 벨 라파듈라 모델(Bell-Lapadula Model)
- 군대의 보안 레벨처럼 정보의 기밀성에 따라 상하가 구분된 정보를 보호하기 위해 사용됨
- 보안 취급자의 등급을 기준으로 읽기 권한과 쓰기 권한이 제한됨
섹션17. 데이터베이스 백업
1. 데이터베이스 백업
- 전산 장비의 장애에 대비하여 데이터베이스에 저장된 데이터를 보호하고 복구하기 위한 작업
- 치명적인 데이터 손실을 막기 위해서는 데이터베이스를 정기적으로 백업해야 함
섹션18. 스토리지
1. DAS(Direct Attached Strorage)
- 서버와 저장장치를 전용 케이블로 직접 연결하는 방식
- 초기 구축 비용 및 유지보수 비용이 저렴함
- 확장성 및 유연성이 상대적으로 떨어짐
- 저장 데이터가 적고 공유가 필요 없는 환경에 적합
2. SAN(Storage Area Network)
- DAS의 빠른 처리와 NAS의 파일 공유 장접을 혼합한 방식
- 서버와 저장 장치를 연결하는 전용 네트워크를 별도로 구성하는 방식
- 광 채널(FC) 스위치를 이용하여 네트워크를 구성하며 서버나 저장장치를 광케이블로 연결하므로 처리 속도가 빠름