큐브리드 프로세스
▪ 큐브리드 프로세스는 마스터 프로세스(cub_master), 서버 프로세스(cub_server), 브로커 프로세스(cub_broker), CAS 프로세스(cub_cas), 큐브리드 매니저 서버 프로세스, 자바 저장 프로시저 (Java SP) 서버 프로세스, 게이트웨이(gateway) 프로세스로 구성
마스터 프로세스(cub_master)
▪ 큐브리드를 시작하면 가장 먼저 시작되는 프로세스
▪ 브로커 응용 서버(CUBRID common application server, CAS)와 데이터베이스 서버 프로세스(cub_server) 사이의 연결을 관리
▪ HA 환경에서 Master/Slave 간 상호 동작 상태 확인
서버 프로세스(cub_server)
▪ 서버 프로세스는 특정 데이터베이스와 일대일로 대응, 데이터베이스가 2개라면 서버 프로세스 또한 2개가 구동
▪ 데이터베이스는 여러 개 생성할 수 있음
▪ 데이터베이스는 각각 격리된 메모리 공간에서 동작하기 때문에, 한 데이터베이스에 장애가 발생해도 나머지 데이터베이스는 문제가 발생하지 않음 -> db volume이 같은 공간에 있으면 장애가 발생하기도 함
▪ 데이터베이스 파일 및 로그 파일 등에 직접 접근하여, 사용자의 질의 요청을 처리
브로커 프로세스(cub_broker)
▪ 최초에 응용프로그램이 접속하는 프로세스
▪ 다양한 인터페이스로부터 브로커 프로세스가 질의 요청 받은 후, 연결이 종료될 때까지 질의 요청을 처리할 CAS 프로세스(cub_cas)를 할당
▪ 질의를 해석(컴파일)해서 질의 파스 트리(parse tree)를 기준으로 실행 계획을 세움
▪ 연결 요청 수에 따라 구동되는 CAS 프로세스의 개수를 관리
CAS 프로세스(cub_cas)
▪ CAS 프로세스는 연결 요청을 마스터 프로세스에 전달하고, 마스터 프로세스는 요청을 처리할 서버 프로세스를 찾아 CAS 프로세스에 연결
▪ 연결이 종료될 때까지 질의 요청은 '응용프로그램 - CAS 프로세스 - 서버 프로세스'의 연결 관계를 유지
▪ CAS 프로세스의 상태는 BUSY/IDLE/CLIENT_WAIT/CLOSE_WAIT가 있음
큐브리드 매니저 서버 프로세스
▪ 큐브리드 매니저에서 사용하는 프로세스
▪ 큐브리드 매니저는 질의 실행, 데이터베이스 추가, 백업, 복구 등을 GUI로 수행할 수 있게하는 도구
▪ 큐브리드 매니저 서버는 HTTPS 프로토콜로 정의된 API를 제공
자바 저장 프로시저(Java SP) 서버 프로세스
▪ 데이터베이스 서버에서 요청한 자바 저장 프로시저/함수를 처리하는 실행 서버
▪ 11.0 버전부터 추가됨
게이트웨이(gateway) 프로세스
▪ CUBRID 데이터베이스 서버가 타 데이터베이스 서버에 연결할 수 있도록 중계하는 미들웨어
▪ 11.2 버전부터 추가됨
응용프로그램이 서버에 연결되는 과정
▪ 응용프로그램과 서버의 연결 과정
1. 응용프로그램이 브로커 프로세스에 연결 요청 -> 브로커 프로세스가 응용프로그램에 CAS 프로세스를 할당
2. 응용프로그램과 CAS 프로세스 연결
3. CAS 프로세스가 마스터 프로세스에 연결을 요청 -> 마스터 프로세스가 CAS 프로세스와 서버 프로세스를 연결
4. 응용프로그램 - CAS 프로세스 - 서버 프로세스가 연결됨
▪ 데이터베이스 접속이 종료될 때까지 해당 연결을 유지
▪ 큐브리드의 프로세스는 응용프로그램, 서버 프로세스, 그 사이의 연결을 관리하는 브로커의 3계층으로 구성
프로세스 현황
▪ ' ps -ef | grep cub_ ' 명령어를 통해 프로세스 현황 확인
$ cubrid service start # 큐브리드가 실행되어 있지 않으면, 해당 명령어로 실행
$ ps -ef | grep cub_ # 프로세스 현황 확인
▪ cub_master: 마스터 프로세스
▪ cub_server: 서버 프로세스
- cub_server demodb는 demodb라는 데이터베이스를 관리하는 전용 서버 프로세스
▪ cub_broker: 브로커 프로세스
- cubrid_broker.conf 파일에서 설정한 개수만큼 생성
- 첫 번째 'cub_broker' 아래의 'query_editor_cub_cas_1'은 해당 브로커에서 구동되는 CAS 프로세스
- 'query_editor_cub_cas_1' 에서 'query_editor'은 브로커 이름이고 'cub_cas'는 CAS 프로세스임을 의미,
숫자는 프로세스의 순번
- 즉 응용프로그램이 데이터베이스로 연결하기 위해 query_editor 브로커가 제공하는 CAS가 5개 구동 중임
▪ query_editor_cub_cas_1~5: query_editor 브로커에서 구동 중인 5개의 CAS 프로세스
▪ broker1_cub_cas_1~5: BROKER1 브로커에서 구동 중인 5개의 CAS 프로세스
▪ cub_manager start: 큐브리드 매니저 서버에서 사용하는 프로세스
'DBMS > CUBRID' 카테고리의 다른 글
[CUBRID] 큐브리드 java 연동하기 (intelliJ) (0) | 2024.05.13 |
---|---|
[CUBRID] 큐브리드 CSQL (0) | 2024.05.09 |
[CUBRID] 큐브리드 설정 (0) | 2024.05.08 |
[CUBRID] 큐브리드 데이터베이스 볼륨 (0) | 2024.05.08 |
[CUBRID] 큐브리드 프로세스 명령어 (0) | 2024.05.08 |