본문 바로가기
Computer Science/Database Systems

[Database Systems] DB, DBMS, DBMS architecture

by __K.Jun__ 2025. 1. 3.

기본적인 용어

Data: 컴퓨터 시스템 내에 의미를 가지고 저장되어 있는 것.

Database: 논리적으로 관련되어있는 데이터들의 집합

Mini-world: 실제 세상의 몇 가지 측면만 나타낸 것

Database Management System (DBMS): 데이터베이스를 생성하고 관리하게 해주는 소프트웨어

Database System: DBMS + Database

 

Structure of Database System

Meta-Data: User-Data를 관리하기 위해서 DBMS가 필요로 하는 데이터

 

Characteristics of the Database

Mete-Data: 데이터베이스의 구조를 설명하는 데이터이자, User-Data를 유지/관리 하기 위해 필요한 데이터

System Catalog: Meta-Data를 DBMS에 저장하기 위해 필요한 공간

 

Insulation between programs and data: Database System은 Self-describing nature를 가지기 때문에, 데이터 구조가 변경되더라도 프로그램 자체에 영향을 끼치지 않는다. 데이터 구조가 변경되면 Meta-Data만 변경된다. 이는 프로그램과 데이터의 독립성을 제공한다.

 

Data abstraction: 데이터 구조의 세부사항을 숨기고, Data model을 제공하는데, 이는 Conceptual view를 제공하여 사용자가 데이터베이스를 쉽게 관리하게 한다.

 

Support of multiple views of the data: 실제 DB에서 도출된 가상의 데이터를 제공한다. 사용자마다 다른 관점에 따라서 같은 DB라도 다른 View를 제공하여 데이터를 보다 편라하게 사용하도록 한다.

 

Sharing of data: 여러 사용자가 데이터베이스에 동시에 접근할 수 있도록 한다.

 

Users of Database Systems

System analyst: 사용자의 요구사항 분석

Database designer: 시스템 분석가가 분석한 결과를 토대로 최적의 성능을 고려한 데이터베이스 구조/스키마 설계

Application programmer: 사용자가 사용할 프로그램을 개발 및 구현

Database administrator: 데이터베이스 시스템이 잘 운용되고 있는지 모니터링, 문제가 있으면 해결

End users: 데이터베이스 애플리케이션 프로그램으로 데이터베이스에 접근하여 사용

 

Workers behind the Scene

DBMS system designer and implementer: DBMS 소프트웨어 패키지를 디자인 및 구현

Tool developer: DB에 효과적으로 접근할 수 있는 소프트웨어 툴을 개발 및 구현

Operators and maintenance personnel: 데이터베이스가 작동하는 전체 시스템(하드웨어, 소프트웨어, 네트워크 등)을 관장

 

DBMS Features

Controlling redundancy: Redundancy란, 같은 데이터가 두 개 이상의 위치에 저장 되는 것이다. 이는 저장공간의 낭비와 데이터 일관성 문제를 야기할 수 있다. DBMS는 이를 처리할 수 있다.

Restricting unauthorized access: DBMS는 미승인된 접근을 제한할 수 있다.

Persistent storage for program objects: DB는 디스크에 저장되어있기 때문에 프로그램의 종료와 상관 없이 데이터는 디스크에 지속적으로 남는다.

Multiple user interface: 사용자의 수준에 따라 데이터베이스에 접근하는 편리한 방식을 다양하게 제공한다.

Representing complex relationship among data: 데이터 간의 관계를 표현하는 다양한 방식을 제공한다.

Enforcing integrity constraints: Integrity란 주어진 제약에 따르는 특성이다. 이는 제약 함수를 만들어서 구현된다.

Backup and recovery: 미래에 발생할 수 있는 복구를 위한 DB의 사본을 만들어서, 상황 발생 시 복구한다.

 

Advantages of Using the DBMS

Application development time reduced: 직접 코딩하는 시간을 줄일 수 있다.

Availability of up-to-date information: 사용자들의 최신 DB를 열람할 수 있다.

Economy of scale: DBMS를 사용하는 사용자가 많아질 수록 개발 오버헤드가 감소한다.

 

When Not to Use a DBMS

Overheads of DBMS: 초기 비용이 비싸고, 다양한 요구사항을 반영하기 위한 계산 비용도 비싸다.

More desirable to use regular files: 애플리케이션의 구조가 단순하고 앞으로 바뀔 일이 거의 없을 때, 실시간 요구사항이 매우 까다로워 DBMS가 감당할 수 없을 때, 여러 사람이 데이터베이스에 동시에 접근하여 업데이트 하지 않는 경우에는 regular file을 사용하는 것이 더 바람직하다.

728x90