본문 바로가기
IT Basic/Data

[DB] 데이터베이스 개론 - 2장 데이터베이스 관리 시스템

by HouseDust 2022. 1. 17.
반응형

2장, 데이터베이스 관리 시스템

 

파일 시스템(file system) ?

과거 데이터를 관리하기 위해 사용한 소프트웨어로, 운영체제와 함께 설치된다. 데이터를 파일로 관리할 수 있도록 파일 생성, 삭제, 수정, 검색 기능을 제공하며 응용 프로그램별로 필요한 데이터를 별도의 파일로 관리한다.

파일 시스템 환경에서는 응용 프로그래머가 파일의 논리적인 구조뿐 아니라 물리적인 구조까지 정확히 파악해야 한다.

 

파일 시스템의 장점 : 별도의 구매 비용이 들지 않는다.

 

파일 시스템의 단점

  • 데이터 중복성(data redundancy)
    응용 프로그램별로 파일을 유지하기 때문에 데이터 중복성 문제 발생
    -> 저장공간 낭비, 데이터 일관성(data consistency)과 데이터 무결성(data integrity)을 유지하기 어려움
  • 데이터 종속성(data dependency)
    파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 함
  • 동시 공유 불가, 보안 및 회복 기능 부족
    다른 응용 프로그램이 사용 중인 파일에 동시 접근할 수 없음
    파일 단위로 읽기, 수정, 실행 권한을 부여하는 방식으로 접근을 통제하기 때문에 세분화된 보안 요구를 충족할 수 없음
    장애가 발생하면 데이터를 일관된 상태로 회복하기 어려움
  • 응용 프로그램 개발의 어려움
    파일에 접근하여 데이터를 관리하는 모든 작업을 응용 프로그램이 담당하기 때문에 개발이 어려움
    응용 프로그램 개발 시 파일에서 데이터 읽기, 삽입하기, 삭제하기 등의 데이터 관리 기능을 모두 개발해야 함.

 

데이터베이스 관리 시스템(DBMS : DataBase Management System) ?

파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어. 데이터를 데이터베이스에 통합하여 저장하고 이에 대한 관리를 집중적으로 담당한다. 응용 프로그램을 대신하여 데이터를 삽입, 삭제, 수정, 검색하고 모든 응용 프로그램이 데이터베이스를 공유할 수 있게 한다.

 

데이터베이스 관리 시스템은 사용하기 쉬운 다양한 인터페이스를 제공하기 때문에, 응용 프로그램 없이 사용자가 직접 데이터 처리를 요구할 수 있다. 원하는 데이터가 무엇인지, 어떤 처리를 원하는지만 데이터페이스 관리 시스템에 요청하면 결과를 받을 수 있다. 데이터베이스의 구조와 접근방법이 변경되어도 응용 프로그램을 변경할 필요가 없어 데이터 독립성(data independency)이 확보된다.

 

데이터베이스 관리 시스템의 주요 기능 3가지

  • 정의 기능 : 데이터베이스 구조를 정의하거나 수정할 수 있다
  • 조작 기능 : 데이터를 삽입, 삭제, 수정, 검색하는 연산을 할 수 있다
  • 제어 기능 : 데이터를 항상 정확하고 안전하게 유지할 수 있다. 
    내용이 일관되면서 무결성을 유지하도록
    장애가 발생해도 회복이 가능하도록
    접근권한을 통해 보안이 유지되도록
    여러 사용자가 동시에 데이터를 처리할 수 있도록 제어

 

