밥벌이/데이터베이스
데이터베이스
middleware
2010. 8. 12. 16:07
반응형
- 데이터베이스의 정의
- 데이터(Data) : 관찰이나 측정을 통해서 수집된 사실이나 값
- 정보(Information) : 데이터를 가공한 것으로, 의사결정을 위한 데이터의 유효한 해석이나 상호 관계를 의미
- 데이터베이스의 필요성
- DBMS와 파일 시스템의 비교
항목 | DBMS | 파일 시스템 |
데이터의 종속성 | 발생 안 함 - 독립성 보장 | 발생 - 독립성 보장 못함 |
데이터의 중복성 | 원칙적으로 배제 | 중복 발생 |
데이터의 무결성 | 제공 | 제공 못함 |
데이터의 공유성 | 가능 | 불가능 |
데이터의 일관성 | 보장 | 보장 못함 |
데이터의 병행성 | 제공 | 제공 못함 |
데이터의 안전성 | 보장 | 보장 못함 |
- 기존 파일 시스템의 문제점
데이터 종속성 및 중복성의 발생과 데이터 무결성 및 공유성 등의 결여로 인해 비효율성이 증대
- 데이터 종속으로 인한 문제점
응용 프로그램 과 데이터 파일 간에 상호 의존적인 관계가 존재하기 때문에 데이터 파일을 보조 기억 장치에 저장하는 방법 및 저장된 테이터를 접근하는 방법을 변경할 때 응용 프로그램도 같이 변경해 주어야 함
- 데이터 중복으로 인한 문제점
중복된 데이터 간에 내용이 일치하지 않는 상황이 발생하여 일관성이 없어지고, 중복되어 있는 모든 데이터에 대한 관리가 어려우며, 제어의 분산으로 데이터의 정확성이나 무결성을 효율적으로 관리하기 어려움
- 데이터베이스의 특징
- 데이터 추상화(Abstraction)
- 데이터의 핵심 내용을 추출하여 추상화(즉, 개념화)
- 데이터베이스는 하드웨어, 운영체제(파일 시스템), 데이터 등의 복잡한 내용을 감추어 주며, 데이터 사용을 쉽게 함
- 데이터 독립성(Independence)
데이터를 프로그램으로부터 독립 : 프로그램의 변경 없이 데이터 구조의 변경이 가능
- 논리적 데이터 독립성
프로그램의 변경 없이 논리적 구조 변경 가능, 즉 사용자(프로그램 등)의 데이터 형식이 변경되더라도 데이터베이스의 논리적 구조는 변경될 필요가 없음
- 물리적 데이터 독립성
프로그램의 변경 없이 물리적 구조 변경 가능, 즉 기억 장치가 변경되더라도 데이터베이스 사용자(프로그램 등)의 데이터 형식이나 업무 처리 방법이 변경될 필요가 없음
- 자기 정의(Self Definition)
- 데이터베이스가 스스로 자신의 구조와 내용을 정의
- 메타 데이터(Meta-data) 저장소인 데이터 사전(Data Dictionary) 사용
- 데이터베이스의 장점
- 데이터의 공유(sharing) 가능
- 데이터의 중복(Redundancy) 감소
- 데이터의 무결성(Integrity) 유지
DBMS는 최소한 중복된 데이터간의 불일치를 막기 위한 검증 기능 내장
- 데이터의 무결성 - 의지적인 측면에서 데이터가 정확하고 완전함을 의미
- 트랜잭션(Transaction) 처리 지원
- 트랜잭션 : 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 일련의 연산들의 집합
- 데이터의 검색, 갱신, 삭제 등 일련의 데이터 처리의 효율성을 보장하며, 작업 처리 시 이상 발생을 회피 하면서 데이터베이스의 처리 내용을 보장
- 트랜잭선의 ACID 특성 : 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)
- 트랜잭션의 ACID 특성
- 원자성 : 트랜잭션의 모든 연산 수행 결과가 모두 데이터베이스에 반영되거나 또는 전혀 반영되지 않아야 하는 특성
- 일관성 : 트랜잭션의 실행이 데이터베이스를 하나의 일관된 상태에서 또 다른 일관된 상태로 변환하는 특성
- 고립성 : 한 트랜잭션이 하나의 데이터 처리를 완료할 때까지 자신이 변경한 데이터의 내용을 다른 트랜잭션이 참조할 수 없도록 보장하는 특성
- 지속성 :트랜잭션이 성공적으로 완료된 후에는 트랜잭션에 의해 이루어진 데이터베이스의 변경은 시스템 장애가 발행한다 하더라도 유지되어야 하는 특성
- 데이터의 회복(Recovery)
장애 시에도 데이터가 손상되는 것을 방지하며 원상 복구를 보장
- 데이터의 보안성(Security) 확보 및 접근 권한 제어(Access Control)
- 허가된 사용자만 데이터베이스 이용이 가능
- 데이터 자체를 읽지 못하게 하는 데이터 암호화 기능 지원
- 사용자를 계층화하여 데이터베이스를 접근할 수 있는 권한을 제한적으로 구분하여 제공
반응형