데이터베이스 관리 시스템의 등장 배경
과거에는 파일 시스템이라는 소프트웨어를 이용.
데이터를 파일로 관리할 수 있도록 파일을 생성·삭제·수정·검색하는 기능을 제공.
응용 프로그램별로 필요한 데이터를 별도의 파일로 관리.
하지만 파일 시스템은 문제가 많았다.
- 같은 내용의 데이터가 여러 파일에 중복 저장 (데이터 중복성) : 저장 공간 낭비, 데이터 일관성, 무결성 유지 어려움.
- 응용 프로그램이 데이터 파일에 종속적 (데이터 종속성) : 파일의 구조를 변경하는 응용 프로그램도 함께 변경.
- 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족.
- 응용 프로그램 개발 어려움.
데이터베이스 관리 시스템의 정의
데이터베이스 관리 시스템 (DBMS)
- 파일 시스템의 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어.
- 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 이에 대한 관리를 담당.
데이터베이스 관리 시스템의 장·단점
데이터베이스 관리 시스템의 장점
- 데이터 중복 통제 : 데이터베이스에 데이터를 통합하여 관리하므로 데이터 중복 문제 해결.
- 데이터 독립성 확보 : 응용 프로그램을 대신해서 데이터베이스에 접근하고 이를 관리하는 모든 책임을 짐.
- 데이터 동시 공유 : 데이터베이스에 통합된 데이터를 여러 응용프로그램이 공유하여 같은 데이터에 동시 접근 가능.
- 데이터 보안 향상 : 데이터베이스를 이용해 중앙 집중식으로 관리, 사용자별로 접근 가능한 영역 제한, 차별화.
- 데이터 무결성 유지 : 데이터에 대한 연산이 수행될 때마다 유효성을 검사하여 데이터 무결성 유지.
- 표준화 : 모든 응용 프로그램은 데이터베이스 관리 시스템이 미리 정한 표준화된 방식을 통해 데이터베이스에 접근.
- 장애 발생 시 회복 가능 : 장애가 발생해도 데이터 일관성과 무결성을 유지하면서 복구하는 회복 기능 지원.
- 응용 프로그램 개발 비용 감소 : 데이터에 대한 모든 관리를 응용 프로그램 대신 데이터베이스 관리 시스템이 담당.
데이터베이스 관리 시스템의 단점
- 비용이 많이 듦 : DBMS 구매 비용이 많이 듦, 동시 사용이 허용되는 사용자 수에 따라 제품 가격도 증가.
- 백업과 회복 방법이 복잡함 : 장애가 발생했을 때 정확한 원인과 상태를 파악하기 어려움.
- 중앙 집중 관리로 인한 취약점이 존재 : 시스템에 장애가 발생하면 전체 시스템의 업무 처리가 중단, 데이터베이스에 대한 의존도가 높은 시스템일수록 가용성과 신뢰성에 치명적인 영향.
데이터베이스 관리 시스템의 발전 과정
- 1세대 데이터베이스 관리 시스템 : 네트워크·계층 DBMS
- 2세대 데이터베이스 관리 시스템 : 관계 DBMS
- 데이터베이스를 테이블 형태로 구성
- 오라클, MS SQL 서버, 액세스, 인포믹스, MySQL, 마리아DB 등
- 3세대 데이터베이스 관리 시스템 : 객체지향·객체관계 DBMS
- 4세대 이후 데이터베이스 관리 시스템 : NoSQL·NewSQL DBMS
- NoSQL
- 안정성과 일관성 유지를 위한 복잡한 기능을 포기하고 데이터 구조를 미리 정해두지 않기 때문에 비정형 데이터를 저장하고 처리하는 데 적합.
- 확장성이 뛰어나 여러 대의 서버 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용.
- 몽고디비, H베이스, 카산드라, 레디스, 네오포제이, 오리엔트DB 등
- NewSQL
- 관계 DBMS의 장점과 NoSQL의 확장성 및 유연성을 모두 지원.
- 정형 및 비정형 데이터를 안정적이고 빠르게 처리할 수 있음.
- 구글 스패너, 볼트DB, 누오DB 등
- NoSQL
반응형