일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 자바의 특징
- 생성자
- 익명함수
- 기본 생성자
- 메소드 재정의
- 화살표 함수
- final 메소드
- node
- 객체지향 #객체지향 특징
- 클래스
- annotation
- 어노테이션
- Arrow function
- 디코딩
- 문자집합
- final
- Override
- Super
- router
- 라우터
- import
- 자바
- 즉시 실행 함수
- final 클래스
- 패키지
- 노드
- 유니코드
- 인코딩
- package
- Anonymous Functions
- Today
- Total
개인 공부 블로그
DBMS 아키텍처 본문
RDB 종류(Oracle, MS SQL, PostgreSQL, MySQL 등)에 따라 각각 내부 아키텍처들이 조금씩 다르다. 하지만 RDB로써 기능을 제공한다는 목적은 모두 동일하고, 기본적인 구조 자체는 모두 같다.
DBMS 아키텍처
SQL 실행 -> DBMS -> 데이터베이스 접근
이 중간에 있는 DBMS에서 일어나는 다양한 처리에 대한 것
DBMS 내부 기능
1. 쿼리 평가 엔진
계획을 세우고 실행하는 DBMS의 핵심 기능을 담당하는 모듈. 사용자로부터 입력받은 SQL 구문을 분석하고 어떤 순서로 기억장치의 데이터에 접근할지를 결정한다. 이때 결정되는 계획을 '실행 계획'이라고 한다. 성능과도 깊은 관련이 있는 모듈이다.
2. 버퍼 매니저
특별한 용도로 사용하는 메모리 영역인 버퍼를 관리. 디스크 용량 매니저와 함께 연동되어 작동한다.
3. 디스크 용량 매니저
웹 서버, 애플리케이션 서버는 실행되는 동안만 데이터를 저장하면 되지만, 데이터베이스는 영구적으로 저장해야 한다. 디스크 용량 매니저는 어디에 어떻게 데이터를 저장할지를 관리하며 데이터의 읽고 쓰기를 제어한다.
4. 트랜잭션 매니저와 락 매니저
데이터베이스에 수백, 수천명이 동시에 접근해서 사용한다. 이때 각각의 처리는 DBMS 내부에서 트랜잭션이라는 단위로 관리된다. 트랜잭션 매니저와 락 매니저는 트랜잭션의 정합성을 유지하면서 실행시키고, 필요한 경우 데이터에 락을 걸어 다른 요청을 대기시키는 역할을 한다.
5. 리커버리 매니저
DBMS가 저장하고 있는 데이터 중에 절대 잃어버리면 안 되는 데이터가 있다. 하지만 시스템은 언제나 장애가 발생할 수 있다. 이런 상황을 대비해 데이터를 정기적으로 백업하고 문제 발생 시 복구해주는 기능을 수행한다.
출처 : SQL 레벨업 도서