SQL, 데이터 베이스, 공공데이터/데이터베이스

데이터베이스 관리 시스템, 장단점, 발전 과정

봉구C 2025. 4. 13. 22:56

어제는 너무 바빠 블로그를 작성하지 못했습니다.
조금이라도 손을 댔어야 했는데, 결국 게으름이 이기고 말았습니다.
사실 오늘도 바쁘고 피곤해서 그냥 넘어갈까 고민했지만, '이틀 연속은 아니지'라는 생각에 컴퓨터를 켰습니다.

오늘은 데이터베이스 관리 시스템(DBMS)과 파일 시스템에 대해 정리해보았습니다.

 

📁 파일 시스템이란?

데이터베이스가 본격적으로 사용되기 전에는 파일 시스템이라는 운영체제의 기본 소프트웨어를 통해 데이터를 관리했습니다.
우리가 흔히 사용하는 윈도우 운영체제의 C 드라이브, D 드라이브와 같은 것이 대표적인 예입니다.

파일 시스템은 사용 방법이 비교적 간단하고, 개인 사용자 입장에서는 별다른 설정 없이도 데이터를 저장하고 열람할 수 있다는 장점이 있습니다.

 

 

❗ 파일 시스템의 한계

하지만 파일 시스템에는 여러 가지 단점이 존재합니다.

  • 데이터 중복 발생: 예를 들어 A 프로그램과 B 프로그램이 동일한 정보를 가지고 있다면, A에서 수정한 정보가 B에 자동 반영되지 않아 데이터 일관성이 깨질 수 있습니다.
  • 데이터 종속성: 프로그램이 파일 구조에 종속되어 있기 때문에, 파일 구조가 바뀌면 프로그램도 함께 수정해야 하는 불편함이 있습니다.
  • 보안과 동시 접근의 어려움: 여러 사용자가 동시에 데이터를 사용할 수 없으며, 보안이나 회복 기능이 부족합니다.
  • 무결성 유지 어려움: 데이터가 중복되거나 불일치할 경우 오류가 발생할 수 있습니다.

파일 시스템을 상업적, 공용으로 이용하기엔 많은 불편함이 있어 1960년대에 데이터베이스 관리 시스템이 개발 되었습니다. 

 

💾 데이터베이스 관리 시스템(DBMS)의 등장

DBMS는 파일 시스템의 중복성과 종속성 문제를 보완하고, 보다 효율적인 데이터 관리를 가능하게 합니다.

DBMS는 응용 프로그램 대신 데이터를 삽입, 삭제, 수정, 검색하며, 모든 응용 프로그램이 하나의 데이터베이스를 공유할 수 있도록 도와줍니다.

또한 DBMS를 통해 데이터 구조나 접근 방식이 바뀌더라도, 사용자가 이를 미리 알 필요가 없고 응용 프로그램을 수정하지 않아도 되기 때문에 데이터 독립성도 확보할 수 있습니다.

 

데이터데이스와 관련한 직업은 데이터 베이스 관리 시스템이 수행한 후 그결과만 응용 프로그램을 통해서 사용자에게 전달 해 주는 것입니다. 또한 데이터베이스의 구조나 접근 방법 등이 변경 되어도, 사용자가 미리 알거나 응용 프로그램을 변경할 필요가 없어 데이터 독립성이 확보 됩니다. 

🛠 DBMS의 주요 기능

데이터베이스 관리 시스템은 세 가지 주요 기능을 제공합니다.

  • 정의 기능: 데이터베이스 구조를 정의하거나 수정할 수 있습니다.
  • 조작 기능: 데이터를 삽입, 삭제, 수정, 검색할 수 있습니다.
  • 제어 기능: 데이터를 항상 정확하고 안전하게 유지할 수 있으며, 여러 사용자가 동시에 접근할 수 있도록 합니다.

 

✅ DBMS의 장점

  • 데이터 중복을 줄일 수 있습니다.
  • 데이터의 독립성이 확보됩니다.
  • 여러 사용자가 동시에 데이터를 공유할 수 있습니다.
  • 데이터 보안이 강화됩니다.
  • 무결성 유지가 가능합니다.
  • 데이터 구조와 접근 방식의 표준화가 가능합니다.
  • 장애 발생 시 데이터를 회복할 수 있습니다.
  • 응용 프로그램 개발 및 유지보수 비용이 절감됩니다.

⚠️ DBMS의 단점

파일 시스템에 비해 다음과 같은 단점도 존재합니다.

  • 초기 구축 및 운영 비용이 많이 듭니다.
  • 백업 및 복구 절차가 복잡할 수 있습니다.
  • 중앙 집중 방식으로 인한 보안 취약점이 발생할 수 있습니다.

🧬 DBMS의 발전 과정

데이터베이스 관리 시스템은 1960년대에 처음 개발된 이후, 지속적으로 발전해왔습니다.
사용하는 데이터 모델에 따라 다양한 종류로 구분할 수 있습니다.

1세대 DBMS

  • 네트워크 DBMS: 구조가 복잡하고 변경이 어렵습니다.
  • 계층 DBMS: 트리 구조로 되어 있으며 상하 관계가 명확합니다.

2세대 DBMS

  • 관계형 DBMS: 구조가 단순하고 이해하기 쉽습니다.
    • 예: 오라클, MS SQL, 액세스, 인포믹스, MySQL, MariaDB

3세대 DBMS

  • 객체지향/객체관계 DBMS: 새로운 데이터 유형과 복잡한 분석 기능을 지원합니다.
    • 예: O2, 온투스, 젬스톤 등

4세대 DBMS

  • NoSQL DBMS: 비정형 데이터를 처리할 수 있습니다.
    • 예: MongoDB, HBase, Cassandra, Redis, Neo4j, OrientDB
  • NewSQL DBMS: NoSQL의 확장성과 유연성을 유지하면서도, 기존 관계형 DBMS처럼 안정성과 일관성을 제공합니다.
    • 예: Google Spanner, VoltDB, NuoDB

 

 

 

 

 

여기까지가 오늘 정리한 내용입니다.
짧게라도 공부하고, 글로 남기니 뿌듯한 기분이 듭니다. 10분만 책을 펴도 보람있다고 생각하렵니다. 
내일도 어제를 떠올리며 컴퓨터를 켜기를 바랍니다. 😊