Home

동시성 제어

락 기반 규약 동시성 제어의 개념 트랜잭션 직렬화와 회복화는 스케줄이 데이터 일관성에 영향을 미치는 여부를 판별하고 일관성이 유지되는 상태로 복원시키기 위해 정의한 개념 일관성 훼손을 발생시키는 트랜잭션에 대해 동시성 제어를 통해 일관성 유지에 개입 트랜잭션 간 연산의 순서를 제어 어떠한 데이터 읽기, 갱신 연산에도 무결성을 유지 동시에 실행되는 트랜잭션 수를 증가 동시성 제어 규약 락 기반 규약 타임스탬프 규약 검증 기반 규약 락 기반 규약의 개념 직렬 가능성을 보장하기 위해 락(잠...

Read more

트랜잭션

데이터 동시 접근의 문제 동일 데이터에 다수 사용자의 접근 허용 시 일관성이 훼손 트랜잭션 트랜잭션 개념 데이터베이스를 조작하기 위한 하나의 논리적 단위를 이루는 일련의 연산의 집합 데이터베이스를 사용하여 처리하는 작업을 하나의 묶음으로 인식하여 묶음 단위로 실행되도록 정의한 개념 트랜잭션의 특징 다수의 연산으로 구성된 트랜잭션이 사용자에게 단일작업처럼 다뤄지도록 ACID 특징을 준수 ACID 특성 원자성(atomicity): 하나의 트랜잭션에 포함된 모든 연산은 완전히 수행되거나 전혀 수행되지 않음 일관성(consistency): 특정 트랜잭션이 수행되기 전과...

Read more

해싱과 특수 인덱스

정적 해싱 해시 해시: 탐색키에 산술적인 연산을 통해 버킷의 주소를 계산하는 해시 함수를 사용하여 데이터 배분 및 접근하는 기법 버킷: 한 개 이상의 레코드를 저장할 수 있는 저장공간의 단위 단점: 버킷에 레코드가 몰릴 수 있음 정적 해싱의 특싱 버킷의 개수가 고정된 해싱 기법 (사용전 이미 고정) 키 값이 ki인 레코드 삽입: h(ki)를 통하여 ki에 대응하는 버킷 주소를 생성하고 레코드를 해당 버킷에 저장 키 값이 ki인 레코드 검색: h(ki)을 통하여 버킷 주소를 생성하고 버킷에 저장된 레코드 접근 충돌과 동거자 충돌: 서로 다른 두 레코드가 동일한 버킷에 대응 ...

Read more

인덱싱

인덱스 인덱스의 개념 데이터 검색에서 발생하는 비효율적인 데이터 입출력 문제를 해결하기 위한 목적으로 시작 인덱스의 탐색키를 이용하여 해당 레코드가 저장된 블럭을 디스크 저장장치 또는 메모리에서 파악하여 해당 블럭을 빠르게 적재 인덱스 방식의 장점 레코드 블록을 메모리에 적재하는 것보다 인덱스 블록을 메모리에 적재하는 것이 사이즈가 작고 더 많은 레코드들을 올려놓을 수 있어 검색할 때 효율적이다. 인덱스의 종류 순서 인덱스: 특정 값에 대해 정렬된 순서 구조 해시 인덱스: 버킷의 범위 안에서 값의 균일한 분포에 기초한 구조로 해시 함수가 어떤 값이 어느 버킷에 할당되는지 결정 인덱스의 평...

Read more

관계형 모델

관계형 모델의 개념 논리적 데이터 모델링 단계 DBMS에서 사용하는 데이터 모델에 맞추어 데이터를 표현하는 과정 데이터 정의 언어로 기술된 개념 스키마 생성 논리적 데이터 모델링의 필요 릴레이션의 구성 컬럼, 속성, 필드 레코드, 투플 컬럼값 인스턴스 스키마 릴레이션의 특징 레코드의 유일성: 중복된 레코드의 존재가 불가능 레코드의 무순서성: 레코드의 순서는 의미가 없음 컬럼의 무순서성: 컬럼은 순서가 없고, 이름과 값의 쌍 컬럼값의 원자성: 모든 값들을 나눌 수 없는, 단 하나의 의미 키(key)의 역할 릴레이션의 레코드를 식별할 수 있는 값 키...

Read more

병행 프로세스 I

병행 프로세스의 개요 병행성(concurrency) 여러 개의 프로세스 또는 쓰레드가 동시 수행되는 시스템의 특성 병행 프로세스 동시 수행되는 여러 개의 프로세스 또는 쓰레드 병행 프로세스의 실행 형태 1개의 CPU: 인터리빙 형식 여러개의 CPU: 병렬처리 형식 멀티프로세서 시스템에서의 메모리 구조에 따라 강결합 시스템(공유 메모리 구조) 약결합 시스템(분산 메모리 구조) 프로세스 간의 관계 독립 프로세스 수행 중인 다른 프로세스에 영향을 주지도 받지도 않음 데이터 및 상태를 다른 프로세스와 공유하지 않음 프로세스의 실행 ...

Read more

데이터베이스 모델링

데이터베이스 모델링 이해 데이터베이스 모델링의 필요 비즈니스적 관점 (어떤 데이터를 저장해야 하는가?) 컴퓨터 프로그래머 관점 (어떻게 데이터를 저장해야 하는가?) 데이터베이스 시스템 구현 과정 사용자 요구사항 분석 개념적 데이터 모델링 논리적 데이터 모델링 (개념 스키마) 물리적 데이터 모델링 (내부 스키마) 데이터베이스 모델링의 개념 데이터의 의미를 파악하고 데이터와 관여하는 업무 프로세스를 개념적으로 정의하고 분석하는 작업 모델링의 단계 사용자 요구사항 분석 개념적 데이터 모델링 논리적 데이터 모델링 물리적 데이터 모델링 내부 스키마 데이터 모델 ...

Read more