데이터베이스에서의 회복 / 병행제어 / 로킹 / 로킹 단위

2022. 9. 18. 14:00·Computer Science/정보처리기사
728x90

병행제어 (Concurrency Control)

다중 프로그램의 이점을 활용하여 동시에 여러개의 트랜잭션을 병행 수행할 때, 동시에 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호 작용을 제어하는 것 
병행제어 없이 트랜잭션들이 DB에 동시에 접근하도록 허용할 경우 갱신 분실, 비완료 의존성, 모순성, 연쇄복귀 등의 문제가 발생한다 

* 로킹 (Locking) 
- 트랜잭션들이 로킹 단위를 액세스 하기 전에 lock 을 요청해서 lock이 허락되어야만 그 locking 단위를 액세스 할 수 있도록 하는 기법 
- 주요 데이터의 액세스를 상호 배타적으로 함 
- 로킹 단위 : 병행제어에서 한꺼번에 로킹할 수 있는 객체의 크기. 데이터베이스, 파일, 레코드, 필드 등이 로킹 단위가 될 수 있음. 로킹 단위가 크면 lock 수가 작아 관리하기 쉽지만, 병행성 수준이 낮아진다. 로킹 단위가 작으면 lock 수가 많아 관리하기 복잡해서 오버헤드가 증가하지만 병행성 수준이 높아진다.

* 타임 스탬프 순서 
- 트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 시작하기 전에 타임스탬프를 부여하여 부여된 시간에 다라 트랜잭션 작업을 수행 

* 최적 병행수행 
- 병행 수행하고자 하는 대부분의 트랜잭션이 read-only 트랜잭션일 경우, 충돌률이 낮기 때문에 병행제어 기법을 사용하지 않고 실행해도 시스템의 상태를 일관성 있게 유지할 것이라는 점을 이용한 기법 

* 다중 버전 기법 
- 타임스탬프의 개념을 이용하는 기법 
- 다중 버전 타임 스탬프 기법 



728x90

'Computer Science > 정보처리기사' 카테고리의 다른 글

[정보처리기사/실기] 화이트박스 & 블랙박스  (1) 2022.09.20
[정보처리기사/실기] 서비스 공격 유형  (0) 2022.09.19
[정보처리기사/실기] Routing  (0) 2022.09.18
[정보처리기사/실기] 네트워크 관련 신기술  (3) 2022.09.18
[정보처리기사/실기] TCP/IP  (0) 2022.09.18
'Computer Science/정보처리기사' 카테고리의 다른 글
  • [정보처리기사/실기] 화이트박스 & 블랙박스
  • [정보처리기사/실기] 서비스 공격 유형
  • [정보처리기사/실기] Routing
  • [정보처리기사/실기] 네트워크 관련 신기술
minjiwoo
minjiwoo
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.
minjiwoo
minji's engineering note
minjiwoo
전체
오늘
어제
  • 분류 전체보기 (613)
    • Data Engineering (42)
      • Apache Spark (11)
      • Databricks & Delta Lake (9)
      • Airflow (3)
      • SQL (6)
      • Trouble Shooting (2)
      • Hadoop (2)
      • MLOps (1)
    • Cloud Engineering (104)
      • AWS (23)
      • Linux 🐧 (29)
      • Docker 🐳 (21)
      • Kubernetes ⚙️ (20)
      • Ansible (10)
    • Computer Science (87)
      • 네트워크 (9)
      • 운영체제 (25)
      • 정보처리기사 (48)
      • CS 기술 면접 스터디 (3)
    • Programming Languages (27)
      • Python (17)
      • C와 C++ (10)
    • Backend (5)
      • Django (2)
    • 프로젝트 (2)
      • 테크포임팩트 (2)
    • iOS (11)
      • 레이블러리 (2)
    • Algorithm (PS) (275)
      • LeetCode (6)
    • 개발일기 (30)
      • 내돈내산 후기🎮 (3)
      • 개발자 취준생 (5)
      • Today I Learned (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Hi there

인기 글

태그

  • EC2
  • 운영체제
  • 프로그래머스
  • 데이터브릭스
  • SPARK
  • 코딩테스트
  • 데이터엔지니어링
  • 백준
  • Leetcode
  • 카카오코딩테스트
  • 백트래킹
  • Swift
  • ansible
  • 스파크
  • dp
  • python
  • 쿠버네티스
  • linux
  • BFS
  • docker
  • dfs
  • 클라우드
  • Kubernetes
  • 빅데이터
  • Databricks
  • AWS
  • 리눅스
  • 파이썬
  • 알고리즘
  • 데이터엔지니어

최근 댓글

최근 글

hELLO· Designed By정상우.v4.5.2
minjiwoo
데이터베이스에서의 회복 / 병행제어 / 로킹 / 로킹 단위
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.