개인공부/데이터베이스

데이터베이스 관리 시스템

NamDoHyeon 2024. 4. 15. 14:28

데이터베이스 관리 시스템의 등장 배경

과거에는 파일 시스템이라는 소프트웨어를 이용.

데이터를 파일로 관리할 수 있도록 파일을 생성·삭제·수정·검색하는 기능을 제공.

응용 프로그램별로 필요한 데이터를 별도의 파일로 관리.

하지만 파일 시스템은 문제가 많았다.

  • 같은 내용의 데이터가 여러 파일에 중복 저장 (데이터 중복성) : 저장 공간 낭비, 데이터 일관성, 무결성 유지 어려움.
  • 응용 프로그램이 데이터 파일에 종속적 (데이터 종속성) : 파일의 구조를 변경하는 응용 프로그램도 함께 변경.
  • 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족.
  • 응용 프로그램 개발 어려움.

 

 

데이터베이스 관리 시스템의 정의

데이터베이스 관리 시스템 (DBMS) 

  • 파일 시스템의 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어.
  • 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 이에 대한 관리를 담당.

 

 

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

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

  • 데이터 중복 통제 : 데이터베이스에 데이터를 통합하여 관리하므로 데이터 중복 문제 해결.
  • 데이터 독립성 확보 : 응용 프로그램을 대신해서 데이터베이스에 접근하고 이를 관리하는 모든 책임을 짐.
  • 데이터 동시 공유 : 데이터베이스에 통합된 데이터를 여러 응용프로그램이 공유하여 같은 데이터에 동시 접근 가능.
  • 데이터 보안 향상 : 데이터베이스를 이용해 중앙 집중식으로 관리, 사용자별로 접근 가능한 영역 제한, 차별화.
  • 데이터 무결성 유지 : 데이터에 대한 연산이 수행될 때마다 유효성을 검사하여 데이터 무결성 유지.
  • 표준화 : 모든 응용 프로그램은 데이터베이스 관리 시스템이 미리 정한 표준화된 방식을 통해 데이터베이스에 접근.
  • 장애 발생 시 회복 가능 : 장애가 발생해도 데이터 일관성과 무결성을 유지하면서 복구하는 회복 기능 지원.
  • 응용 프로그램 개발 비용 감소 : 데이터에 대한 모든 관리를 응용 프로그램 대신 데이터베이스 관리 시스템이 담당.

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

  • 비용이 많이 듦 : DBMS 구매 비용이 많이 듦, 동시 사용이 허용되는 사용자 수에 따라 제품 가격도 증가.
  • 백업과 회복 방법이 복잡함 : 장애가 발생했을 때 정확한 원인과 상태를 파악하기 어려움.
  • 중앙 집중 관리로 인한 취약점이 존재 : 시스템에 장애가 발생하면 전체 시스템의 업무 처리가 중단, 데이터베이스에 대한 의존도가 높은 시스템일수록 가용성과 신뢰성에 치명적인 영향.

 

 

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

  • 1세대 데이터베이스 관리 시스템 : 네트워크·계층 DBMS
  • 2세대 데이터베이스 관리 시스템 :  관계 DBMS
    • 데이터베이스를 테이블 형태로 구성
    • 오라클, MS SQL 서버, 액세스, 인포믹스, MySQL, 마리아DB 등
  • 3세대 데이터베이스 관리 시스템 : 객체지향·객체관계 DBMS
  • 4세대 이후 데이터베이스 관리 시스템 : NoSQL·NewSQL DBMS
    • NoSQL 
      • 안정성과 일관성 유지를 위한 복잡한 기능을 포기하고 데이터 구조를 미리 정해두지 않기 때문에 비정형 데이터를 저장하고 처리하는 데 적합.
      • 확장성이 뛰어나 여러 대의 서버 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용.
      • 몽고디비, H베이스, 카산드라, 레디스, 네오포제이, 오리엔트DB 등 
    • NewSQL
      • 관계 DBMS의 장점과 NoSQL의 확장성 및 유연성을 모두 지원.
      • 정형 및 비정형 데이터를 안정적이고 빠르게 처리할 수 있음.
      • 구글 스패너, 볼트DB, 누오DB 등
반응형