CS

데이터베이스

qqlzzb 2023. 4. 9. 13:36

데이터란?

컴퓨터에 저장되어 사용될 수 있는 정보.

성적 데이터, 판매 데이터 등등 다양한 종류가 있다.

 

데이터베이스란?

실세계 일부를 표현하는 연관된 데이터들의 집합.

전화번호부 데이터베이스, 상품 데이터베이스 등등 연관된 데이터들을 모아둔 것.

 

데이터베이스 관리 시스템이란?

영어로 DataBase Management System, 줄여서 DBMS로 많이 표현한다.

데이터베이스의 생성과 관리를 담당하는 소프트웨어 패키지.

대표적 DBMS 상품에는 Oracle, MySQL, SQLite 등이 있다.

 

데이터베이스 시스템이란?

데이터베이스 자체와 이를 관리하는 소프트웨어(DBMS + 응용 프로그램)를 모두 칭하는 용어.

 

데이터베이스의 특징

1. 데이터 추상화 : 데이터모델을 사용해서 저장 구조의 자세한 내용은 은닉시키고, 사용자에게는 요구에 맞는 부분만 보여준다.

 

2. 데이터에 대한 다양한 뷰 제공 : 사용자는 전체 데이터베이스 중 관심이 있는 일부만 뷰로 정의할 수 있다.

 

3. 데이터 공유 : 여러 사용자가 동시에 동일 데이터베이스 공유 가능하도록 지원한다. 동시에 사용하더라도 일관성을 보장하기 위한 동시성 제어(concurrency control) 기능을 제공한다. 예를 들어, 영화 자리를 예매하는데, 동시에 두 사람이 같은 자리를 예약하지 않도록 하는 것.

 

4. 트랜잭션 처리 : 트랜잭션이란 DB 작업을 수행하는 단위 프로세스이다. 트랜잭션은 고립성(트랜잭션이 혼자서 수행된 것 같아야 함)과 원자성(트랜잭션은 수행되거나, 말거나 두 가지 결과만 가짐)의 성질을 갖는다.

 

DBMS의 장점

1. 데이터 중복성(redundancy)의 제어 및 중복의 최소화 : 동일 데이터가 중복되어 저장되는 것을 방지한다. 따라서 데이터의 일치성을 보장하고 저장공간 낭비를 방지한다.

 

2. 보안 기능 : 권한 없는 사용자는 데이터에 접근할 수 없도록 통제한다.

 

3. 지속성 기억 공간 제공 : 프로그램 수행이 끝나도 관련 데이터/객체는 그 값을 저장하고 있어야 한다.

 

4. 백업(backup)과 회복(recovery) 기능 제공 : 시스템 고장 시에도 데이터의 일관성을 보장한다.

'CS' 카테고리의 다른 글

관계형 모델  (0) 2023.04.12
네트워크 - 기본 네트워크  (0) 2023.03.16
쿠버네티스  (0) 2023.03.13
DevOps  (0) 2023.03.07
클라우드 기반 기술  (0) 2023.02.23