2020. 10. 15. 23:40ㆍ개발/[DB] 데이터베이스 개념정리
이 글은 개념 정리입니다.
데이터베이스 등장 배경
과거에는 데이터를 파일로 관리하기 위해 파일시스템을 이용하였다.
구매비용은 들지 않지만, 응용 프로그램마다 파일을 따로 유지하는 특징 때문에 다음과 같은 문제가 발생한다.
1. 같은 내용의 데이터가 여러 파일에 중복 저장된다.
2. 응용 프로그램이 데이터 파일에 종속적이다.
3. 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족하다.
4. 응용 프로그램을 개발하기 쉽지 않다.
데이터베이스 관리시스템
1. 파일 시스템의 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어
2. 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 이에 대한 관리르 집중적으로 담당.
3. 응용 프로그램을 대신하여 데이터베이스에 들어 있는 데이터를 삽입, 삭제, 수정, 검색하고, 모든
응용 프로그램이 데이터베이스를 공유할 수 있게 한다.
데이터베이스 주요 기능
정의 기능(Data Definition Language) : 데이터베이스 구조를 정의하거나 수정할 수 있다.
조작 기능(Data Manipulation Language): 데이터를 삽입, 삭제, 수정, 검색하는 연산을 할 수 있다.
제어 기능(Data Control Language) : 데이터를 항상 정확하고 안전하게 유지할 수 있다.
데이터베이스의 장점
1. 데이터 중복을 통제할 수 있다.
2. 데이터 독립성이 확보된다.
3. 데이터를 동시 공유할 수 있다.
4. 데이터 보안이 향상된다.
5. 데이터 무결성을 유지할 수 있다.
6. 표준화 할 수 있다.
7. 장애 발생 시 회복이 가능하다.
8. 응용 프로그램 개발 비용이 줄어든다.
데이터베이스의 단점
1. 비용이 많이 든다.
2. 백업과 회복 방법이 복잡하다.
3. 중앙 집중 관리로 인한 취약점이 존재한다.
DBMS 발전 과정
크게 4세대로 분류하며, 사용하는 데이터 모델에 따라 나뉜다.
1세대 : 네트워크 DBMS - 노드와 간선을 이용한 그래프 형태로 구성되었으며, 최근에 Social의 발전으로 Graph DBMS 형태로 부활하였다.
계층 DBMS - 데이터베이스를 트리 형태로 구성한다.
2세대 : 관계 DBMS - 데이터베이스를 테이블 형태로 구성한다.
데이터베이스를 단순하고 이해하기 쉬운 구조로 구성한다는 장점이 있다.
이러한 이유로 DBMS의 주류로 자리 잡았으며, 기술 확장 및 성능 향상이 이루어졌다.
3세대 : 객체지향 DBMS - DBMS에 객체지향 프로그래밍 개념을 도입하여 구성된다.
객체관계 DBMS - 관계 DBMS와 객체지향 DBMS 개념을 통합하여 구성된다.
4세대 : SNS가 발전하게 됨에 따라 생기게 된 대용량의 비정형데이터는 관계형 DBMS로 처리하는데 비효율적
NOSQL DBMS - 관계형 DBMS의 강점인 안정성과 일관성 유지를 위한 복잡한 기능을 포기하고,
데이터 구조를 미리 정해두지 않았기 때문에 비정형 데이터를 처리하는데 적합하며 또한 확장성이 뛰어나 분산처리하는 환경에서 주로 사용한다.
NEWSQL DBMS - 관계 DBMS의 장점과 NOSQL의 확장성 및 유연성을 모두 지원
하지만 시장에 진입한지 얼마 되지 않아 더 큰 발전이 기대됨에 따라 당분간은 관계 DBMS, NOSQL, NEWSQL이 상호 보완하면서 공존할 것으로 예상된다.
'개발 > [DB] 데이터베이스 개념정리' 카테고리의 다른 글
[DB] 관계형 데이터 모델링 개념 정리 (0) | 2020.10.15 |
---|---|
[DB] 데이터 모델링과 E-R다이어그램 (0) | 2020.10.15 |
[DB] 데이터베이스 시스템 (0) | 2020.10.15 |
[DB] 데이터베이스 개념정리 (0) | 2020.10.15 |