본문 바로가기

TABA/Tibero

TABA Sep 26th (1) - About Tmax Tibero

728x90
반응형

About Tmax Tibero

 

https://www.tmaxtibero.com/main.do

 

티맥스티베로 TmaxTibero

국산 DBMS의 자존심, 데이터베이스 관리 시스템 전문기업 티맥스티베로

www.tmaxtibero.com

 

https://technet.tmaxsoft.com/upload/download/online/tibero/pver-20140808-000002/tibero_admin/about.html

 

안내서에 대하여

안내서의 대상 본 안내서는 Tibero®(이하 Tibero)를 사용하여 데이터베이스를 생성하고 원활한 Tibero의 동작을 보장하려는 데이터베이스 관리자(Database Administrator, 이하 DBA)를 대상으로 기술한다. 안

technet.tmaxsoft.com

 

 

DB서버 장비를 별도로 갖춰서 사용하는게 일반적, (IBM, DELL, HP 등 여러 종류의 서버 장비들) 그런 서버 장비를 구매해서 DB 소프트웨어를 설치해서 DB 서비스 용도로만 사용하는데,

티비 부트, 티비 다운으로 실행

티베로 인스턴스는 기본적으로 어떻게 사용하냐면, 티베로 바이너리가 설치가 되어있어야한다. 그리고는 티베로 인스턴스가 시작이 된다. 인스턴스가 존재하는 이유는, 데이터베이스를 관리하기 위해서이다.

데이터베이스가 관리하는게 인스턴스의 역할이고, 데이터가 담긴 파일들이 있는 곳데이터베이스이다. 

데이터베이스는 한 개이고, 인스턴스는 여러 개이다

데이터베이스는 확장이 된다 하더라도 한개이고, 인스턴스와 데이터베이스는 1대1 구조를 기본 원칙으로 한다. (1대N 관계)

인스턴스가 여러개 모여있면 클러스터 구조가 된다. TAC (Tibero Active Cluster)

티베로 바이너리 파일 : ?

 

뒤에 언급될 내용 : 데이터베이스, 그리고 인스턴스에 대한 구조에 초점을 맞춰서 설명이 진행이 된다

 

 

Tmax Tibero RDBMS 구조

- 모니터링 프로세스

- 관리자 프로세스

- 작업 프로세스

- 리스너

- 공유 메모리

- 백그라운드 프로세스

- 스토리지 (가상화 스토리지)

 

 

Tibero 가 이해하는 언어는 SQL 이다. 

작업 프로세스 하나에는 쓰레드가 열개가 들어있다. 프로세스가 1,000개면 쓰레드는 10,000개가 들어있다고 할 수 있다. 여러개의 회선이 존재한다. 그래서 사용자들이 다양한 요청을 할 수 있다. 여러명이 사용자가 있기 때문에, 여러개의 회선이 존재할 것이고 그 끝에는 여러개의 쓰레드가 존재할텐데, 동시에 같은 데이터를 처리해달라고 요청을 받는 경우가 있을 것이다. 

 

 


인스턴스 : OOP에서 인스턴스는, 해당 클래스의 구조로 컴퓨터 저장공간에서 할당된 실체를 의미한다.

여기서 클래스는 속성과 행위로 구성된 일종의 설계도이다. OOP에서 객체는 클래스와 인스턴스를 포함한 개념이다.

 

출처 : 인스턴스 (컴퓨터 과학) - 위키백과, 우리 모두의 백과사전 (wikipedia.org)


 

사용자의 요청을 받아서 처리를 해주는 것이 인스턴스의 역할이다. 티베로 인스턴스와 연결하는 역할을 하는 것이 리스너(Listener) 이다.

 

pg7. Tibero 프로세스 구조 -  대규모 사용자 접속을 수용하는 다중 프로세스 및 다중 스레드 기반의 아키텍쳐 구조


접속 요청이 이루어지는 과정

1단계 : 리스너에서 클라이언트에 대한 연결 요청을 받는다.

2단게 : LIstener에서 비어있는 WTHR 프로세스를 찾아서 접속 요청을 CHTR에게 넘겨준다

* WTHR : Worker THReads / CTHR : Control THRead

3단계 : 요청받은 CTHR은 자기 자신의 WTHR의 상태를 체크해서 놀고있는 곳에 할당한다.

4단계 : 할당받은 스레드와 클라이언트와의 연결을 다시 하는 과정인데, 유저명을 확인하는 과정이 이루어진다. 데이터가 테이블에 들어있는지를 확인한다.

 

CTHR : 

- 각 working process 마다 하나씩 생성. 서버 시작 시에 지정된 개수의 워커 쓰레드를 생성

- 시그널 처리를 담당하기도 하고, I/O Multiplexing을 지원하며, 필요한 경우 워커 쓰레드 대신 메시지 송/수신 역할을 수행한다.

WTHR : 

- 각 워커 프로세스마다 여러개 생성.

- 클라이언트가 보내는 메시지를 받아 처리하고 그 결과를 리턴한다.

- SQL Parsing, 최적화, 수행 등 DBMS가 해야하는 대부분의 일을 처리한다.

 

데이터베이스 파일들은 설치할때 만들어놓고 계속 사용한다.

데이터 베이스에 이름을 부여하게 되어있는데, 그이름은 티베로에 접속하는 사용자도 알고 있어야하는 정보다. IP포트, DB name,  접속정보에는 유저명과 패스워드 (데이터베이스에 정의되어있어야함), 

 

Background Processes

 

감시 프로세스 (MONP : monitor process) :  티베로 가동 시 최로로 생성되고, 종료시에도 마지막으로 종료가 된다. 리스터를 포함한 다른 프로세스를 생성하고, 주기적으로 각 프로세스 상태를 점검한다

Deadlock도 검사한다

매니저 프로세스(MGWP) : 시스템 관리 용도 프로세스로, 관리자의 접속 요청을 받아 관리 용도로 예약된 워커 스레드에 접속을 할당한다.

리스닝을 직접 한다.

에이전트 프로세스 (AGNT) : 시스템 유지를 위해 주기적으로 처리해야하는 티베로 내부의 작업을 담당한다. 

 

데이터베이스 쓰기 프로세스 (DBWR) : 데이터베이스에서 변경된 내용을 디스크에 기록하는 일과 연관된 스레드들이 모여있는 프로세스. 사용자가 변경한 플록을 디스크에 주기적으로 기록한다. Redo 로그를 디스크에 기록하는 스레드도 포함이 되어있고, 두 스레드를 통해 데이터베이스의 체크포인트 과정을 관할하는 체크포인트 스레드도 포함이 되어있다.

 

복구 프로세스 (RCWP) : 복구전용 프로세스이고, Crash / Instance Recovery를 수행한다.

 

 

Tibero Memory

 

Tibero Shared Memory (TSM)

- 인스턴스에 대한 데이터와 제어 정보를 가지는 공유 메모리 영역

- 사용자가 동시에 데이터를 공유

- Database Buffer, Redo Log Buffer, SQL Cache, Data Dictionary Cache 로 구성됨

- Background Process 는 인스턴스가 시작될 떄 TSM 영역을 할당하고, 인스턴스가 종료하면 할당 해제

- TSM 의 전체 크기는 인스턴스가 시작될 때 생성되어 고정

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

728x90
반응형

'TABA > Tibero' 카테고리의 다른 글

October 6th Backup  (0) 2022.10.06
Tibero DBMS 구조 관련 용어 정리  (1) 2022.10.03
TABA Sep 26th (2) - Tibero Database 저장구조  (0) 2022.09.26