파일 시스템 ( File System )
데이터를 파일로 관리하기 위해 파일을 생성, 수정, 삭제, 검색하는 기능을 제공하는 소프트웨어
응용 프로그램마다 필요한 데이터를 별도의 파일로 관리
파일 시스템의 문제점
1. 데이터 중복성
→ 저장 공간의 낭비 + 데이터 일관성, 데이터 무결성을 유지하기 어려움
2. 데이터 종속성
사용하는 파일 구조를 변경하면 응용 프로그램도 함께 변경되야 함
3. 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족하다
4. 응용 프로그램 개발이 쉽지 않다
데이터베이스 관리 시스템 ( DBMS : DataBase Management System )
파일 시스템의 문제를 해결하기 위해 나온 소프트웨어
필요한 데이터를 데이터베이스에 통합하여 저장하고 관리함
데이터 베이스 관리 시스템의 주요 기능
- 정의 : 데이터베이스 구조를 정의, 수정 가능
- 조작 : 데이터를 삽입, 삭제, 수정, 검색하는 연산 가능
- 제어 : 데이터를 항상 정확하고 안전하게 유지 가능
데이터 베이스 관리 시스템의 장점
- 데이터 중복 통제 가능
- 데이터 독립성 확보
- 데이터 동시 공유 가능
- 데이터 보안 향상
- 데이터 무결성, 일관성 유지
- 표준화 가능
- 장애 발생 시 회복 가능
- 응용 프로그램 개발 비용 줄어듬
데이터 베이스 관리 시스템의 단점
- 비용 많이 듦
- 백업과 회복 방법이 복잡
- 중앙 집중 관리(SPF, SPOF) 로 인한 취약점 존재 → 요즘은 여러 서버로 분산시켜 취약점 발생 방지
데이터 베이스 관리 시스템의 발전 과정
1세대
- 네트워크 DBMS : 데이터베이스를 그래프 형태로 구성
- 계층 DBMS : 데이터 베이스를 트리 형태로 구성
2세대
- 관계 DBMS : 데이터베이스를 테이블 형태로 구성
ex) MySQL, 오라클(Oracle) 등등
3세대
- 객체지향 DBMS : 객체를 이용해 데이터 베이스 구성
- 객체관계 DBMS : 객체 DBMS + 관계 DBMS
4세대
- NoSQL DBMS :
비정형 데이터를 처리하는데 적합하고 확장성이 뛰어남
데이터 구조를 미리 정해두지 않아 유연함
확장성 높아 여러 대의 서버 컴퓨터에 데이터 분산하여 저장, 처리하는 환경 주로 사용
ex) 몽고디비 ( MongoDB) , Redis 등등
- NewSQL DBMS : 관계 DBSM의 장점 + NoSQL의 확장성 및 유연성
ex) 구글 스패너, 볼트 DB 등등