콘텐츠로 이동

8. 이중화 롤(ROLE)#

이중화 롤은 이중화에 롤(ROLE)을 부여하여 특별한 기능을 하도록 시스템을 구성하는 데 사용한다.

이중화 롤의 정보는 SYS_REPLICATIONS_ 메타 테이블의 ROLE 칼럼 값을 통해 확인할 수 있다. 롤을 명시하지 않은 이중화는 기본적으로 Altibase 서버간 1:1 양방향 이중화를 의미하며, ROLE 칼럼 값은 0이다.

이중화 롤은 Log Analyzer 용도의 Log Analyzer 롤과 전파(Propagation) 용도의 Propagation 롤, Propagable Logging 롤이 있다. 이중화 생성 시 롤을 지정할 수 있으며, 각각에 대한 설명은 다음과 같다.

Log Analyzer 롤#

이중화를 Log Analyzer 롤로 생성하려면 ANALYSIS 키워드를 사용하여 생성한다. Log analyzer 롤은 전파(Propagation) 롤과 함께 사용할 수 있다. Log Analyzer용 이중화에 대한 자세한 설명은 Log Analyzer User's Manual을 참고한다.


전파(Propagation)#

이중화를 여러 노드를 거쳐서 전파하는 용도로 시스템을 구성하는 것을 말한다.

일반 이중화는 변경 사항을 서로 재 전송하지 않기 위해서 이중화 수신자가 수행한 트랜잭션은 재 전송하지 않도록 로그에 표시한다. 그러나 전파는 이중화 수신자가 수행한 트랜잭션도 다른 노드로 전파할 수 있다. 이중화 수신자가 전송받은 로그를 복제할 수 있는 로그로 남기기 위해서는 Propagable logging 롤이 필요하다. 복제 가능한 로그를 다른 원격서버로 전송은 Propagation 롤을 가진 이중화에서 송신자가 수행한다.

PROPAGABLE LOGGING 롤#

이 롤이 지정된 이중화는 복제할 수 있는 로깅(propagable logging)을 수행하여, 추후 PROPAGATION 롤을 갖는 송신자가 해당 로그를 읽어서 다른 노드로 복제할 수 있도록 한다. 복제할 수 있는 로깅(propagable logging)이란, 이중화 수신자가 수행한 트랜잭션을 다른 노드로 전파할 수 있도록 로깅하는 것을 말한다.

PROPAGATION 롤#

이 롤이 지정된 이중화의 송신자는 이중화 대상 로그 뿐 아니라, 복제할 수 있는 로깅(propagable logging)에 의해 생성된 로그를 읽어서 다른 노드로 전송하는 역할을 한다.

이중화 전파 시 주의 사항#

  • RECOVERY 옵션과 함께 사용하지 않는 것을 권고한다. PROPAGATION 롤로 생성된 송신자는 PROPAGATION 가능한 모든 복제된 로그를 전파하므로, RECOVERY 옵션이 있는 수신자가 생성한 로그도 전파하므로 시스템 설계가 복잡해 질 수 있다.

  • 이중화 전파는 단방향으로만 구성해야 한다.

  • 전파의 방향에 Cycle이 생성되는 경우, 로그의 변경 사항이 무한정 재적용되는 상황을 만들 수 있으므로 주의해야 한다.

  • PROPAGABLE LOGGING을 사용한 수신자는 로그를 남길 때 PK 등의 추가 정보를 더 남기므로, PROPAGABLE LOGGING를 지정하지 않은 수신자보다 트랜잭션 성능이 떨어질 수 있다.