1.1 필수 키워드
DBMS의 목적
1. 병렬 처리와 높은 처리량
2. 응답시간 중요
3. commit데이터는 보호
1.2 오라클과 디스크
- 오라클은 데이터는 디스크에서 읽어오고, 디스크에 기록함
- 디스크는 아래와 같이 생김
- 디스크의 원판이 돌아가고, 뾰족한 헤드가 움직여서 데이터를 읽고 기록함
1.3 디스크의 동작
- 디스크는 빠른 속도로 회전함, 빠르게 돌지만, 메모리의 속도에 비하면 매우 매우 느린 속도임
- 디스크에 데이터를 읽고 쓰려면 두가지 동작이 필요 1) 탐색, 2) 회전대기
1) 탐색 : 헤드를 필요한 데이터가 있는 쪽으로 이동
2) 회전 대기 : 디스크의 회전해서 원하는 데이터가 올 때까지 기다림
- 오라클은 디스크를 이용하므로, 처리시간 단축을 위해서는 디스크 I/O가 제일 중요함
1.3.1 I/O시간을 줄이는 방법
- 시퀀셜 액세스 : 시작점에서부터 마지막까지 중간 부분을 빠뜨리지 않고 전부 읽기/쓰기, 테이블 풀 스캔
- 인덱스 : ROWID를 가지고 있음, ROWID는 디스크 상의 실제 테이블의 레코드를 찾기 위한 논리적 주소
1.3.2 인덱스 사용
- 인덱스를 조사 > ROWID를 얻음 > 디스크에서 데이터를 얻음
- 인덱스는 Tree구조로 되어 있음
1.3.3 랜덤 액세스
- 인덱스를 사용하면 ROWID를 활용해서 디스트에서 필요한 부분만 읽어오면 충분하므로, 시퀀셜 액세스를 하지 않고, 랜덤 액세스함
- 랜덤 액세스를 하면 매번, 탐색+회전 대기를 거쳐야 하는 비효율적인 부분이 있음
1.4 데이터 보증을 위한 디스크
- 데이터는 오라클의 프로세스가 비정상 종요되어도 무사해야 함 (commit 한 데이터는 보호)
- 오라클은 데이터 변경 후 commit 하면 데이터를 디스크에 기록함
'DATABASE > oracle' 카테고리의 다른 글
Oracle 메모리 (undo, redo, archive) (0) | 2023.06.04 |
---|---|
Parallel Processing (0) | 2023.06.04 |
[Oracle] 9. REDO와 UNDO (0) | 2021.07.23 |
[Oracle] 3. 캐시와 공유 메모리 (0) | 2021.07.12 |
[Oracle] 2. 오라클의 여러 프로세스 (0) | 2021.07.12 |