Sun Java System Application Server Enterprise Edition 8.1 2005Q2 고가용성 관리 설명서

HADB 서버 구조

고가용성은 업그레이드를 위한 계획된 작동 중단이나 하드웨어 또는 소프트웨어 장애로 인한 갑작스러운 작동 중단에도 불구하고 가용성이 보장되는 것을 의미합니다. HADB는 간단한 데이터 모델과 확장성이 뛰어난 중복형 고성능 토폴로지를 기반으로 합니다. HADB는 고성능 엔터프라이즈 응용 프로그램 서버 환경 내에서 모든 유형의 세션 상태 지속성을 전달하기 위한 이상적인 플랫폼을 제공합니다.

다음 그림은 네 개의 활성 노드와 두 개의 예비 노드가 있는 데이터베이스 구조를 나타냅니다. 노드 0과 1, 노드 2와 3은 미러 노드 쌍을 이룹니다.

그림 2–1 HADB 구조

HADB 구조

HADB는 데이터의 조각화 및 복제를 통해 고가용성을 구현합니다. 데이터베이스의 모든 테이블은 조각이라고 하는 거의 같은 크기의 하위 집합을 만들 수 있도록 분할되어 있습니다. 조각화는 데이터베이스 노드 간에 데이터를 균일하게 분산시키는 해시 기능을 기반으로 합니다. 각 조각은 데이터베이스의 미러 노드에 두 번 저장됩니다. 이를 통해 데이터의 내결함성 및 빠른 복구가 가능해집니다. 또한 한 노드에 장애가 발생하거나 종료되면 다시 활성 상태가 될 때까지 예비 노드가 작업을 인계 받을 수 있습니다.

HADB 노드는 서로 미러링되는 두 개의 DRU(Data Redundancy Unit)로 구성됩니다. 각 DRU는 활성 노드와 예비 노드의 절반을 구성하며 하나의 완전한 데이터 복사본을 포함하게 됩니다. 내결함성을 보장하기 위해 하나의 DRU를 지원하는 컴퓨터는 전원 공급 장치(무정전 전원 공급 장치 권장), 처리 장치 및 저장 장치 등이 완전하게 자체 지원될 수 있어야 합니다. 한 DRU에서 전원이 끊어지면 전원이 다시 연결될 때까지 다른 DRU의 노드가 요청을 계속 처리할 수 있습니다.

세션 지속성 메커니즘이 없는 경우 한 웹 또는 EJB 컨테이너가 다른 컨테이너로 페일오버될 때 비활성 세션 상태를 비롯한 HTTP 또는 SFSB 세션 상태 데이터가 손실됩니다. 세션 지속성을 위해 HADB를 사용하면 이러한 문제가 해결됩니다. HADB는 별도로 분리되어 있지만 잘 통합된 지속성 저장소 계층에서 상태 정보를 저장하고 검색합니다.

HADB는 세션 데이터가 삭제될 때 공간을 사용 가능하게 확보합니다. HADB는 크기가 고정된 블록에 세션 데이터 레코드를 저장합니다. 블록의 모든 레코드가 삭제되면 블록은 사용 가능하게 해제됩니다. 블록의 레코드는 무작위로 삭제되어 블록에 이 생길 수 있습니다. 블록에 새 레코드가 삽입되고 인접한 공간이 필요한 경우에는 홀이 제거되므로 블록이 축소됩니다.

지금까지 구조를 간단히 요약해서 설명했습니다. 자세한 내용은 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Deployment Planning Guide를 참조하십시오.