Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 

개요

High Availability(HA)란, 하드웨어, 소프트웨어, 네트워크 등에 장애가 발생하여도 지속적인 서비스를 제공해 주는 기능이다. 이 기능은 하루 24시간 1년 내내 서비스를 제공해야 하는 네트워킹 컴퓨팅 부분에서 필수적인 요소이다. HA시스템은 두 대 이상의 서버 시스템으로 구성하여 시스템 구성 요소 중의 한 요소에 장애가 발생하여도 중단 없는 서비스를 제공할 수 있다.

High Availability 기능을 CUBRID에 적용한 것이 CUBRID HA 기능이며, CUBRID HA 기능은 여러 서버 시스템에서 데이터베이스를 항상 동기화된 상태로 유지하여 서비스를 제공한다. 또한 서비스를 수행중인 시스템에 예상치 못한 장애가 발생하였을 경우에는 자동으로 다른 시스템이 서비스를 수행하도록 하여 서비스 중단 시간을 최소화한다.

CUBRID의 HA 기능은 shared-nothing 구조이며, 마스터 데이터베이스 서버로부터 슬레이브 데이터베이스 서버로의 데이터 동기화를 위해 다음 두 단계를 수행한다.

  1. 마스터 데이터베이스 서버에서 생성되는 트랜잭션 로그를 실시간으로 다른 node에 복제하는 트랜잭션 로그 다중화 단계
  2. 실시간으로 복제되는 트랜잭션 로그를 분석하여 슬레이브 데이터베이스 서버로 데이터를 반영하는 트랜잭션 로그 반영 단계

CUBRID HA 기능은 이 두 단계를 수행하여 마스터 데이터베이스와 슬레이브 데이터베이스 사이에 항상 동기화된 데이터를 유지할 수 있도록 한다. 따라서, 서비스를 제공 중이던 마스터 데이터베이스 서버에 예상치 못한 장애가 발생하였을 경우 슬레이브 데이터베이스 서버가 마스터 데이터베이스 서버를 대신하여 중단 없는 서비스를 제공할 수 있다. CUBRID HA 기능은 시스템과 CUBRID의 상태를 실시간으로 감시하고 장애 발생 시 자동으로 절체(failover)를 수행하기 위해 Heartbeat을 사용한다.

참고 CUBRID 2008 R2.0, R2.1에서는 Linux Heartbeat 솔루션 기반의 HA 기능을 지원했고, CUBRID 2008 R2.2부터는 자체 개발한 CUBRID Heartbeat 기반의 HA 기능을 지원한다.