데이터베이스 관리 시스템의 장점

  • 데이터 중복 통제
    데이터베이스에 데이터를 통합하여 관리하므로 데이터 중복 문제를 해결하고, 데이터 일관성도 유지할 수 있다.
  • 데이터 독립성
    데이터베이스 관리 시스템이 응용 프로그램을 대신하여 데이터베이스에 접근하고 관리하므로, 데이터베이스의 구조가 변경되어도 응용 프로그램이 영향을 받지 않는다. 
  • 데이터 동시 공유
    여러 응용 프로그램이 같은 데이터에 동시에 접근할 수 있도록 지원한다.
  • 데이터 보안 향상
    데이터를 중앙 집중식으로 관리함으로써 데이터에 대한 효율적인 접근 제어가 가능하다.
  • 데이터 무결성 유지
    데이터 관리를 집중적으로 수행하면서 데이터에 대한 연산이 수행될 때마다 유효성을 검사한다.
  • 표준화 가능
    데이터에 대한 모든 접근이 데이터베이스 관리 시스템을 통해 이뤄지므로 데이터에 접근하는 방식, 데이터 형식과 구조 등을 표준화하기 쉽다.
  • 장애 발생 시 회복 가능
    장애 이전으로 데이터를 복구하는 회복 기능을 지원한다.
  • 응용 프로그램 개발 비용 절감
    데이터에 대한 관리를 데이터베이스 관리 시스템이 담당하면서 응용 프로그램 개발 비용이 적게 들고, 데이터베이스의 구조가 변경되어도 응용 프로그램을 변경할 필요가 없기 때문에 유지보수 비용도 줄어든다.

 

데이터 베이스 관리 시스템의 단점

  • 고비용
    파일 시스템은 별도 구매비용이 없지만, 데이터베이스 관리 시스템은 구매 비용이 많이 들고, 컴퓨터 자원도 많이 사용한다.
  • 복잡한 백업 및 회복 방법
    데이터베이스의 데이터양이 많고, 동시 공유 기능을 지원하기 때문에 백업 및 회복 방법이 복잡하다.
  •  중앙 집중 관리로 인한 취약점
    데이터베이스 관리 시스템에 모든 데이터 관리 책임이 집중되어 있기 때문에, 데이터베이스 관리 시스템에 장애가 발생하면 전체 업무가 중단된다. 이는 가용성과 신뢰성에 치명적인 영향을 줄 수 있다.

 

데이터베이스 관리 시스템의 발전

 

1. 1세대 데이터베이스 관리 시스템(1960~1970년대)

  • 네트워크 DBMS
    노드와 간선을 이용한 그래프 형태의 네트워크 데이터 모델 사용, 데이터 베이스의 구조가 복잡하고 변경이 어렵다. 
    ex) IDS(Integrated Data Store)
  • 계층 DBMS
    트리 연태로 구성하는 계층 데이터 모델 사용, 현실 세계의 모습을 트리 형태로 표현하기 어렵고 구조 변경이 어렵다.
    ex) IMS(Information Management System)

2. 2세대 데이터 베이스 관리 시스템 (1980년대 초~)

  • 관계 DBMS
    테이블 형태의 관계 데이터 모델 사용, 이해하기 쉬운 구조로 구성한다는 장점
    ex) Oracle, MS SQL, MS SQL Server, Access, Informix, MySQL 등

3. 3세대 데이터베이스 관리 시스템(1980년대 말 ~)

  • 객체지향 DBMS
    객체라는 개념을 이용해 데이터베이스를 구성하는 객체지향 데이터 모델 사용, 새로운 유형의 데이터를 저장하고 데이터에 대한 복잡한 분석 및 처리를 지원한다.
    ex) O2, ONTOS, GemStone 등
  • 객체관계 DBMS
    관계 데이터 모델에 객체지향 개념을 도입한 객체관계 데이터 모델 사용, 객체 DBMS와 관계 DBMS의 통합

4. 4세대 이후 데이터베이스 관리 시스템(1990년대 말~)

소셜 네트워크 서비스의 성장으로 비정형 데이터가 대량 생산되고, 클라우드 컴퓨팅과 빅데이터의 개념이 등장하면서 빠르게 증가하는 대량의 비정형 데이터를 처리할 새로운 데이터베이스 관리 시스템 등장

  • NoSQL DBMS
    안정성과 일관성 유지를 위한 복잡한 기능을 포기하고, 데이터 구조를 미리 정해두지 않는다.
    확장성이 뛰어나 분산 저장 및 처리 환경에 적합하다.
    ex) MongoDB, HBase, Cassandra, Redis, Neo4j, OrientDB 등
  • NewSQL DBMS
    안정성과 일관성을 유지하면서도 SQL을 통해 다양하고 복잡한 데이터 처리를 편리하게 요청할 수 있다.
    관계 DBMS의 장점과 NoSQL의 확장성 및 유연성을 모두 지원한다.
    ex) 구글 Spanner, VoltDB, NuoDB
     

 


참고자료

김연희, 『데이터베이스 개론 2판』, 한빛문화원(2019), p33-p56

반응형

댓글