Presentation is loading. Please wait.

Presentation is loading. Please wait.

데이타베이스 시스템 개요 Chapter 1 송 병 호

Similar presentations


Presentation on theme: "데이타베이스 시스템 개요 Chapter 1 송 병 호"— Presentation transcript:

1 데이타베이스 시스템 개요 Chapter 1 송 병 호
송 병 호 The slides for this text are organized into chapters. This lecture covers Chapter 1. Chapter 1: Introduction to Database Systems Chapter 2: The Entity-Relationship Model Chapter 3: The Relational Model Chapter 4 (Part A): Relational Algebra Chapter 4 (Part B): Relational Calculus Chapter 5: SQL: Queries, Programming, Triggers Chapter 6: Query-by-Example (QBE) Chapter 7: Storing Data: Disks and Files Chapter 8: File Organizations and Indexing Chapter 9: Tree-Structured Indexing Chapter 10: Hash-Based Indexing Chapter 11: External Sorting Chapter 12 (Part A): Evaluation of Relational Operators Chapter 12 (Part B): Evaluation of Relational Operators: Other Techniques Chapter 13: Introduction to Query Optimization Chapter 14: A Typical Relational Optimizer Chapter 15: Schema Refinement and Normal Forms Chapter 16 (Part A): Physical Database Design Chapter 16 (Part B): Database Tuning Chapter 17: Security Chapter 18: Transaction Management Overview Chapter 19: Concurrency Control Chapter 20: Crash Recovery Chapter 21: Parallel and Distributed Databases Chapter 22: Internet Databases Chapter 23: Decision Support Chapter 24: Data Mining Chapter 25: Object-Database Systems Chapter 26: Spatial Data Management Chapter 27: Deductive Databases Chapter 28: Additional Topics

2 DBMS란?  통합된 대규모 데이타 집단  실세계의 조직체를 모델링 - 개체 ( e.g., 학생, 과목 )
- 관계성 (e.g., 마돈나가 CS564과목을 수강함 )  데이타베이스 관리 시스템(Database Management System DBMS)은 데이타베이스를 저장하고 관리하는 소프트웨어 패키지이다.

3 DBMS를 사용하는 이유  데이타 독립성(data independence) 과 효율적인 접근.
 응용(application) 개발시간 감축.  데이타 무결성(data integrity)과 보안( security).  균일한 데이타 행정관리.  동시 접근(concurrent access), 손상복구(recovery from crashes). 3

4 데이타베이스를 배우는 이유 ?  계산에서 정보로 이전  데이타집단들의 다양성과 부피 증가.
- at the “low end”:거미줄 같은 수많은 정보 통합 - at the “high end”: 과학적인 응용  데이타집단들의 다양성과 부피 증가. - 전자 도서관, 대화형 비디오, 인간 유전자 프로젝트, 지구관측시스템 프로젝트 DBMS 활용이 필요해짐  DBMS는 대부분의 전산학 분야를 포괄함 - OS, 언어, 이론, “A”I, 멀티미디어, 논리

5 데이타 모델  데이타 모델( data model ): 데이타를 기술하기 위한 개념(요소)들의 모임.
 스키마( schema): 주어진 데이타 모델에 의거한, 특정 데이타 집단에 대한 기술 내용.  관계 데이타 모델( relational model of data ): 현재 가장 널리 사용되는 데이타 모델. - 주 개념: 릴레이션( relation), 행과 열로 구성된 일종의 테이블 . - 각 릴레이션마다 소속 열, 즉 필드(field)들을 기술하는 스키마가 존재 5

6 추상화 단계  복수의 뷰(view), 단일 개념(conceptual) (논리적) 스키마, 단일 물리적(physical) 스키마. 뷰는 사용자가 데이타를 보는 관점을 기술. 개념 스키마는 논리적인 구조를 정의(규정). 물리적 스키마는 사용 화일과 인덱스들을 기술. 뷰 1 뷰 2 뷰 3 개념 스키마 물리적 스키마 스키마는 DDL로 정의하고 , 데이타는 DML로 수정/질의한다. 6

7 예: 대학의 학사 데이타베이스  개념 스키마:  물리적 스키마:  외부 스키마 (뷰):
학생 (학번: 문자열, 이름: 문자열, 로그인: 문자열, 나이: 정수, 평점평균: 실수) 과목 (과목번호: 문자열, 과목명: 문자열, 학점수: 정수) 수강 (학번: 문자열, 과목번호: 문자열, 평점: 문자열)  물리적 스키마: 릴레이션들은 무순서 화일로 저장 학생의 첫 필드에 인덱스 구성  외부 스키마 (뷰): 과목정보 (과목번호: 문자열, 수강인원: 정수) 7

8 데이타 독립성 응용 프로그램은 데이타의 구성 및 저장 방식의 변화로부터 격리됨 .
데이타 독립성 응용 프로그램은 데이타의 구성 및 저장 방식의 변화로부터 격리됨 . 논리적 데이타 독립성: 데이타의 논리적 구조 변화로부터 보호. 물리적 데이타 독립성: 데이타의 물리적 구조 변화로부터 보호 ☞ DBMS를 이용하는 장점 중 가장 중요한 것에 속함!

