japanese site
온라인강좌책메일다운로드동아리쇼핑기술지원기업정보갤러리동영상 블로그
『신개념 4단계 리눅스기술지원 시스템 공개』

※ 『무료 리눅스 배포판 배송서비스』 ※

※ 게시판 용도에 맞지 않는 글(광고및 홍보 글 등)은 임의삭제될 수 있습니다.

 
작성일 : 09-11-17 17:48
[CUBRID] - 큐브리드 이해
 글쓴이 : 문학청년
조회 : 2,052  

본 문서는 CUBRID(큐브리드)의 아키텍쳐 및 지원 환경에 관해 설명합니다.



큐브리드 이해



큐브리드의 아키텍처


시스템 구성

CUBRID는 객체 관계형 데이터베이스 관리 시스템으로서, 데이터베이스 서버, 브로커, CUBRID 매니저로 구성된다.



 
그림.1


데이터베이스 볼륨 구조

아래 그림은 CUBRID 데이터베이스 볼륨의 구조를 도식화한 구성도이다. 이를 참조로 하여 데이터베이스 볼륨을 크게 영구 볼륨, 임시 볼륨, 백업 볼륨으로 분류하고, 각각에 속하는 볼륨 및 특징을 살펴보기로 한다.



그림.2



영구 볼륨
 

영구 볼륨은 한번 생성되면 영구적으로 존재하는 데이터베이스 볼륨으로서, 볼륨 타입으로는 범용(generic), 데이터(data), 임시(temp), 인덱스(index), 제어(control), 활성 로그(active log), 보관 로그(archive log)가 있다.

 


일시 볼륨
 

임시 볼륨이란, 영구 볼륨과 반대되는 의미이다. 즉, 사용자가 영구 볼륨으로 지정한 공간을 초과하여 데이터가 축적되는 경우에만 일시적으로 마련되는 저장 공간을 일시 볼륨이라 하며, 이는 서버 프로세스가 종료됨에 따라 소멸된다. 이처럼 일시적으로 생성 및 소멸되는 볼륨으로는 일시적 임시 볼륨이 있다.



백업 볼륨

 

  • 백업 볼륨은 데이터베이스에 대한 스냅샷으로서, 이러한 백업 볼륨과 로그 볼륨을 기반으로 특정 시점까지 발생한 트랜잭션을 복구할 수 있다.
  • 사용자는 cubrid backupdb 유틸리티를 통해 데이터베이스 복구를 위해 필요한 모든 데이터를 복사할 수 있으며, 데이터베이스 환경 설정 파일(cubrid.conf)의 backup_volume_max_size_bytes 파라미터 값을 설정하여 백업 볼륨의 크기를 조정할 수 있다.

데이터베이스 서버


DB 서버 프로세스

데이터베이스 별로 한 개의 서버 프로세스가 존재한다. 서버 프로세스는 CUBRID 데이터베이스 서버를 구성하는 핵심 프로세스로 데이터베이스 파일 및 로그 파일 등에 직접 접근하여, 사용자의 요청을 처리한다. 클라이언트 프로세스는 서버 프로세스와 TCP/IP 통신을 통해 접속하며, 하나의 서버 프로세스는 스레드를 생성해서 다수의 클라이언트 프로세스의 요청 작업을 처리한다. 데이터베이스 별, 즉 서버 프로세스 별로 시스템 파라미터 설정을 지정할 수 있으면 서버 프로세스는 max_clients 파라미터 값으로 지정된 수 만큼의 클라이언트 프로세스의 접속이 가능하다.



마스터 프로세스

마스터 프로세스는 클라이언트 프로세스가 서버 프로세스에 접속하여 통신할 수 있게 하는 중계 프로세스로서, 호스트 별로 한 개씩 동작한다. (정확히는 시스템 파라미터 파일인 cubrid.confg에 지정되는 접속 포트 번호 별로 하나씩의 마스터 프로세스가 존재한다.) 마스터 프로세스는 지정된 TCP/IP 포트에 대기하고 있고, 클라이언트 프로세스는 해당 TCP/IP 포트로 마스터 프로세스에 접속한 후 마스터 프로세스가 지정된 데이터베이스 명에 따라 해당 서버 프로세스로 소켓 통신을 옮겨주어 접속을 처리한다.



브로커

브로커는 다양한 응용 클라이언트가 데이터베이스 서버에 연결할 수 있도록 중계하는 미들웨어 이다. 브로커를 포함하는 큐브리드 시스템은 아래 그림과 같이, 응용 클라이언트, cub_broker, cub_cas, 데이터베이스 서버를 포함한 다중 계층 구조를 가진다.



 
그림.3


응용 클라이언트

응용 클라이언트에서 사용할 수 있는 인터페이스는 C-API, ODBC, JDBC, PHP, Tcl/Tk, Python, Ruby, OLEDB, ADO.NET 등이 있다.



인터페이스 모듈

CUBRID는 다양한 응용 프로그래밍 인터페이스(API : Application Programming Interface)를 제공한다. 지원되는 API는 다음과 같으며 CUBRID는 각 인터페이스를 제공하기 위한 인터페이스 모듈들을 제공한다.




