이중화는 스토리지를 공유하여 고가용성을 실현하는 방식이 아니라, 네트워크를 통해서 데이터를 복제하는 방식입니다. 이번 절에서는 이중화의 개념과 사용하는 목적, 이중화의 특징 등에 대해서 알아보도록 하겠습니다.
이중화는 "SHARED NOTHING ARCHITECTURE"에 기반을 둔 기술입니다. SHARED NOTHING ARCHITECTURE는 이름 그대로 공유하는 자원 없이 고가용성(High Availability / HA)을 구현하기 위한 아키텍처입니다.
이중화는 이런 아키텍처에 기반을 두고 있기 때문에 스토리지를 공유하는 방식이 아니라 네트워크를 통해서 DB가 소유한 각각의 스토리지에 데이터를 동기화 시켜주는 기술입니다.
SHARED NOTHING ARCHITECTURE는 네트워크를 통해서 데이터를 복제하는 기술이기 때문에 이에 따른 몇 가지 특징을 가지고 있습니다.
구분 | Shared Nothing Architecture |
---|---|
공유자원 | 공유자원이 없음 |
데이터동기화 방안 | Network를 통한 복제 |
성능 | 공유자원이 없으므로 빠른 성능 |
시스템 구축비용 | 저비용(로컬디스크,Network) |
거리적용 | 일반적인 TCP기반의 Network를 사용하여도 원거리 적용에 큰 무리가 없음 |
데이터정합성 | Network 복제 특성상 노드간 데이터불일치 현상을 억제하기 위한 별도의 고려가 필요 |
치명적인 Failure 요소 | Network Failure시 관련 노드 데이터동기화 불가 |
적합시스템 | 완벽한 데이터정합성보다는 빠른 성능 요구 |
관련 대표 DBMS기술 | 이중화(replication) |
디스크를 공유하지 않고 데이터를 네트워크를 통해서 복제하기 때문에 성능이 빠른 장점을 가지고 있지만 네트워크 복제의 특성상 노드간의 데이터 불일치 현상이 발생할 수가 있습니다.
그래서 ALTIBASE HDB에서는 이런 불일치 현상을 최대한 방지할 수 있는 방안을 제공하고 있습니다.
SHARED NOTHING ARCHITECTURE 에 기반을 둔 이중화를 사용하는 목적은 크게 세 가지로 구분할 수 있습니다.
일반적으로 가용성이란 시스템의 정지 없이 서비스가 가동될 수 있는 확률을 의미하는 것이며, 고가용성이란 긴 시간 동안 지속적으로 서비스를 운영이 가능한 시스템이나 컴포넌트를 의미합니다.
이중화를 사용하면 하나 이상의 DB의 데이터가 네트워크를 통해서 복제되어 항상 같은 데이터를 가지고 있기 때문에 서비스를 제공하던 DB에 장애가 발생할 경우, 동일한 데이터를 가지고 있는 백업 DB로 Fail-over를 해서 계속적인 서비스를 제공할 수 있습니다.
어플리케이션에서 DB의 장애를 감지하게 되면 DB에서 자동으로 이중화가 구성되어 있는 다른 DB로 해당 어플리케이션을 Fail–over 하여 계속적인 서비스를 할 수 있도록 해줍니다.
이중화로 구성된 DB는 항상 같은 데이터를 가지고 있기 때문에 하나의 DB를 사용해서 모든 어플리케이션을 처리할 때보다 업무 특성(DML 과 SELECT) 등을 고려해서 어플리케이션을 분산시키면, DB에 가해지는 부하가 줄어들게 되고, 이는 전체적인 성능 향상을 가져오게 됩니다.
물리적인 시스템 장애나 천재지변과 같은 재해 시에 하나의 시스템을 운영하게 되면 장애를 복구할 동안 정상적인 서비스를 할 수 없게 됩니다. 그래서 일반적으로 백업 서버를 운영하게 되는데, 이중화를 사용하게 되면 백업 서버의 운영을 손쉽게 할 수 있습니다.
이중화를 ACTIVE-STANDBY 형태로 구성하여, 하나의 DB에서만 서비스를 운영하게 되면, 별도의 백업 작업을 하지 않아도 이중화로 구성된 백업 DB에는 동일한 데이터가 복제되어 저장됩니다.
- 강좌 URL : http://www.gurubee.net/lecture/2187
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.