본문 바로가기

Tibero

Tibero Architecture - 티베로 구조

1.1. 티베로 구성요소

티베로 구성요소

프로세스
Tibero 인스턴스는 크게 총 3종류의 프로세스로 구성된다.
(리스너, 워킹프로세스, 백그라운드프로세스)

 

- 리스너 프로세스는 리스너를 기동하여 DB와 클라이언트의 통신이 가능하도록 한다.
   단, 리스너만 따로 기동/종료할 수 없다. DB 프로세스와 한 세트이며 만약 리스너 프로세스가 Kill 된다면 DB의 모든 프로세스가 down 되므로 유의해야 한다.


- 워킹프로세스는 클라이언트와 실제 통신을 하며 사용자의 요구사항을 처리하는 프로세스이다. 워킹프로세스 1개당 10개의 스레드가 할당 되며(기본 값), 1개의 스레드에 1개의 DB세션이 할당된다.


- 백그라운드프로세스는 워킹프로세스로부터 받은 요청을 처리하거나 정해진 주기에 따라 동작하는 프로세스이다. 주로 메모리와 디스크에 액세스하는 동작을 한다. 백그라운드프로세스가 kill 될 경우 모든 프로세스가 down 된다.

 

[tibero@localhost ~]$ ps -ef|grep listener|grep -v grep 
tibero 9446 9445 0 05:03 ? 00:00:00 /home/tibero/tibero6/bin/tblistener -n 11 -t NORMAL -SVR_SID TEST

[tibero@localhost ~]$ ps -ef|grep tbsvr|grep -v grep 
tibero 9445 1 0 05:03 ? 00:00:21 tbsvr -t NORMAL -SVR_SID TEST 
tibero 9447 9445 0 05:03 ? 00:00:00 tbsvr_MGWP -t NORMAL -SVR_SID TEST 
tibero 9448 9445 0 05:03 ? 00:00:08 tbsvr_FGWP000 -t NORMAL -SVR_SID TEST 
tibero 9449 9445 0 05:03 ? 00:00:54 tbsvr_FGWP001 -t NORMAL -SVR_SID TEST 
tibero 9450 9445 0 05:03 ? 00:00:00 tbsvr_PEWP000 -t NORMAL -SVR_SID TEST 
tibero 9451 9445 0 05:03 ? 00:00:00 tbsvr_PEWP001 -t NORMAL -SVR_SID TEST 
tibero 9452 9445 0 05:03 ? 00:00:00 tbsvr_PEWP002 -t NORMAL -SVR_SID TEST 
tibero 9453 9445 0 05:03 ? 00:00:00 tbsvr_PEWP003 -t NORMAL -SVR_SID TEST 
tibero 9454 9445 0 05:03 ? 00:00:58 tbsvr_AGNT -t NORMAL -SVR_SID TEST 
tibero 9455 9445 0 05:03 ? 00:00:40 tbsvr_DBWR -t NORMAL -SVR_SID TEST 
tibero 9456 9445 0 05:03 ? 00:00:01 tbsvr_RCWP -t NORMAL -SVR_SID TEST

▲ 티베로 Instance를 구성하는 모든 프로세스의 예

 

메모리
PGA와 TSM(Tibero Shared Memory : SGA와 동일) 메모리 영역이 있다.
PGA는 워킹프로세스가 사용자로부터의 요청 결과를 정렬하는데 주로 쓰이며 DB 사용자 간에 공유하지 않는 영역이다.
TSM은 사용자가 요청한 쿼리의 실행계획을 저장하고, 요청한 데이터를 블록단위로 저장하며 이것들을 DB 사용자간에 공유하여 DB 사용의 성능 향상을 위한 영역이다.

 

구성파일
구성파일은 기본적으로 컨트롤파일, 데이터파일, 리두로그파일로 구성된다.


- 컨트롤파일은 데이터베이스 자체의 메타데이터를 보관하고 있는 파일이다.
DB가 필요로 하는 모든 파일의 정보가 포함되어 있다.


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


- 리두로그파일은 DB가 수행한 모든 변경된 내역을 저장하는 파일이다.
Media Recovery, Cache Recovery 등의 복구 행위를 할 때에 사용되며 최소 2개 이상의 그룹으로 구성된다.

 

1.2. Single Instance

 

기본적인 구조로서 하나의 서버에 하나의 DB Instance를 이루는 구조이다.

 

1.3. Multi Instance

 

하나의 서버에 두 개 이상의 독립적인 DB Instance를 이루는 구조이다.
제한된 자원으로 여러 서비스를 운영하고자 할 때 구성하며, 이 경우 OS 유저를 분리하여 각각의 유저에서 Instance를 기동하는 것을 권고한다.

 

