파일시스템
•
데이터를 파일로 관리하였고, 이를 위해 파일을 생성, 삭제, 수정, 검색하는 파일 시스템을 사용하였다.
•
이 파일 시스템은 통합되지 않아 프로그램마다 관리하였다.
•
예를 들어 고객 관리 응용 프로그램, 주문 관리 응용프로그램이 각각 고객 데이터 파일, 주문 데이터 파일을 관리하였다.
파일 시스템의 주요 문제점
데이터 중복성
•
같은 내용의 데이터가 여러 파일에 중복 저장되었다. 앞선 예를 살펴보면 고객 관리 프로그램에서의 고객 데이터 파일에서도 고객 id, 전화번호가 필요하고 주문 관리 프로그램의 주문 데이터 파일에서도 고객 id, 전화번호가 필요하다.
•
이는 데이터 무결성(데이터의 정확성과 일관성)을 유지하지 못하게 하고 저장 공간도 낭비되었다.
데이터 종속성
•
응용 프로그램들은 각각 관리하는 데이터 파일에 종속적(딸려 붙어 있는)이었다. 사용하는 파일의 구조를 변경하면 응용 프로그램 역시 수정해야 하는 문제가 있었다.
RDBMS
•
파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리
DBMS의 장단점
•
장점
◦
데이터 중복을 통제할 수 있다. ㅡ> 일관성, 무결성 유지
◦
데이터 독립성이 확보된다.
◦
데이터를 동시 공유할 수 있다.
◦
데이터 보안이 향상된다.
◦
표준화할 수 있다.
◦
장애 발달 시 회복이 가능하다.
◦
응용 프로그램 개발 비용이 줄어든다.
•
단점
◦
비용이 많이 든다. + 데이터 센터 등
◦
백업과 회복 방법이 복잡하다.
◦
중앙 집중 관리로 인한 취약점이 존재한다.
DBMS의 발전 과정
1세대 : 네트워크 DBMS, 계층 DBMS
•
네트워크 DBMS : 데이터베이스를 그래프 형태로 구성
◦
예) IDS(Integrated Data Store)
•
계층 DBMS : 데이터베이스를 트리 형태로 구성
◦
예) IMS(Information Management System)
2세대 : 관계 DBMS (RDBMS)
•
관계 DBMS : 데이터베이스를 테이블 형태로 구성
◦
예) 오라클(Oracle), MS SQL 서버, 액세스(Access), 인포믹스(Informix), MySQL
3세대 : 객체지향 DBMS, 객체관계 DBMS
•
객체지향 DBMS : 객체를 이용해 데이터베이스를 구성
◦
예) 오투(O2), 온투스(ONTOS), 젬스톤(GemStone)
•
객체관계 DBMS : 객체 DBMS + 관계 DBMS
4세대 : NoSQL • NewSQL DBMS
•
NoSQL DBMS : 비정형 데이터를 처리하는데 적합하고 확장성이 뛰어남
◦
비정형 데이터가 증가함에 따른 시대적 패러다임에 따라 등장
◦
안정성과 일관성 유지를 위한 복잡한 기능을 포기
◦
데이터 구조를 미리 정해두지 않는 유연성
◦
확장성이 뛰어나 여러 대의 서버 컴퓨터에 데이터를 분산하여 저장하고 처리 하는 환경에서 주로 사용
◦
예) 몽고디비(MongoDB), H베이스(HBase), 카산드라(Cassandra), 레디스(Redis), 네오포제이(Neo4j), 오리엔트DB(OrientDB) 등
•
NewSQL DBMS: 관계 DBMS의 장점+ NoSQL의 확장성 및 유연성
◦
예) 구글 스패너(Spanner), 볼트DB(VoltDB), 누오DB(NuoDB)