큐브리드의 특징


Replication

  • 서버 분산을 통한 성능 향상 및 장애 발생 시 긴급 대처
  • 트랜잭션 로그 기반의 복제, 중단 없는 온라인 복제
  • 1:N의 복제 구성 지원 복제, 상태 관리 기능 지원 복제

HA

  • 장애 발생 및 장애 복구 시 자동 절체를 통해 중단 없는 고가용성 서비스 제공 가능
  • 서비스 중단 없이 OS, 소프트웨어 업그레이드 및 장비 교체, 확장 등의 시스템 관리
  • 여러 대의 마스터 DB node와 하나 이상의 슬레이브 DB node로 구성하여 하드웨어 비용을 절감

분할(Partition)

  • 대용량 데이터 관리 편의성
  • 접근 범위별 데이터 분할 및 관리
  • 분할 키 컬럼 값의 변경에 의한 데이터 이동
  • 분할된 파티션 클래스에 대한 직접 검색 지원 및 분할된 파티션 클래스를 이용한 가상클래스(뷰) 생성 지원

자바 저장 프로시저

  • 자바 기반의 저장 함수/프로시저는 SQL로 구현하지 못하는 복잡한 프로그램 로직 구현을 가능하게 하는 기능 제공
  • 기존 Java 코드 및 개발 환경 재사용
  • 데이터베이스에 종속적이지 않음
  • 클라이언트, 서버 DB 응용 개발 환경 통일 및 클라이언트 JDBC 응용 서버 Java SP (재사용성 극대화)


클릭 카운터 지원

게시판 등에서 글 조회수와 같은 성격의 데이터에 대하여 그 값을 자동 증가시키는 기능으로, 게시판 유형의 웹 서비스에 대해 개발자 편의성 제공 및 성능 측면에서 최적화된 기능 제공

 


Cache 성능 최적화

  • Query Plan Cache : 동일한 패턴의 쿼리 수행시 질의 최적화기의 쿼리 컴파일 시간을 최소화 할 수 있도록 지원.
  • Quert Result Cache : 서버에서 질의의 결과를 캐쉬하여 같은 질의가 오면 질의 수행 과정 없이 캐쉬에 있는 결과를 이용하여, 인터넷 기반 서비스의 특성상 특정 질의가 반복적으로 사용되는 상황에 대한 서능 향상 효과

ASC/DESC 복합 인덱스 지원

  • 키의 컬럼 단위로 오름차순/내림차순을 지정할 수 있음.
  • ORDER BY 절 최적화와 연계하여 성능 최적화

Commit 방식 확장 지원

  • Log Flush Thread(LFT)도입
  • Group Commit 지원
  • Asynchronous Commit 지원

CUBRID Manager

  • CUBRID Manager 서버, 브로커의 관리 콘솔
  • 질의 관리 및 분석, 튜닝 도구 지원
  • 데이터베이스 백업, 복구 관리
  • 로그 분석, 재현 도구 지원
  • Java 기반으로 모든 플랫폼에서 사용


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기

 
   
 


『신개념 4단계 리눅스기술지원 시스템 공개』

CentOS 리눅스 전문서적 국내최초출시

 
회사소개 | 보도기사 | 채용안내 | 광고안내 | 이용약관 | 개인정보취급방침 | 책임한계와 법적고지 | 불편사항 신고하기 | 사이트맵
ㅇ 서울 : 서울특별시 강남구 노현로79길 66, 402호(역삼동,청송빌딩)  ㅇ 부산 : 부산광역시 해운대구 우동 1470 에이스하이테크21 914호
ㅇ 대표 : 1544-8128 ㅇ부산직통 : 051-744-0077 ㅇ서울직통 : 02-856-0055 ㅇ FAX : 02-6280-2663
ㅇ 사업자번호 : 128-86-68239 ㅇ 통신판매업 신고번호 : 2013-부산금정-0035호 ㅇ 개인정보책임자 : 이재석
ㅇ 상호명 : (주) 수퍼유저 ㅇ 대표자 : 박성수
Copyright ⓒ (주)수퍼유저. All rights reserved.

 아 이 디
 비밀번호
회원 가입 | 비밀번호 찾기

블로그~
 
▷ 질문과 답변
리눅스
서버해킹/보안
네트워크
아파치
메일서버
DNS
PHP
JSP
MySQL
큐브리드
Oracle
MRTG
SMS
Weblog
Domain
S/W
하드웨어
책제목
리눅스서버관리실무바이블v3.0


저자 박성수
페이지수 2,032 pages
펴낸곳(주)수퍼유저

리눅스 서버 구축 및 관리에 필요한 거의 모든 부분과 전반적인 실무 기법들을 다루고 있음
책제목
리눅스보안관리실무(2/E)


저자홍석범
페이지수 820 pages
펴낸곳(주)수퍼유저

리눅스 보안에 관련된 내용을 종합적으로 쓴 책. 저자의 명성 그대로 보안관련의 모든 내용이 그대로 담겨져 있다.