1.4. HA 구성 (Active – Stand by)

 

평시 싱글 인스턴스와 동일한 구성으로 운영되며, 운영 서버에 이상 발생 시 Stand-by 서버로 Fail-over 되는 구조로서, 서버 장애시의 가용성을 보장한다.
싱글 인스턴스 구성 대비 추가로 한 개의 서버와 공유볼륨, 클러스터웨어가 필요하다.

 

1.5. TAC 구성 (Active - Active)

 

하나의 DB에 두 개 이상의 독립적인 인스턴스를 기동하여 업무 및 부하의 분산과 가용성을 모두 확보할 수 있는 구조이다. (오라클의 RAC 기능과 매칭)
Windows 계열 서버에서는 지원하지 않으며, 공유스토리지가 필요하고 양 노드에서 공유 스토리지에 동시접근이 가능하게끔 세팅이 필요하다. (이 부분은 클러스터웨어가 역할을 하기도 하지만 Linux의 경우 스토리지 파라미터 세팅으로 가능)
Gigabit 이상의 인터커넥트가 필요하며, L2 스위치가 권고된다.

1.6. Tibero Directory

 

Tibero가 설치되면 다음과 같은 디렉터리가 생성된다.

$TB_HOME 
| 
+- bin 
| 
+- client 
| +- config 
| +- database 
| +- instance 
| +- lib 
| +- license 
| +- nls 
| +- scripts

 

디렉터리에 대한 설명은 다음과 같다.

항목 설명
$TB_HOME Tibero HOME 디렉터리로서 엔진의 위치이다.
5 버전은 tibero5 라는 이름으로 생성되며
6 버전은 tibero6 라는 이름으로 생성된다.
마이너 버전은 HOME 디렉터리 네이밍과 관계 없다.
ex) /home/tibero6 , /tibero/tibero6
bin Tibero의 실행 파일과 서버 관리를 위한 유틸리티가 위치한 디렉터리이다. 이 디렉터리에 속한 파일 중에서 tbsvr과 tblistener는 Tibero를 구성하는 실행 파일이며, tbboot와 tbdown은 각각 Tibero를 기동하고 종료하는 역할을 한다.
client Tibero 클라이언트 실행 파일, 접속정보, ODBC, OLE DB 등
Tibero 클라이언트가 Tibero 서버와 통신할 수 있는 각종 Library등의 파일이 존재한다.
config Tibero의 환경설정 파일이 위치하는 디렉터리이다.
이 위치의 $TB_SID.tip 파일이 Tibero의 환경설정을 결정한다.
database 데이터파일이 위치하는 디폴트 경로이다.
$TB_SID.tip에 DB_CREATE_FILE_DEST를 별도로 지정하지 않을 경우 본 위치가 데이터파일, 컨트롤파일, 리두로그파일, 패스워드파일의 기본 위치가 된다.
instance Tibero의 각종 시스템 로그, DBMS 로그, Listener 로그 등 각종 로그 파일들이 위치하는 경로이다.
lib Spatial과 관련된 함수를 사용하기 위한 라이브러리 파일이 위치하는 디렉터리이다.
license Tibero의 라이선스 파일(license.xml)이 위치하는 디렉터리이다.
nls Tibero에서 사용하는 시간대 파일이 위치하는 디렉터리이다.
scripts Tibero DB를 생성할 때 사용하는 가종 SQL 문장이 있는 디렉터리이다. 각종 뷰/패키지의 정의도 해당 디렉터리에 존재한다.

 

1.7. Tibero 라이선스

 

Tibero의 라이선스의 종류는 다음과 같다.

항목 설명
Standard Edition 기본 라이선스로서, Single Instance or HA 구성 시 사용된다.
Parallel, TPR(오라클의 AWR)을 포함하여 티베로의 기본 기능을 사용할 수 있다.
Core수와 상관 없이 물리적인 CPU의 개수만큼 비용이 발생한다.
Enterprise Edition 기본 기능이 제공되며, 추가로 파티션과 Compress기능을 사용할 수 있다.
Core수 만큼 비용이 발생한다.
Enterprise Edition
(TAC)
TAC(오라클의 RAC) 기능을 사용할 수 있다.
Core수 만큼 비용이 발생한다.

라이선스의 인증 방식은 일반적으로 서버의 hostname과의 매칭 여부이다.
그 밖에, 특수한 경우 IP 방식도 설정이 가능하다. (벤더사에 요청 필요)