파일 시스템 (File System)
: 데이터를 파일로 관리하기 위해 파일을 생성, 삭제, 수정, 검색하는 기능을 제공하는 소프트웨어
→ 응용 프로그램마다 필요한 데이터를 별도의 파일로 관리함.
📍 파일 시스템의 주요 문제점
- 데이터 중복성 - 같은 내용의 데이터가 여러 파일에 중복 저장. 저장 공간 낭비는 물론 데이터 일관성과 데이터 무결성을 유지하기 어려움.
- 데이터 종속성 - 응용 프로그램이 데이터 파일에 종속적. 데이터를 구성하는 방법이나 물리적인 저장 구조에 맞게 저장하므로 사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 함.
- 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족함.
- 응용 프로그램 개발이 쉽지 않음.
데이터베이스 관리 시스템 (DBMS)
💡 DBMS(DataBase Management System)
: 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리하는 시스템.
- DBMS가 설치되어 데이터를 가진 쪽을 서버(server), 외부에서 데이터를 요청하는 쪽을 클라이언트(client)
- DBMS 서버가 파일을 다루며 데이터의 일관성 유지, 복구, 동시 접근 제어 등의 기능을 수행
- 데이터의 중복을 줄이고 데이터를 표준화 하며 무결성을 유지함
📍 데이터베이스 관리 시스템의 주요 기능
- 정의 기능 (Definition) : 데이터베이스 구조를 정의하거나 수정할 수 있다.
- 조작 기능 (Manipulation) : 데이터를 삽입, 삭제, 수정, 검색하는 연산을 할 수 있다.
- 제어 기능 (Control) : 데이터를 항상 정확하고 안전하게 유지할 수 있다.
📍 파일 시스템과의 차이
- 데이터 정의 및 저장 - DBMS 가 데이터를 정의하고, 데이터베이스에 데이터를 저장함.
- 데이터 접근 방법 - 응용 프로그램이 DBMS에 파일 접근을 요청함.
- 사용 언어 - 자바, C++, C 등과 SQL
- CPU/주기억장치 사용이 많음.
📍 DBMS 장점
- 데이터 중복 가능성 낮음
- 데이터 일관성 유지
- 데이터 독립성 유지
- 데이터 무결성 유지
- 데이터 복구, 보안, 동시성 제어, 데이터 관리 기능 등을 수행
- 짧은 시간에 큰 프로그램을 개발할 수 있음
- 데이터 표준 준수 용이
📍 DBMS 단점
- 비용이 많이 들게 됨 → 운영체제와 함께 설치해야하고, 트래픽 허용 수에 따라 제품 가격이 증가함.
- 백업과 회복이 복잡함 → 데이터 양이 많아 구조가 복잡하고, 여러 사용자의 동시 공유로 장애 발생 시 원인 파악이 어려움.
- 중앙 집중 관리로 인한 취약점이 존재함 → 모든 데이터가 데이터베이스에 통합되어 DBMS에 집중됨.
데이터베이스 시스템의 구성
- 사용자
- 일반사용자 : 프로그램을 이용하여 데이터베이스에 접근해 데이터를 다루는 업무를 하는 사람
- 응용프로그래머 : 일반 사용자가 사용할 수 있도록 프로그램을 만드는 사람
- SQL 사용자 : SQL을 사용하여 업무를 처리하는 사람
- 데이터베이스 관리자(DBA) : 데이터베이스 운영 조직의 데이터베이스 시스템을 총괄하는 사람
- 인터페이스
- 응용 프로그램 화면
- 응용 프로그램 개발
- SQL 질의
- 데이터베이스 스키마
- DBMS (주기억장치)
- 오브젝트 코드
- Embedded DML
- DML 컴파일러
- DDL 컴파일러
- 질의처리기(query)
- 트랜잭션 관리자
- 파일 관리자
- 버퍼 관리자
- 데이터베이스 (하드디스크)
📍 SQL 언어
- 데이터 정의어(DDL, Data Definition Language)
- 데이터 조작어(DML, Data Manipulation Language)
- 데이터 제어어(DCL, Data Control Language)
데이터 모델
📍 데이터베이스 관리 시스템의 발전 과정
1세대 : 네트워크 DBMS, 계층 DBMS
- 네트워크 DBMS : 데이터베이스를 그래프 형태로 구성
- 계층 DBMS : 데이터베이스를 트리 형태로 구성
2세대 : 관계 DBMS
- 관계 DBMS : 데이터베이스를 테이블 형태로 구성
3세대 : 객체지향 DBMS, 객체관계 DBMS
- 객체지향 DBMS : 객체를 이용해 데이터베이스를 구성
- 객체관계 DBMS : 객체지향 DBMS + 관계 DBMS
4세대 : NoSQL, NewSQL DBMS
- NoSQL DBMS : 비정형 데이터를 처리하는데 적합하고 확장성이 뛰어남
- 안정성과 일관성 유지를 위한 복잡한 기능 포기
- 데이터 구조를 미리 정해두지 않는 유연성을 가짐
- 여러 대의 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용
- NewSQL DBMS : 관계 DBMS의 장점 + NoSQL의 확장성 및 유연성.
- 정형 및 비정형 데이터를 안정적이고 빠르게 처리 가능
- 확장성이 뛰어나 여러 대의 서버 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용
- 유연성, 확장성, 고성능, 고기능성
'⚡️ 전공수업 > 데이터베이스' 카테고리의 다른 글
데이터 모델링 (0) | 2025.05.19 |
---|---|
관계 데이터 연산 (0) | 2025.04.29 |
관계데이터 모델 (0) | 2025.04.29 |
데이터베이스 시스템(DBS) (0) | 2025.04.29 |
데이터베이스 기본 개념 (0) | 2025.04.29 |