데이터 베이스를 반드시 사용해야 하는 이유는 무엇일까?
컴퓨터의 OS는 이미 File system을 가지고 있고 충분히 Data를 directory와 file의 형태로 저장할 수 있다.
파일 시스템 File System 의 한계
파일 시스템의 첫번째 한계 : 동시 공유 불가
데이터를 파일로 저장하여 생성, 수정, 삭제, 검색 가능한 소프트웨어로 응용 프로그램 마다 필요한 데이터를 별도의 디렉토리를 통해 파일로 관리한다.
포인트는 응용프로그램마다 각각 따로 파일들을 담당하여 관리한다는 것!
따로 담당하여 관리하기 때문에 동시적으로 공유하기에 문제가 있다
쇼핑몰을 기반으로 생각해보면
- 상품의 게시를 관리하는 Application : 상품 이름 / 상품 게시자 / 상품 사진 등등의 data
- 상품의 주문을 관리하는 Application : 상품 이름 / 수령인 이름 / 수령인 전화번호 / 수령인 주소 등등의 data
두개의 application이 사실 같은 상품을 관리하고 있음에도
상품 이름이 중복되어 등록된 것을 확인할 수 있다.
파일 시스템의 두번째 한계 : 데이터의 중복성
-> 저장 공간 낭비가 발생하고 데이터의 일관성, 무결성을 지키기 힘들다
파일 시스템의 세번째 한계 : 데이터의 종속성
만약 데이터의 구조가 바뀌게 되면 application의 로직이나 구성이 변경되어야 한다
즉, System file 에서의 file의 구조가 변경되면 application도 같이 변경되어야 한다
application이 결국에 Data에 종속되는 안 좋은 현상이 나타난다
Data는 그대로 유지하고 그것을 이용하는 application이 운영 목적에 맞게 형태를 변화하는 것이 바람직하다
파일 시스템의 네번째 한계 : 데이터의 회복
데이터가 한번 소실되거나 잘못 수정된 경우 다시 되돌리기 힘들다
이러한 파일 시스템의 한계를 파악하고 Application 설계 시에 File System을 선택해야 하지 Data Base를 선택해야 할지 잘 선택해야 한당
이러한 한계로 인해 나타난 것이 DBMS Data Base Management System
조직의 data를 저장하고 관리
1세대 DBMS
- 네트워크 DBMS : 그래프 형태로 서로의 관계가 구성된 데이터 베이스
- 계층 DBMS : 트리 형태의 계층 형태로 구성된 데이터 베이스
2세대 DBMS
- 관계 (Relational) DBMS
테이블 형태의 데이터 베이스로 현재 가장 많이 사용하고 있는 형태의 DB다
ex ) MySQL , Oracle 등등
3세대 DBMS
- 객체지향 DBMS : 객체 개념을 사용하여 DB가 구성
- 객체관계 DBMS : 2세대의 관계 DBMS + 객체지향 DBMS
4세대 DBMS
- NoSQL DBMS : 데이터의 구조를 정해두지 않은 DBMS
비정형 데이터를 처리하는 데에 적합하고 유연성, 확장성을 가지고있음
AI + Big Data 분야 등 다양한 데이터의 형태를 다루는 분야에서 사용
-> 다수 개의 서버 컴퓨터에 데이터를 분산 저장 및 처리하는 환경
ex) 카산드라, 레디스, 몽고디비, 네오포제이, 오리엔트 DB
- NewSQL DBMS : 기존 SQL 사용하는 관계 DBMS 장점과 NoSQL 확장성 및 유연성 결합
'데이터베이스 Database' 카테고리의 다른 글
SQL (Structured Query Language) - DDL 총정리 (0) | 2021.12.09 |
---|---|
관계 데이터 모델 (Relation) (0) | 2021.12.08 |
데이터 모델링 Data Modeling (0) | 2021.12.07 |
데이터 베이스 구조 - DataBase Structure (0) | 2021.12.07 |
데이터베이스 Data Base 기본 개념 (0) | 2021.12.07 |