Chapter 1,2. 데이터베이스의 기본 개념 및 관리 시스템
데이터 베이스 기본 개념
01 데이터베이스의 필요성
02 데이터베이스의 정의와 특징
03 데이터 과학 시대의 데이터
목표
▪ 데이터와 정보의 차이를 이해한다.
▪ 데이터베이스의 필요성을 알아본다.
▪ 데이터베이스의 정의에 숨겨진 의미와 주요 특징을 이해한다.
▪ 형태와 특성에 따른 데이터 분류 방법을 알아본다.
01. 데이터베이스의 필요성
◆ 데이터와 정보
데이터(data)
• 현실 세계에서 단순히 관찰하거나 측정하여 수집한 사실이나 값
정보(information)
• 의사 결정에 유용하게 활용할 수 있도록 데이터를 처리한 결과물
◆정보 시스템과 데이터베이스
정보 시스템(information system)
• 조직 운영에 필요한 데이터를 수집하여 저장해두었다가 필요할 때 유용한
정보를 만들어 주는 수단
데이터베이스
• 정보 시스템 안에서 데이터를 저장하고 있다가 필요할 때 제공하는 역할 담당
02. 데이터베이스의 정의와 특징
◆ 데이터베이스(DB; DataBase)
▪ 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합
데이터베이스의 정의
공유 데이터 :특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있는 공용 데이터
통합 데이터: 최소의 중복과 통제 가능한 중복만 허용하는 데이터
저장 데이터: 컴퓨터가 접근할 수 있는 매체에 저장된 데이터
운영 데이터 :조직의 주요 기능을 수행하기 위해 지속적으로 꼭 필요한 데이터
데이터베이스의 특징
실시간 접근 : 사용자의 데이터 요구에 실시간으로 응답
계속 변화 : 데이터의 계속적인 삽입, 삭제, 수정을 통해 현재의 정확한 데이터를 유지
동시 공유: 서로 다른 데이터의 동시 사용뿐만 아니라 같은 데이터의 동시 사용도 지원
내용 기반 참조
데이터가 저장된 주소나 위치가 아닌 내용으로 참조 가능
예) 재고량이 1,000개 이상인 제품의 이름을 검색하시오.
03. 데이터 과학 시대의 데이터
형태에 따른 데이터 분류
-정형 데이터
-반정형 데이터
-비정형 데이터
정형 데이터(structured data)
구조화된 데이터, 즉 미리 정해진 구조에 따라 저장된 데이터
데이터 구조에 대한 설명과 데이터 내용은 별도로 유지됨
예) 엑셀의 스프레드시트, 관계 데이터베이스의 테이블
반정형 데이터(semi-structured data)
구조에 따라 저장된 데이터이지만 데이터 내용 안에 구조에 대한 설명이
함께 존재
구조를 파악하는 파싱(parsing) 과정이 필요, 보통 파일 형태로 저장
예) 웹에서 데이터를 교환하기 위해 작성하는 HTML, XML, JSON 문서나
웹 로그, 센서 데이터 등
비정형 데이터(unstructured data)
정해진 구조가 없이 저장된 데이터
예) 소셜 데이터의 텍스트, 영상, 이미지,
워드나 PDF 문서와 같은 멀티미디어 데이터
특성에 따른 데이터 분류
(통계적 관점에서 데이터 특성에 따라 적합한 분석 방법을 선택하기 위해 데이터 분석 분야에서 주로 활용)
- 범주형 데이터
- 수치형 데이터
범주형 데이터(categorical data)
범주로 구분할 수 있는 값, 즉 종류를 나타내는 값을 가진 데이터
크기 비교와 산술적인 연산이 가능하지 않아 질적 데이터라고도 함
명목형 데이터(nominal data)
순서, 즉 서열이 없는 값을 가지는 데이터
예) 성별, 혈액형, 학과명, 거주 지역, 음식 메뉴, MBTI 검사 결과
순서형 데이터(ordinal data)
순서, 즉 서열이 있는 값을 가지는 데이터
예) 학년, 학점, 회원 등급
수치형 데이터(numerical data)
크기 비교와 산술적인 연산이 가능한 숫자 값을 가진 데이터
양적 데이터라고도 함
이산형 데이터(discrete data)
개수를 셀 수 있는 띄엄띄엄 단절된 숫자 값을 가지는 데이터
예) 고객 수, 판매량, 합격자 수
연속형 데이터(continuous data)
측정을 통해 얻어지는 연속적으로 이어진 숫자 값을 가지는 데이터
예) 키, 몸무게, 온도, 점수
정성적 데이터와 정량적 데이터
정성적 데이터(qualitative data)
좁은 의미로는 범주형 데이터
사람의 주관적인 생각과 평가를 기술한 비정형 데이터
정량적 데이터(quantitative data)
좁은 의미로는 수치형 데이터
객관적인 측정을 통해 수치나 도형, 기호 등으로 표현한 정형 데이터
데이터베이스 관리 시스템
01 데이터베이스 관리 시스템의 등장 배경
02 데이터베이스 관리 시스템의 정의
03 데이터베이스 관리 시스템의 장•단점
04 데이터베이스 관리 시스템의 발전 과정
목표
파일 시스템의 문제점과 데이터베이스 관리 시스템의 필요성을 알아본다.
데이터베이스 관리 시스템의 필수 기능을 살펴본다.
데이터베이스 관리 시스템의 장단점을 알아본다.
데이터베이스 관리 시스템의 발전 과정을 살펴본다.
01 데이터베이스 관리 시스템의 등장 배경
파일 시스템(file system)
데이터를 파일로 관리하기 위해 파일을 생성·삭제·수정·검색하는 기능을
제공하는 소프트웨어
응용 프로그램별로 필요한 데이터를 별도의 파일로 관리함
파일 시스템의 문제점
같은 내용의 데이터가 여러 파일에 중복 저장된다.
응용 프로그램이 데이터 파일에 종속적이다.
데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족하다.
응용 프로그램을 개발하기 쉽지 않다.
파일 시스템의 주요 문제점1
같은 내용의 데이터가 여러 파일에 중복 저장된다 → 데이터 중복성
저장 공간의 낭비는 물론 데이터 일관성과 데이터 무결성을 유지하기 어려움
데이터 중복성 문제를 해결하는 방법은?
파일 시스템의 주요 문제점2
응용 프로그램이 데이터 파일에 종속적이다 → 데이터 종속성
사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 함
02 데이터베이스 관리 시스템의 정의
데이터베이스 관리 시스템
DBMS(DataBase Management System)
파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어
조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리함
데이터베이스 관리 시스템에서의 데이터 관리
데이터베이스 관리 시스템의 주요 기능
03 데이터베이스 관리 시스템의 장•단점
장점
1. 데이터 중복을 통제할 수 있다.
데이터베이스에 데이터를 통합하여 관리하므로 데이터 중복 문제 해결
2. 데이터 독립성이 확보된다.
응용 프로그램 대신 데이터베이스에 접근하고 관리하는 모든 책임 담당
→ 응용 프로그램과 데이터베이스 사이에 독립성이 확보됨
3. 데이터를 동시 공유할 수 있다.
동일한 데이터를 여러 응용 프로그램이 공유하여 동시 접근할 수 있게 지원
→ 동시 접근 제어 기술 보유
4. 데이터 보안이 향상된다.
중앙 집중식으로 데이터를 관리하므로 효율적인 접근 제어 가능
– 권한이 없는 사용자의 접근, 허용되지 않은 데이터와 연산에 대한 요청 차단
단점
1. 비용이 많이 든다.
별도 구매 비용이 들고, 동시 사용이 허용되는 사용자 수에 따라 가격 증가
2. 백업과 회복 방법이 복잡하다.
장애 발생의 원인과 상태를 정확히 파악하기 어렵고 회복 방법도 복잡함
3. 중앙 집중 관리로 인한 취약점이 존재한다.
데이터베이스나 데이터베이스 관리 시스템에 장애가 발생하면 전체 시스템의 업무 처리가 중단됨
데이터베이스 의존도가 높은 시스템일수록 가용성과 신뢰성에 치명적임
04 데이터베이스 관리 시스템의 발전 과정
1세대 : 네트워크 DBMS, 계층 DBMS
네트워크 DBMS : 데이터베이스를 그래프 형태로 구성
예) IDS(Integrated Data Store)
계층 DBMS : 데이터베이스를 트리 형태로 구성
예) IMS(Information Management System)
2세대 : 관계 DBMS
관계 DBMS : 데이터베이스를 테이블 형태로 구성
예) 오라클(Oracle), MS SQL 서버, 액세스(Access), 인포믹스(Informix), MySQL, 마리아DB(MariaDB)
3세대 : 객체지향 DBMS, 객체관계 DBMS
객체지향 DBMS : 객체를 이용해 데이터베이스를 구성
예) 오투(O2), 온투스(ONTOS), 젬스톤(GemStone)
객체관계 DBMS : 객체지향 DBMS + 관계 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)