- 1 -
11. Amazon RDS 1강. 데이터베이스 개론
학습목표
- 데이터베이스의 개념 및 장단점을 이해한다.
- 데이터베이스 관리 언어인 SQL에 대해 이해하고 활용할 수 있는 능력을 가지 도록 한다.
학습내용
- 데이터베이스 개요
- 데이터베이스 관리 시스템
- SQL(Structured Query Language)
1. 데이터베이스 개요 (1) 데이터베이스 역사
∙ S3 서비스 시작
∙ 버킷 생성
∙ 1960년 찰스 버크만
: GE의 제조생산라인 관리를 위한
MIACS(Manufacturing Information And Control System)을 구축하면서 프로그램 로직과 별도로 데이터를 독립적으로 관리하기 위해 IDS(Intergrated Data Store)을 개발
∙ 1965년 시스템 디벨로프사가 2차로 개최한 '컴퓨터 중심 데이터베이스 시스템’ 이라는 심포지엄에서 처음 사용
∙ 1970년에 에드거 F. 커드가 처음으로 관계형 모텔 제안
∙ 1980년대 컴퓨팅 하드웨어가 관계형 데이터베이스 시스템을 가능할 수 있을 정도의 성능을 가짐
∙ 1990년대 초부터 현재까지 대부분의 대형 데이터 처리 애플리케이션을 관계형
시스템들을 이용
- IBM DB2, 오라클, MySQL, MS SQL 서버 등
∙ 1980년대 객체지향 데이터베이스 개발
∙ 2007년 NoSQL 데이터베이스 몽고 DB 발표 차세대 데이터베이스로 부각
∙ 2008년 NoSQL 카산드라 발표 (2) 데이터베이스 정의
∙ 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집 합이다 작성된 목록으로써 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음이다 (위키백과)
(3) 데이터베이스 특징
- 3 - (4) 데이터베이스 장단점
∙ 데이터베이스 장점 - 데이터 중복 최소화
-> 데이터를 통합관리하여 중복 최소화 가능 - 데이터 일관성 유지
-> 데이터 중복 제거를 통해 일관성 유지 - 데이터 무결성 유지
-> 부정확한 값이나 허용되지 않는 값에 대한 유효성 검증을 통해 무결성 유지 - 데이터 보안 보장
-> 중앙집중관리로 보안에 대한 철저한 지원이 가능 - 최신의 데이터 유지
- 데이터의 표준화 가능 - 데이터 저장 공간 절약
-> 중복 저장을 제거함으로 저장공간을 효율적으로 사용
∙ 데이터베이스 장점 - 비용 부담이 증가
-> 데이터베이스관리 시스템이 고가 -> 시스템 자원을 많이 사용
->관리를 위한 전문인력이 필요 - 시스템의 복잡함
-> 데이터베이스 설계 및 관리를 위해 전문적,
-> 기술적인 기술이 필요 - 백업과 회복이 어려움
- 복잡한 구조로 백업과 회복에 대한 전략이 복잡함
(5) 데이터베이스 모델
∙ 관계형 데이터베이스 Relational Database)
- 데이터를 행(Row)과 열(Column)로 구성된 표(table)에 저장 - 데이터간의 관계성 및 종속성은 관계(Relation)로 표현
- 스키마(Schema): 테이블 구조와 데이터의 관계 등에 대해 기술한 메타 데 이터
- SQL(Structure Query Language): 검색, 삽입, 삭제, 수정을 위한 스크립 트 언어
∙ 계층형 데이터베이스 (Hierarchical Database)
- 데이터의 관계를 트리 구조를 이용하여 정의 정보 획득을 위해 데이터 구조 를 알아야 함
∙ 네트워크형 데이터베이스 (Network Database)
- 데이터의 관계를 네트워크 구조를 이용하여 표현 계층형 데이터베이스의 중 복 문제 해결
∙ 키-값형 데이터베이스 (Key-Value Database)
- 간단한 키-값 메소드를 사용하여 데이터를 저장하는 비관계형 데이터베이스
2. 데이터베이스 관리 시스템 (1) 데이터베이스 관리시스템 개요
∙ Database Management System의 약자로 데이터를 관리하는 시스템 혹은 응용프로그램
∙ 응용 프로그램들이 데이터베이스를 공유하며 사용할 수 있는 환경을 제공하는 소프트웨어
∙ 정확하고 일관성 있는 데이터를 유지할 수 있도록 관리
∙ MySQL, MSSQL, Oracle, PostgreSQL, MongoDB, MariaDB 등이 있음
(2) DBMS 순위
- 5 - (3) 데이터베이스관리 시스템 순위
∙ 순위 결정 요소
- Google과 Bing에서 검색된 횟수 - Google Trends의 검색 빈도수
- Stack Overflow와 DBA Stack Exchange와 같은
IT 관련 Q&A 사이트에서 관련된 질문 혹은 관심있는 사용자의 수 - Indeed와 Simply Hired와 같은 구직 관련 사이트에서 제공하는 횟수 - LinkedIn의 정보를 이용
- 트위터 트윗 수
3. 데이터베이스 관리 시스템 - SQL (Structured Query Language) (1) SQL 개요
∙ 1970년 초 IBM에서 개발
∙ SEQUEL(Structured English Query Language, 구조화된 영어 질의어)라는 이름으로 사용
∙ 미국 표준(ANSI)과 국제 표준(ISO) 관계형 데이터베이스 표준 언어로 승인
∙ ORACLE, MS SQL-Server, MySQL 등 거의 모든 관계형 DBMS에서 채택
∙ 관계형 데이터베이스의 데이터 관리를 위해 사용되는 프로그래밍 언어
∙ 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접 근 조정 관리를 위해 사용
select name, height, weight from student
where city = ‘busan’
Insert into student (name, height, weight) VALUES (‘park’, 180, 50)
(2) SQL 언어 종류
- 7 - (3) 트랜잭션(Transaction)
∙ 하나의 논리적 단위를 구성하는 데이터베이스 연산의 모임
∙ 트랜잭션 관리 모듈
(transaction management module)
- 동시성제어 모듈(concurreny control module) : 동시에 수행되는 트랜잭션들 사이의 상호작용을 제어하는 모듈
- 회복제어 모듈(recovery control module) : 업데이트를 하는 동안 시스템 장애에도
데이터 베이스의 상태가 유지되도록 하는 모듈
평가하기
1. 다음 중 데이터베이스의 정의로 맞지 않는 것은?
① 공용 데이터(Shared Data)
② 통합 데이터(Integrated Data)
③ 중복 데이터(Duplicated Data)
④ 운영 데이터(Operational Data)
- 정답 : ③ 번
해설 : 데이터베이스의 데이터는 중복되어서는 안됩니다.
2. 다음 중 RDBMS가 아닌 것은?
① Oracle
② MOngoDB
③ MySQL
④ MS SQL Server
- 정답 : ② 번
해설 : MongDB는 NoSQL 데이터베이스 엔진입니다.
- 9 - 학습정리
1. 데이터베이스 개요
∙ 데이터베이스 역사
∙ 데이터베이스 정의
∙ 데이터베이스 특징
∙ 데이터베이스 장단점
∙ 데이터베이스 모델
2. 데이터베이스관리 시스템
∙ 데이터베이스관리 시스템 개요
∙ 데이터베이스관리 시스템 순위