반응형

트랜잭션(직렬성)

 

1. 트랜잭션은 왜 사용하는가?

 

응용프로그램을 이용하여 데이터를 관리(CRUD) 하기 위해 데이터베이스를 이용한다. 다중의 사용자가 실시간으로 데이터를 접근하고 공유할수 있게 해주는 시스템이다.

 

여기에서 트랜잭션이라는 개념이 나온다.

 

트랜잭션은 무엇일까? 트랜잭션은 정보의 교환이나 데이터베이스 갱신 등 연관되는 작업들에 대한 일련의 연속을 의미하며, 데이터베이스의 무결성이 보장되는 상태에서 요청된 작업을 완수하기 위한 작업의 기본단위로 정의 할 수있다.

 

다수의 사용자가 동시에 접근하여 데이터를 생성,수정,삭제,조회 하는 과정에서 데이터의 무결성과 신뢰성을 보장하기 위해 데이터베이스 시스템에서 제공하는 기능이라고 보면 될것이다.

 

 

2. 트랜잭션 수행방법은?

트랜잭션 수행방법
트랜잭션 절차

트랜잭션은 실행, 부분완료, 완료, 실패, 철회의 단계로 나뉜다.


실행은 트랜잭션이 실행을 시작했거나, 실행중인 상태이며, 부분와료는 트랜잭션이 마지막 명령을 실행한 후에 상태이다.

 

실패는 정상적 실행을 더이상 행할 수 없음을 발견된 후의 상태이며, 철회는 트랜잭션이 복원되어 트랜잭션 수행 이전 상태로 환원된 후의 상태이다.

 

마지막으로 완료는 트랜잭션이 성공적으로 완료된 상태이다. 완료의 상태가 되면 데이터의 생성, 수정, 삭제의 상태가 정상적으로 처리된 상태이다.

 

 

3. 트랜잭션 직렬성이란?

 

트랜잭션 직렬성이란 복수개의 트랜잭션이 동시에 병행 수행되더라도 개별 트랜잭션이 차례대로 수행되는것과 결과가 같은 데이터베이스의 일관성을 보장하는 특성이다.

 

 

