[카테고리:] 데이터베이스

키(Key) 제약

I. 데이터 모델링 무결성 위한, 키(Key)의 제약 유형 구현 형태 설명 본질적 제약 – 데이터 모델 구조적 특성 제약 – 반드시 Primary Key 있어야하고 테이블 셀 단일 값(1차 정규화) – Primary Key – Unique Key 내재적 제약 – 의미를 정확히 표현, 오류 방지 – DB 스키마 지정 제약 – 영역 제약, 참조 무결성 제약 – Foreign Key – Check – Not null 명시적 제약 – 프로그램에 명시하거나 사용자 수작업으로 생성 –

Phantom Read

I. RDBMS의 트랜잭션 데이터 공유 문제 트랜잭션 발생 문제 동시 접근 A B Read Read 읽기만 수행 시 발생 문제 없음 허용 Read Write Dirty, Non-Repeatable, Phantom Read 허용/불가 Write Write Lost Update 불가 Read와 Write 트랜잭션이 하나의 data에 동시에 접근 시 일관성을 훼손하는 Dirty Read, Phantom Read 등 문제 발생 가능 II. 없던 레코드 발생 현상, Phantom Read 가. Phantom Read 상태절차도 개념 – 한 트랙잭션

NoSQL BASE 속성

I. NoSQL의 BASE 속성 Basically Available, Soft state, Eventually Consistence의 약자로, 가용성과 성능을 중시하는 분산 시스템의 NoSQL 특성 가. BASE의 속성 속성 특성 세부 설명 Basically Available 가용성 – 데이터는 항상 접근 가능 – 다수 스토리지에 복사본 저장 Soft-state 독립성 – 노드의 상태는 외부에서 전송된 정보를 통해 상태를 결정 Eventually Consistency 일관성 – 일정 시간 경과 시 데이터의 일관성 유지되는 속성 나. BASE속성과 ACID 속성 비교 항목 BASE ACID 적용대상

Dirty Read

I. RDBMS의 트랜잭션 데이터 공유 문제 트랜잭션 발생 문제 동시 접근 A B Read Read 읽기만 수행 시 발생 문제 없음 허용 Read Write Dirty, Non-Repeatable, Phantom Read 허용/불가 Write Write Lost Update 불가 Read와 Write 트랜잭션이 하나의 data에 동시에 접근 시 일관성을 훼손하는 Dirty Read, Phantom Read 등 문제 발생 가능 II. 결과값이 상이한

트랜잭션 격리 수준 (Isolation Level)

I. 트랜잭션 격리 수준의 개념 하나의 트랜잭션 수행 시 다른 트랜잭션으로부터 독립성을 가지는 수준 II. 트랜잭션의 격리 수준 트랜잭션 격리 수준 격리 수준 내용 Read Uncommitted – 트랜잭션 중 Commit 되지 않은 데이터를 다른 트랜잭션이 읽기 허용 Read Committed – 트랜잭션이 Commit되어 확정된 데이터만 다른 트랜잭션이 읽기 허용 Repeatable Read – 트랜잭션 진행 중 외부

트랜잭션 (Transaction)

I. 데이터베이스 처리 단위, 트랜잭션 데이터베이스 상태를 변화시키는 하나의 논리적 작업 단위를 구성하는 일련의 연산 집합 트랜잭션 완료 시 Commit, 미완료 시 Rollback을 통해 데이터베이스의 일관성 유지 II. 트랜잭션의 특성, ACID 트랜잭션의 4가지 조건 ACID 특성 설명 보장방안 원자성 (Atomicity) – 모든작업 완벽수행 또는 전부 취소 – 트랜잭션의 ‘all or nothing’의 특성 회복 기법 일관성