벌써 교수님의 강의력에 화나기 시작했다.. 어서 스터디를 구해야만 한다.
1. 데이터베이스 관리자 = DBA(Database Administrator)
데이터베이스 운영 조직의 시스템을 총괄한다.
1) 책임(responsibilities)
-
데이터베이스에 담기는 정보를 개체와 관계로 정리하고, DDL을 사용하여 개념 스키마를 구성한다. (object form : used by DBMS, source form : reference document for the users)
-
개념/내부 매핑과 관련하여 내부 스키마에 저장되는 구조와 접근 방법을 결정한다.
-
외부/개념 매핑과 관련하여 외부 스키마를 통해 유저를 리스트화한다.
-
보안(security)과 무결성(integrity)을 검사한다.
-
백업과 복구를 위한 방법을 정의한다.
-
요구사항 변경에 반응하고 성능을 확인한다.
2) 유틸리티(utilities)
-
load routines: 데이터베이스 초기 버전을 만든다.
-
unload/reload routines: 복구를 목적으로 스토리지를 백업한다.
-
reorganization routines: 여러 성능 상의 이유에 맞춰 데이터를 재정렬한다. (cluster, data reclaim space)
-
statistics routine: 여러 성능들을 계산한다. (파일 크기, 데이터 값 분포 등)
-
analysis routines: 분석
2. Data Communications Manager
사용자들이 보내는 커뮤니케이션 메세지 형태의 요청을 받고 DB에 전달한다.
3. Client/Server Archiecture
여러개의 클라이언트가 네트워크 통신을 활용해 서버에 접속을 하고 그 서버와 붙어있는 데이터베이스를 활용할 수 있는 시스템
-
클라이언트(Client): 사용자 인터페이스를 관리하고 응용들을 수행한다. 서버와 동일한 디바이스 일 수도 있지만 대부분 서비스를 사용하고자 하는 사용자들의 인터넷이 가능한 모든 디바이스를 포함한다.
-
서버(Server): DBSM 자체. 데이터베이스를 저장하고 DBMS를 운영하면서 여러 클라이언트에서 온 질의를 최적화, 권한 검사를 수행, 동시성제어, 회복기능, 무결성, 접근을 관리한다.
+ 응용(application)
사용자 작성 응용(user-written applications): C 또는 COBOL + DSL로 작성된 정규 지원 프로그램
공급업체 제공 응용(vendor-provided applications): 다른 응용 프로그램 생성과 실행 프로세스를 지원하는 도구
클라이언트-서버(client - server): 다양한 디바이스들이 분산 처리(Distributed Processing)할 수 있다.
+ 응용(application)
사용자 작성 응용(user-written applications): C 또는 COBOL + DSL로 작성된 정규 지원 프로그램
공급업체 제공 응용(vendor-provided applications): 다른 응용 프로그램 생성과 실행 프로세스를 지원하는 도구
클라이언트-서버(client - server): 다양한 디바이스들이 분산 처리(Distributed Processing)할 수 있다.
4. 분산처리(Distributed Processing)
하나의 데이터 처리 작업이 네트워크의 여러 기계에 걸쳐질 수 있도록 여러가지 기계들을 통신 네트워크에 함께 연결하여 처리한다. (cf. 병렬 처리)
- 클라이언트/서버(Clients/server) - 병렬 처리를 하면 응답 시간은 적고 처리량은 많다.
- 서버 머신(Server machine) - DBMS 성능을 높인다
- 클라이언트 머신(machine) - 사용자의 요구에 맞춰 인터페이스 개선, 고가용성, 빠른 응답, 사용 편의성 향상을 돕는다.
- 여러 개의 서로 다른 클라이언트 컴퓨터가 하나의 서버를 사용할 수 있다. ex. 단일 기업이 많은 컴퓨터를 운영하는 것.
- 각 machine은 서버이자 클라이언트이다.
+ machine은 서버이자 클라이언트
단일 클라이언트 컴퓨터가 여러 개의 다른 서버 시스템에 액세스할 수 있다.
1_ 클라이언트가 여러 서버에 접근할 수 있지만 한 번에 한 대만 가능한 경우. 즉, 각 개별 데이터베이스 요청은 한 대의 서버로만 연결되어야 한다. 두 개 이상의 서버에서 데이터를 결합할 수 없다. 사용자는 어떤 기계가 어떤 데이터 조각을 가지고 있는지 알아야 할 때 쓰인다.
2_ 클라이언트는 여러 서버에 동시에 액세스할 수 있을 수 있는 경우. 즉, 단일 데이터베이스 요청이 여러 서버의 데이터를 결합할 수 있을 수 있다. 서버는 클라이언트를 단일 서버인 것처럼 바라본다. 분산 데이터베이스 시스템으로 "투명성"을 유지하기 위해 쓰인다.
'Programing > [DB]SQL' 카테고리의 다른 글
[DB] E-R 모델을 이용한 데이터베이스 디자인(2), UML (0) | 2020.10.11 |
---|---|
[DB] E-R 모델을 이용한 데이터베이스 디자인(1) (0) | 2020.09.28 |
[DB] 데이터베이스 개념(2) - 독립성, 구조, 매핑, DBA 등 (0) | 2020.09.13 |
[DB] 데이터베이스 개념(1) - DBMS와 구성요소, 데이터 모델 (0) | 2020.09.12 |