트랜잭션 직렬성은 충돌 직렬성과 뷰직렬성으로 구분할 수 있다.

 - 충돌 직렬성 : 두 명령어 I, J 가 동시에 항목 Q에 접근
   : Ti = read(Q), Tj = read(Q) 미충돌 <= 순서가 바뀌어도 직렬성 보장, 충돌 직렬 가능 스케줄
   : Ti = read(Q), Tj = write(Q) 충돌
   : Ti = read(Q), Tj = read(Q) 충돌
   : Ti = write(Q), Tj = write(Q) 충돌

 - 뷰 직렬성 : 맹목 쓰기(blind write)시 직렬성 훼손, 스케줄(S, S')간의 순차적 실행, 뷰 직렬 가능 스케줄

여기서 직렬 스케줄의 개념은 스케줄에 참가하는 각 트랜잭션 T에 대해서 T에 속한 모든 연산들이 다른 트랜잭션의 연산들과 인터리빙되지 않고 연속적으로 실행될 때 직렬 스케줄이라고 한다.

 

수식으로 표현하면 아래와 같다.

수식 표시 : 뷰 직렬 스케줄 ⊇ 충돌 직렬 스케줄

 

충돌직렬 가능 스케줄은  하나의 자원에 대해 동시에 수행하는 여러 개 트랜잭션의 순서를 바꾸어도 결과값이 변경되지 않는 상태이며,

 

뷰 직렬 가능 스케줄은 인터리빙하게 수행되는 스케줄 S와 순차적으로 수행되는 스케줄 S'를 비교해서 동일한 데이터 Q를 '초기 읽기', '쓰기/읽기', '마지막 쓰기' 순서만 같다면 뷰직렬 가능 스케줄이다.

 

데이터베이스는 ACID(원자성, 일관성, 고립성, 지속성)특성이 있으며 이 개념을 명확히 해야 한다.

 

관련 내용은 다음에 다시 이어서 작성하자.

 

반응형

'IT지식 > 데이터베이스' 카테고리의 다른 글

DBMS(Database Management System)  (0) 2023.09.05
클라우드 보안 인증제  (0) 2023.04.06
개념적 모델링  (0) 2023.04.05
반응형

DBMS(Database Management System)

 

1. DBMS(Database Management System)이란 무엇인가?

 

DBMS란 조직에서 응용시스템에 저장되는 데이터를 공유하기 위해 최소의 중복으로 통합, 저장, 운영된 데이터의 집합이다.

 

가장 대표적인 DBMS 유형으로는 관계형 데이터베이스인 RDBMS(Relation Database Management System)가 존재하며 최근에는 대량의 데이터를 처리하기 위한 분산형 데이터베이스를 사용하기도 한다.

 

여기에서는 일반적으로 사용하는 RDBMS에 대해서 설명한다.

 

 

2. DBMS(Database Management System) 조작어 설명

구분 언어 내용
DDL Create Table
Alter Table
Drop Table
- Data Definition Language
- 데이터베이스의 스키마를 정의하고, 명시된 문장이 입력되어지면 DBMS가 스키마에 대한 명세를 시스템 카탈로그(데이터사전)에 저장
DML Select
Insert
Delete
Update
- Data Mulipulation Language
- 데이터베이스의 원하는 데이터를 수정하고, 삽입하고, 삭제하는 언어
- 절차적 DML(응용프로그램), 비절차적 DML(질의어)
DCL Grant
Revoke
- Data Control Language
- 데이터베이스의 규정이나 기법정의하고 제어하는 언어
- 권한부여/취소, 세션 킬 등 관리 목적
- 데이터 보안, 무결성, 데이터회복, 병행수행 제어를 명세 할 수 있는 명령어

DBMS 조작어를 통해 데이터를 삭제, 삽입, 수정 등 핸들링 한다.

 

 

3. DBMS(Database Management System) 구성도

DBMS(Database Management System) 구성도
DBMS(Database Management System) 구성도

DB 사용자는 최종 사용자, 응용프로그래머, DBA로 나뉜다. 각각의 역할에 따라 데이터베이스 권한을 설정한다.

SQL 처리 과정으로는 SQL Parsing, Optimization, Row-Source Generation, Execution의 단계로 진행 된다.

 

SQL Parsing은 SQL 문장을 이루는 개별 구성요소를 분석하고 Parsing 하여 Parsing Tree를 만든다.

 

Optimization은 옵티마이저가 시스템 통계 및 오브젝트 통계 정보를 판단 기준으로 삼아 다양한 엑세스 경로를 비교하고 그 중 가장 효율적인 실행 계획을 선택한다.

 

Row-Source Generation은 최적화 과정을거치면 SQL 처리과정으로 표현한 실행 계획이 만들어진다.

 

Execution은 Data File에서 원하는 정보가 있는 데이터 블록을 Database Buffer Cache 에 복사한다.

 

데이터베이스 파일은 일반적으로 서버에 저장되며, 용량이 클 경우에는 별도 저장장치에 보관하고 서버와 마운트를 하여 데이터를 관리하는 방법도 있다.

 

 

반응형

'IT지식 > 데이터베이스' 카테고리의 다른 글

트랜잭션(직렬성)  (0) 2023.09.11
클라우드 보안 인증제  (0) 2023.04.06
개념적 모델링  (0) 2023.04.05
반응형

클라우드 보안 인증제

 

*목차

1. 클라우드 보안 인증제 정의 및 법적근거

 가. 클라우드 보안인증제 정의

 나. 클라우드 보안인증제 법적근거

2. 클라우드 보안인증제 인증체계 및 인증기준

 가. 클라우드 보안인증제 인증체계

 나. 클라우드 보안인증제 인증기준

3. 클라우드 보안인증제 유지방안

 

 

*내용

1. 민간 클라우드 서비스 활성화를 위한, 클라우드 보안 인증제 정의 및 법적근거

구분 내용
정의  - 정보보호 기준의 준수여부 확인을 인증기관이 평가·인증하여 이용자들이 안심하고 클라우드 서비스를 이용할 수 있도록 지원하는 제도
법적근거   -  클라우드 컴퓨팅 발전법 제 23조 2항, 클라우드컴퓨팅법 시행령 제3조 제1호(IaaS), 제3조 제2호(SaaS), 클라우드컴퓨팅서비스 정보보호에 관한 기준 고시

2. 클라우드 보안인증제 인증체계 및 인증기준

 가. 클라우드 보안인증제 인증체계

클라우드보안인증제 인증체계

  나. 클라우드 보안인증제 인증 기준

클라우드 보안인증제 인증기준

 - 클라우드 서비스 보안 인증제 최초 심사 후 인증 유지를 위해 사후평가 필요

3. 클라우드 보안인증제 유지방안

클라우드보안인증제 유지방안

 - IaaS 분야 및 DaaS 분야 인증의 유효기간은 5년으로 운영, SaaS 분야 인증은 표준등급에 대해서는 유효기간을 5년, 간편등급에 대해서는 유효기간을 3년으로 운영

반응형

'IT지식 > 데이터베이스' 카테고리의 다른 글

트랜잭션(직렬성)  (0) 2023.09.11
DBMS(Database Management System)  (0) 2023.09.05
개념적 모델링  (0) 2023.04.05
반응형

개념적 모델링

 

*목차

1. 개념적 모델링 정의

2. 개념적 모델링 절차 및 상세설명

 가. 개념적 모델링 절차

 나. 개넘적 모델링 상세설명

 

 

*내용

1. 핵심엔티티를 통한 비즈니스 추상화, 개념적 모델링 정의

데이터베이스 모델링

- 해당 조직의 업무요건을 충족하기 위해서 주제영역과 핵심 데이터 집합간의 관계를 정의하는 상위 수준의 개략적 데이터 설계 작업

 

2. 개념적 모델링 절차 및 상세설명

 가. 개념적 모델링 절차

개념적 모델링 절차

 나. 개념적 모델링 상세 설명(주핵관속식)

절차 기법 및 종류 상세설명
주제 영역 선정 상향식, 하향식, Inside-out, 혼합식 - 하위주체 영역 또는 데이터 집합들로 구성, 업무 기능과 대응
핵심 데이터 집합 산정 독립중심, 의존중심, 의존특성, 의존연관데이터 - 데이터 보관단위, 주제영역에서 중심이 되는 데이터 집합 정의
관계 설명 1:1, 1:N, M:N, 순환관계 - 업무적 연관성에 따라 개체간 갖는 relationship 설정
핵심 속성 정의 원자단위검증, 유일값 유무판단, 관리수준 상세화 - 데이터 집합의 특성을 나타내는 항목
식별자 정의 PK, CK, AK, FK 구분 - 데이터 집합을 유일하게 식별해주는 속성

- 개념적 모델링 다음 단계는 논리적 데이터 모델링으로 개체 파악, 식별자 파악, 상세화, 모델통합, 모델 검증 수행

반응형

'IT지식 > 데이터베이스' 카테고리의 다른 글

트랜잭션(직렬성)  (0) 2023.09.11
DBMS(Database Management System)  (0) 2023.09.05
클라우드 보안 인증제  (0) 2023.04.06

+ Recent posts