본문 바로가기
database

PostgreSQL 개요

by 문파워 2019. 5. 20.

[PostgreSQL 9.6 성능이야기] 편,

스리슬쩍 공부한다꼬 책 보면서 요약하기 위한 게시글

내용에 틀린 부분이 있을 수 있음!

 

PostgreSQL 물리적 구조는 단순

- Shared Memory 

 ㄴ Shared Buffer

 ㄴ WAL Buffer

- process

- data file

 

4 Process

- Postmaster Process (Daemon)

- Background Process

- Backend Process

- Client Process

 

ㄴ Backend Process 는 사용자 프로세스의 쿼리 요청을 수행 및 결과를 전송하는 역할을 수행하며

work_mem, maintenance_work_mem, temp_buffers 등등의 파라미터 수치를 조정하여 퍼포먼스를 향상시킬 수 있다.

 

테이블 별로 3개의 파일이 존재한다

OID = 데이터 저장을 위한 파일

OID_fsm = 테이블 여유 공간 관리를 위한 파일

OID_vm = 테이블 블록과 visibility를 관리하기 위한 파일 (인덱스는 해당 파일 없음)

 

"OID"

테이블과 인덱스 생성 시점의 파일명은 OID 와 동일하다

이 시점에 OID와 pg_class.relfilenode의 값과 같지만 rewrite 작업 등의 영향으로 오브젝트의 relfilenode 값이 변경되고 파일명 또한 relfilenode 값으로 변경된다.

pg_relation_filepath('오브젝트명') 명령어를 이용하면 파일 위치와 이름을 확인할 수 있다.

 

ORACLE 과 PostgreSQL의 차이점

  ORACLE PostgreSQL
MVCC 모델 구현 방식 UNDO 세그먼트 블록 내에 이전 레코드 저장
Shared Pool 존재여부 존재 존재하지 않음

 

 

todo

- shared pool

댓글