익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT위키
검색
티베로
편집하기 (부분)
IT위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
===구조=== ;프로세스 *'''리스너'''(Listener) : 클라이언트의 새로운 접속 요청을 받아 이를 유휴한 워킹 프로세스에 할당한다. 즉, 클라이언트와 워킹 프로세스 간의 중계 역할을 담당하며 이는 별도의 실행 파일인 티비리스너(tblistener)를 사용하여 작업을 수행한다. 만약 리스너가 죽는다면 어떠한 외부 접속도 이루어지지 않는데, 대부분의 사용자는 리스너가 정상적으로 구동된 후에는 신경을 쓰지 않다. 그 이유는 리스너가 기동할 경우 계속 정상적으로 작동할 것으로 여기기 때문이다.<ref name="가" /> ;순서 #현재 유휴한 워킹 스레드가 있는 워킹 프로세스를 찾아서 클라이언트의 접속 요청을 한다. #이때 파일 디스크립터(File descriptor)와 함께 할당되므로 클라이언트는 서버의 내부 동작과 상관없이 마치 처음부터 워킹 스레드에 접속한 것처럼 동작하게 된다. #리스너의 요청을 받은 컨트롤 스레드(CTHR: control thread)는 자기 자신에 속한 워킹 스레드의 상태를 검사하여 현재 유휴한 워킹 스레드에 클라이언트의 접속을 할당한다. #할당된 워킹 스레드는 클라이언트와 인증 절차를 거친 후 세션을 시작한다. *'''워킹 프로세스'''(Working Process 또는 Foreground Process) : [[클라이언트]]와 실제로 통신을 하며 사용자의 요구 사항을 처리하는 프로세스이다. 이 프로세스의 개수는 WTHR_PROC_CNT 초기화 파라미터로 조절할 수 있으며, 일단 티베로(Tibero)가 기동된 뒤에는 변경할 수 없다. 따라서 시스템 환경을 고려하여 적절한 값을 설정해야 한다. 티베로(Tibero)는 효율적인 리소스의 활용을 위해 스레드(Thread) 기반으로 작업을 수행한다. 티베로를 설치하면 기본적으로 하나의 워킹 프로세스 안에는 1개의 컨트롤 스레드와 10개의 워킹 스레드가 존재한다. 프로세스당 워킹 스레드 개수는 _WTHR_PER_PROC 초기화 파리 미터로 조절할 수 있으며, WTHR_PROC_CNT처럼 일단 티베로가 기동된 뒤에는 변경할 수 없다. 따라서 시스템 환경을 고려하여 적절한 값을 설정해야 한다. WTHR_PROC_CNT와 _WTHR_PER_PROC 초기화 파라미터값을 직접 바꾸는 것보다는 MAX_SESSION_COUNT 초기화 파라미터를 통해 서버에서 제공하는 최대 세션 개수를 지정할 것을 권장한다. MAX_SESSION_COUNT 값에 따라 WTHR_PROC_CNT와 _WTHR_PER_PROC 값이 자동으로 설정된다. 만약 WTHR_PROC_CNT와 _WTHR_PER_PROC를 직접 설정할 경우 WTHR_PROC_CNTWTHR_PROC_CNT * _WTHR_PER_PROC 값이 MAX_SESSION_COUNT 값과 같게 두 값을 설정해야 한다.<ref name="가" /> *'''컨트롤 스레드'''(Control Thread) : 워킹 프로세스마다 하나씩 존재하며, 티베로가 가동될 때 초기화 피라미터에 설정된 수만큼 워킹 스레드를 생성하고, 클라이언트의 새로운 접속 요청이 오면 현재 유휴한 워킹 스레드에[[클라이언트]]의 접속을 할당하고, 시그널 처리를 담당하는 역할을 한다.<ref name="가" /> *'''워킹 스레드'''(Working Thread) : 워킹 스레드는 클라이언트와 1:1로 통신하며, 클라이언트가 보내는 메시지를 받아 처리하고, 그 결과를 돌려준다. 주로 에스큐엘(SQL) 파싱, 최적화 수행 등 데이터베이스 관리 시스템(DBMS)이 하는 작업 대부분이 워킹 프로세스에서 일어난다. 그리고 워킹 스레드는 하나의 클라이언트와 접속하므로 티베로에 동시 접속이 가능한 클라이언트 수는 WTHR_PROC_CNT * _WTHR_PER_PROC이다. 티베로는 세션 멀티플렉싱(Session multiplexing)을 지원하지 않으므로 하나의 클라이언트 접속은 곧 하나의 세션과 같다. 그러므로 최대 세션이 생성될 수 있는 개수는 WTHR_PROC_CNT * _WTHR_PER_PROC를 연산한 값과 같다. 워킹 스레드는 클라이언트와 접속이 끊긴다고 해도 없어지지 않으며, 티베로가 기동될 때 생성된 이후부터 종료할 때까지 계속 존재하게 된다. 이러한 구조에서는 클라이언트와 접속을 빈번하게 발생시키더라도 매번 스레드를 생성하거나 제거하지 않으므로 시스템의 성능을 높일 수 있다. 반면 실제 클라이언트의 수가 적더라도 초기화 파라미터에 설정된 개수만큼 스레드를 생성해야 하므로 운영체제의 리소스를 계속 소모하는 단점은 있으나, 운영체제 대부분이 유휴한 스레드 하나를 유지하는 데 드는 리소스는 매우 적으므로 시스템을 운영하는 데는 별 무리가 없다.<ref name="가" /> *'''백그라운드 프로세스'''(Background Process) : 클라이언트의 접속 요청을 직접 받지 않고 워킹 스레드나 다른 백그라운드 프로세스가 요청할 때 또는 정해진 주기에 따라 동작하는 주로 시간이 오래 걸리는 디스크 작업을 담당하는 독립된 프로세스이다. 백그라운드 프로세스에 속해 있는 프로세스는 감시 프로세스(MTHR: monitor thread), 시퀀스 프로세스(AGENT 또는 SEQW: sequence writer), 데이터 블록 쓰기 프로세스(DBWR: data block writer 또는 BLKW), 체크포인트 프로세스(CKPT: checkpoint process), 로그 쓰기 프로세스(LGWR: log writer 또는 LOGW) 등이 있다. 먼저, 감시 프로세스는 실제로는 하나의 독립된 프로세스이다. 리스너를 제외하고 티베로가 기동할 때 최초로 생성되며 티베로가 종료하면 맨 마지막에 프로세스를 끝마친다. 시퀀스 프로세스는 시스템 유지를 위해 주기적으로 처리해야 하는 티베로 내부의 작업을 담당한다. 4 SP1까지는 시퀀스 캐시(sequence cache)의 값을 디스크에 저장하는 작업도 담당했으나, 5 이후로 각 워킹 스레드가 담당하는 것으로 변경되었다. 사용자의 혼란을 피하기 위해 시퀀스 프로세스라는 명칭은 유지된다. 데이터 블록 쓰기 프로세스는 사용자가 수정한 데이터 블록을 주기적으로 디스크에 기록한다. 기록된 데이터 블록은 주로 워킹 스레드가 직접 읽어온다. 체크포인트 프로세스는 주기적으로 또는 클라이언트의 요청에 따라 메모리에 있는 변경된 모든 데이터 블록을 디스크에 기록하는 작업이다. 티베로에 장애가 발생하면 이를 복구하기 위해 걸리는 시간이 한계 수치를 넘지 않도록 예방하는 효과가 있다. 이러한 체크포인트를 관리하는 프로세스가 체크포인트 프로세스이다. 마지막으로, 로그 쓰기 프로세스는 레도(Redo) 로그 파일을 디스크에 기록하는 프로세스이다. 로그 파일에는 데이터베이스의 데이터에 대한 모든 변경 사항을 저장하고 있으며 빠른 [[트랜잭션]] 처리와 복구를 위해 사용된다.<ref name="가" /> ;데이터베이스 티베로 데이터베이스 관리 시스템(Tibero RDBMS)은 에스큐엘 문장의 논리적인 묶음인 데이터베이스 트랜잭션이 안전하게 수행되는 것을 보장하기 위해서 다음의 4가지 성질을 만족한다. 4가지 성질은 원자성(Atomicity), 일관성(Consistency), 고립(Isolation), 내구성(Durability)이다. 티베로 데이터베이스 관리 시스템의 데이터를 저장하는 구조는 다음과 같이 논리적 구조와 물리적 구조로 나뉜다. 논리적 구조와 물리적 구조는 분리되어 있기 때문에 논리적 저장 구조 접근에 직접적인 영향을 주지 않고 데이터의 물리적 구조를 다룰 수 있다.<ref name="바">티베로 관계형 데이터베이스 관리 시스템 구조 백서 - https://www.tmaxdata.com/img/service/pdf/Tibero%20RDBMS%20Architecture.pdf</ref> *'''논리적 구조''' : 데이터베이스의 스키마 객체를 저장하는 영역이다. 논리적 저장 영역은 다음과 같은 포함 관계가 있다. 데이터베이스 > 테이블스페이스 > 세그먼트 > 익스텐트 > 블록<ref name="바" /> *'''물리적 구조''' : 운영체제와 관련된 파일을 저장하는 영역이다. 물리적 저장 영역은 다음과 같은 포함 관계가 있다. 데이퍼 파일 > 운영체제의 데이터 블록<ref name="바" />
요약:
IT위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
분류별 보기
일반 IT용어
프로젝트 관리
디지털 서비스
블록체인
인공지능
소프트웨어 공학
운영체제
컴퓨터 구조
자료 구조
데이터 과학
데이터베이스
네트워크
프로토콜
보안
컴플라이언스
개인정보보호
표준
경영학
기업 IT
조직/단체
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록