본문 바로가기

DB/Tibero

[Tibero] 티베로 개념 구조

728x90

1. Tibero란 ? 

Tibero는 고성능, 고가용성 및 확장성의 문제를 해결하는 엔터프라이즈 데이터베이스 관리 시스템

 

2. 주요 기능

분산 데이터베이스 링크(Distributed Database Link)
: 데이터베이스 인스턴스별로 각각 서로 다른 데이터를 저장하는 기능
이 기능을 통해 원격 데이터베이스에 저장된 데이터를 네트워크를 통해 읽기 및 쓰기를 수행

데이터 이중화(Data Replication)
: 현재 운영 중인 데이터베이스에서 변경된 모든 내용을 Standby DB로 복제하는 기능
네트워크를 통해 변경 로그만 전송하면 Standby DB에서 데이터에 적용하는 방식 

데이터베이스 클러스터(Database Cluster)
: 기업용 DB의 최대 이슈인 고가용성과 고성능을 모두 해결하는 기능

병렬 쿼리 처리(Parallel Query Processing)
: 대용량 데이터를 처리하기 위해 서버의 리소스를 최대한 활용할 수 있는 병렬 처리 기술

● 쿼리 최적화기(Optimizer)
: 쿼리 최적화기는 스키마 객체의 통계 정도를 바탕으로 다양한 데이터 처리 경로들을 고려하여 어떤 실행계획이 가장 효율적인지를 결정

 

3. 티베로 구성요소

전체 구성

 

  Thread(스레드)란?

: 프로세스내에서 실제로 작업을 수행하는 주체

 

 

Tibero 공식 관리자 안내서

프로세스

- 리스너
: 리스너 프로세스는 리스너를 기동하여  DB와 클라이언트의 통신이 가능하도록 함
(리스너 단독으로 기동/종료 불가, DB프로세스와 한 몸이며 리스너 프로세스가 kill되면 DB의 모든 프로세스 down)

- 워커프로세스
: 워커프로세스는 클라이언트와 실제 통신을 하며 사용자의 요구사항을 처리  
(워커프로세스 1개당. 1개의 컨트롤스레드 + 10개의 워커스레드 할당
=> 초기화 파라미터로 조절가능 단, WTHR_PROC_CNT와 _WTHR_PER_PROC 초기화 파라미터 값을 직접 변경하는 것보다  MAX_SESSION_ COUNT 초기화 파라미터를 통해 서버에서 제공하는 최대 세션 개수를 지정할 것을 권장)

- 백그라운드 프로세스
: 백그라운드 프로세스는 워킹프로세스로부터 받은 요청을 처리하거나 정해진 주기에 따라 동작
(주로 메모리와 디스크에 엑세스하는 동작을 함, 백그라운드프로세스가 kill되면 모든 프로세스 down)

 

메모리

- PGA
: 워커프로세스가 사용자로부터 요청 결과를 정렬하는데 주로 쓰이며 DB사용자 간에 공유하지 않는 영역

- TSM(Tibero Shared Memory == SGA)
: 사용자가 요청한 쿼리의 실행 계획을 저장, 요청한 데이터를 블록 단위로 저장하며 이것들을 DB사용자간에 공유
=> DB사용의 성능 향상을 위한 영역 

 

TSM 

- Shared Cashe
: 최초 사용자가 질의를 요청했을 때, 번역하는 작업을 하는 곳. 동일 내용 작업 시 바로 보내주는 작업 제공
 
- Database Buffer
: 사용자가 최초 질의시, 작업한 데이터 내용을 저장하는 곳
 
- Redo Log Buffer
: 데이터 유실을 막기위해서 로그를 버퍼에 저장. 복구를위한 용도 

 

 

Tibero Database : 물리적으로 저장되는 곳 

- Data File
: Table space로 구성

- Log file
: Redo Logfile과 Archive Logfile로 구성

 

 

4. 구성파일

- 컨트롤파일
: 컨트롤 파일은 데이터베이스 자체의 메타데이터를 보관
(DB가 필요로 하는 파일의 정보가 모두 포함)

- 데이터파일
: 데이터파일은 실제로 데이터가 존재하는 영역으로 SYSTEM, SYSSUB, SYSGIS, UNDO, TEMP, USR이 기본으로 생성되는 테이블스페이스

-리두로그파일
: 리두로그파일은 DB가 수행한 모든 변경된 내역을 저장
(복구 시 사용, 최소 2개 이상의 그룹으로 구성)

 

5. 테이블 스페이스 

 (논리적 저장 영역 + 물리적 저장 영역을 연관시키기 위한 단위 )

- 논리적 저장 영역 : Tibero의 모든 데이터가 저장됨

- 물리적 저장 영역 : 데이터 파일이 하나 이상 저장됨

 

  테이블 스페이스 구성

1. 테이블 스페이스의 논리적 구성

- 세그먼트(Segment) : 익스텐트의 집합.
                                    하나의 테이블, 인덱스 등에 대응되는 것으로 CREATE TABLE 등의 문장 실행 시 생성

- 익스텐트(Extent) : 연속된 데이터 블록의 집합.                         

- 데이터 블록(Block) : 데이터베이스에서 사용하는 데이터의 최소 단위.
                                   Tibero는 데이터를 블록 단위로 저장하고 관리함

 

2. 테이블 스페이스의 물리적 구성

 

- 테이블 스페이스 안에서 특정한 데이터 파일을 사용할 수 있도록 임의로 지정할 수 없다.
  또한 테이블스페이스 내의 모든 데이터 블록은 구분되지 않고 저장 공간에 할당됨