-
파일 시스템
- 데이터를 파일로 관리하기 위해 생성,삭제,수정,검색하는 기능을 제공하는 소프트웨어
- 프로그램별로 필요한 데이터를 별도의 파일로 관리
파일 시스템 문제점
- 데이터 중복성
- 같은 내용의 데이터가 여러 파일에 중복
- 저장 공간 낭비
- 데이터 일관성, 무결성 유지 어려움
- 해결 방법
- 데이터 종속성
- 응용 프로그램이 데이터 파일에 종속적
- 사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 함
- 동시 공유, 보안, 회복 기능 부족
- 응용 프로그램 개발 어려움
데이터베이스 관리 시스템(DBMS)
- 파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어
- 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리
DBMS에서의 데이터 관리
DBMS의 주요 기능
- 정의 기능
- 데이터베이스 구조를 정의하거나 수정할 수 있다.
- 조작 기능
- 데이터를 삽입, 삭제, 수정, 검색하는 연산을 할 수 있다.
- 제어 기능
- 데이터를 항상 정확하고 안전하게 유지할 수 있다.
데이터베이스 관리 시스템의 장,단점
- 장점
- 데이터 중복을 통제
- 데이터 독립성 확보
- 데이터 동시 공유
- 데이터 보안 향상
- 데이터 무결성 유지
- 표준화
- 장애 발생시 회복 가능
- 응용 프로그램 개발 비용이 줄어듦
- 단점
- 비용이 많이 듦
- 백업과 회복 방법 복잡
- 콜드 백업 : DB 서버를 다 내리고 백업을 받음
- 핫 백업 : DB가 운영중인 상태에서 백업을 받는 방법
- 중앙 집중 관리로 인해 취약점 존재
데이터베이스 관리 시스템의 발전 과정
- 1세대 : 네트워크 DBMS, 계층 DBMS
- 네트워크 DBMS : 데이터베이스를 그래프 형태로 구성
- 계층 DBMS : 데이터베이스를 트리 형태로 구성
- 2세대 : 관계 DBMS
- 관계 DBMS : 데이터베이스를 테이블 형태로 구성
- 예)오라클, MS SQL서버, 액세스, 인포믹스, MySQL, 마리아DB
- 3세대 : 객체지향 DBMS, 객체관계DBMS
- 객체지향 DBMS : 객체를 이용해 데이터베이스 구성
- 객체관계 DBMS : 객체지향 DBMS + 관계 DBMS
- 예) 관계 DBMS 제품들이 객체지향 기능 지원하여 객체관계 DBMS로 분류되기도 함
- (오라클이 대표적)
- 4세대 : NoSQL, NewSQL DBMS
- NoSQL DBMS : 비정형 데이터를 처리하는데 적합하고 확장성 뛰어남
- 안정성과 일관성 유지를 위한 복잡한 기능 포기
- 데이터 구조를 미리 정하지 않음(유연성)
- 여러 대의 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 사용
- 예) 몽고디비, H베이스, 카산드라, 레디스, 네오포제이, 오리엔트DB 등
- NewSQL DBMS : 관계 DBMS의 장점 + NoSQL의 확장성 및 유연성
- 정형 및 비정형 데이터를 안정적이고 빠르게 처리 가능
- 예) 구글 스패너, 볼트DB, 누오DB