데이터베이스의 정의
=> 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합
- 공유 데이터 - 특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있는 공용 데이터
- 통합 데이터 - 최소의 중복과 통제 가능한 중복만 허용하는 데이터
- 혹시 중복이더라도, 통제가 가능하다. 통합을 활용하면 중복을 최소화할 수 있음
- 저장 데이터 - 컴퓨터가 접근할 수 있는 매체에 저장된 데이터
- 운영 데이터 - 조직의 주요 기능을 수행하기 위해 지속적으로 꼭 필요한 데이터
데이터베이스의 특징
- 실시간 접근
- 모아서 한 번에 처리하지 않고, 사용자의 응답에 최선을 다해 빠른 속도로 응답함
- 계속 변화
- 동시 공유
- 내용 기반 참조
- 일반적인 programming language와의 차이가 존재함.
- programming language -> 데이터가 저장된 주소, 위치로 접근
- 데이터베이스 -> 데이터의 내용을 기반으로 접근 (재고량이 1,000개 이상인 제품의 이름 검색하기) => 찾고자 하는 데이터 내용 조건만 제시
데이터의 분류
- 정형 데이터
- 구조화되어 있음 -> 미리 정해진 구조에 따라 저장된 데이터
- 반정형 데이터
- 구조에 따라 저장되어있지만 데이터 내용 안에 구조에 대한 설명이 함께 존재함.
- 구조 파악하는 parsing 과정이 필요
- 비정형 데이터
데이터베이스 관리 시스템
등장 배경
- 파일 시스템(file system)
- 응용 프로그램마다 각자 다른 데이터 운용 -> 별도의 파일로 관리하게 됨
- 문제점 1 - 같은 내용의 데이터가 여러 파일에 중복 저장됨 -> 데이터 중복성
- 데이터 일관성(consistency), 무결성(integrity)을 유지하기 어려워짐
- 문제점 2 - 응용 프로그램이 데이터 파일에 종속적 -> 데이터 종속성
- 파일 구조 변경 시 응용 프로그램 내용도 함께 변경되어야 함
- 문제점에 대한 해결책
- DBMS(데이터베이스 관리 시스템)
- 종속성, 중복성 문제 해결됨
- DBMS 통해 data 접근 -> 데이터베이스에 통합되어 중복문제 해결됨
- DBMS(데이터베이스 관리 시스템)
DBMS의 주요 기능
- 정의 기능 - 데이터베이스 구조 정의 / 수정
- 조작 기능 - 데이터 삽입 / 삭제 / 수정 / 검색 연산
- 제어 기능 - 데이터 정확하고 안전하게 유지
발전 과정
1. 1세대 - 네트워크 DBMS, 계층 DBMS
- 그래프, 트리 형태의 데이터베이스
2. 2세대 - 관계 DBMS (가장 많이 사용되는 DBMS)
- 데이터베이스를 테이블 형태로 구성 - MySQL, Oracle 등
- 미리 구조를 정의하여 값을 넣는 방식임.
3. 객체지향 DBMS, 객체관계 DBMS
- 객체지향 DBMS : 객체 이용해 DB 구성
- 그러나, 기존 사용 DB를 객체지향 DB로 옮기는 작업이 복잡하여 실패함.
- 객체관계 DBMS : 객체 DBMS + 관계 DBMS
4. NoSQL · NewSQL DBMS
- NoSQL (Not Only SQL)
- 구조를 미리 정해두지 않는 유연성을 지님 -> 확장성 뛰어남
- 비정형 데이터 처리하는 데에 적합함
- 여러 대의 서버 컴퓨터에 데이터 분산, 저장, 처리하는 환경에서 주로 사용됨
- NewSQL
- 관계 DBMS의 장점 + NoSQL의 확장성, 유연성
- 김연희. 『데이터베이스개론』. 한빛아카데미.
'Computer Science' 카테고리의 다른 글
[데이터베이스] 데이터베이스 저장 및 인덱스 (0) | 2023.11.29 |
---|---|
[데이터베이스] #3 데이터 모델링, 관계 데이터 모델 (1) | 2023.10.10 |
[데이터베이스] #2 데이터베이스 시스템 (0) | 2023.09.09 |