9 병행 제어  좋은 DBMS 성능을 위해서는 사용자 프로그램들을 동시에(병행) 수행하는 것이 필수적.
디스크 접근은 빈번하며 비교적 저속이므로, 사용자 프로그램을 동시에 여러 개 수행함으로써 CPU를 놀리지 않는 것이 중요함.  여러 프로그램의 단위작업을 교차 수행할 때 모순성 발생가능: 예, 잔금확인 도중 수표 결제.  DBMS는 이러한 문제가 없도록 보장: 사용자는 혼자 사용하는 것처럼 인식.

10 트랜잭션(transaction): DB프로그램의 한 번 수행
사용자는 일정한 종류의 무결성 제약조건을 데이타에 줄 수 있고, DBMS는 이를 집행. 이것이 없으면 DBMS는 데이타의 의미를 이해하지 못한다(e.g., 은행의 이자 계산법 등). 결국 트랜잭션 자체의 일관성은 사용자의 책임이다!

11 병행 트랜잭션 스케줄링  DBMS 는{T1, ... , Tn} 의 수행이 어떤 직렬 수행 T1’... Tn’과 같도록 보장
트랜잭션은 객체를 판독/기록하기 전에 먼저 그 객체에 대한 로크(lock)를 요청하며, DBMS가 로크를 걸어 줄 때까지 대기한다. 트랜잭션이 끝나면 소지했던 모든 로크를 해제한다.(엄정 로킹 규약) 착상: Ti의 단위작업 (가령, X를 기록)이 Tj (가령’ X를 판독)에 영향을 주면, 그 중 한쪽 (가령 Ti)이 먼저 X의 로크를 얻고, Ti가 끝날 때까지 Tj를 대기시킨다; 이에 따라 트랜잭션을 순서화하는 효과를 본다. Tj가 Y의 로크를 이미 얻었는데 Ti가 나중에 Y의 로크를 요청한다면? (교착상태! ) Ti 나 Tj를 철회시켰다가 재시작한다!

12 원자성(Atomicity)확보  DBMS는 수행 도중 시스템 장애가 발생하더라도 원자성 (전부 아니면 전무 성질) 보장 .
DB를 실제로 고치기 전에, 해당하는 로그 엔트리를 안전한 저장소에 먼저 강제 출력(WAL 규약. OS는 이 기능을 잘 지원하지 못한다.) 장애 발생 이후에는, 부분적으로 수행된 트랜잭션의 효과들을, 로그를 이용하여 무효화(undo).( WAL의 덕택임. 로그 엔트리가 장애때문에 미쳐 저장되지 않았다면, 해당 변경도 DB에 가해지지 않았다! )

13 로그 (log)  로그에는 다음과 같은 단위 작업들이 기록된다: Ti가 객체를 기록: 이전 값과 새로운 값.
• 로그 레코드를 변경 페이지 보다 먼저 기록해야 함! Ti 완결/철회: 이 단위작업을 표시하는 로그 레코드 하나 .  트랜잭션 id에 따라 로그 레코드들을 연결해서, 특정 트랜잭션 무효화가 용이함 (e.g., 교착상태 해소 등).  로그는 보통 “안정적인” 저장장치에 중복 저장해 둔다.  로그 관련 작업( 로크 설정/해제, 교착상태 처리 등 병행제어 관련 작업 포함)들은 모두 DBMS가 알아서 (투명하게) 처리한다. 20

14 DB 덕분에 행복해지는 사람들...  단말 사용자와 DBMS 공급업체  DB 응용 프로그래머
똑똑한 웹마스터 등  데이타베이스 관리자(DBA) 논리적/물리적 스키마 설계 보안과 권한부여 사항 처리 데이타 가용성, 손상 복구 데이타베이스 튜닝과 확장 DBMS의 작동방식을 알아야 한다! 21

15 DBMS의 구조  DBMS는보통계층적인 구조임.  병행제어와 복구 부분은 그림에서 빠져 있음.
이 계층들은 병행제어와 복구에 신경을 써야 한다.  DBMS는보통계층적인 구조임.  병행제어와 복구 부분은 그림에서 빠져 있음.  이 그림은 이론일 뿐이고, 시스템마다 구조는 조금씩 다름. 질의 최적화 및 수행 관계 연산자 화일 및 접근 방법 버퍼 관리 디스크 공간 관리 DB 22

16 요약 보수가 높다! 가장 광범위하고 흥미진진한 분야에 속한다.  DBMS는 대규모 데이타 집단의 관리/질의에 사용된다.
 시스템 손상 복구, 병행 접근, 신속한 응용 개발, 데이타 무결성, 보안 등의 장점이 있다.  추상화 단계를 구분하여 데이타 독립성 달성.  DBMS는 보통 계층적인 구조임.  DBA들은 책임 있는 업무를 맡으며 보수가 높다!  DBMS R&D는 전산학 중에서도 가장 광범위하고 흥미진진한 분야에 속한다.


Download ppt "데이타베이스 시스템 개요 Chapter 1 송 병 호"

Similar presentations


Ads by Google