반응형

/********************************************************************************************
-- Title : [PGS9.2] PostgreSQL 9.0 Architecture - ver.dBRang
-- Reference : dbrang.tistory.com/763 의 사이트들
-- Key word : architecture 아키텍처 아키텍쳐 diagram postgresql
********************************************************************************************/

-- File


-- Conceptual Architecture




-- Clitent application & Client Interface Library

    • Client ApplicationClient Interface Library를 통해 Server와 통신.
    • Client Interface LibraryServer가 명령을 이해하고 Parsing할 수 명령어를 SQL로 바꿈.



-- Postmaster
    
항상 수행되는 데몬 쓰레드.

    • DB에 대한 모든 요청(Call)Listen하기 위한 암시적 호출 (Implicit Invocationi) 아키텍처로 사용.
    • 요청(Call) 수신시 Back-end process를 생성하여 Call1:1로 대응시킴.
    • PostmasterCallPostgres를 연결하면 더이상 Postmaster와 통신할 필요 없음.



-- Postgres Server

    • PostgresHybrid pipe & Filter architecure 방식.
    • ComponentCatalog, Rule, Table의 공유 Repository를 참조.
    • SQL Query를 전달받 결과적으로 Result Data로 변환.
    • Storage ManagerUtilities


 -- Pipe & filter Architecture
     
Parser(syntax)
        - ASCII로 전달 받아 Query String 파싱.
    
    - 키워드, 식별자 인지를 위해 Pattern Matching.
    
    - ParseTree 생성, SQL Syntax 체크.

    • Traffic Cop(syntax/complex)
        - Simple Command
Executor에 전달.
        - Complex Command
Planner/Optimizer에 전달.
    • Rewirter(rule argument)
        -
전달된 ParseTreedmllower order 명령어로 재작성
    • Planner/Optimizer(optimal plan)
        -
최적의 쿼리 플랜 결정, Tree 형태의 플랜 생성.
    • Executor(execute optimal plan)
        - 실행계획을 수행하여 Data 추출.
        - Client
에 결과 반환.

 
 

-- System Memory

    • Shared Memory는 매우 크고 모든 Buffer는 동기화되지 않음.

    • Shared Buffer
      - PostgreSQL
서버가 사용하는 공유 메모리 버퍼.
    • temp_buffer
      -
각각의 세션이 사용하는 임시 버퍼.
    • work_mem
      -
임시 디스크 파일에 쓰기 전에 내부 정렬 및 해시 테이블 조작에 사용되는 메모리.
    • maintenace_work_mem
      - VACUUM, CREATE INDEX, ALTER TABLE ADD FOREIGN KEY등 유지 관리에 사용되는 메모리.  



-- 
<Storage Manager>

    • 버퍼에 공유메모리를 제공하고 DBAccess.
 


-- Database Cluseter
    • 참조 : http://dbrang.tistory.com/739

 

반응형

+ Recent posts