DB 이중화 / 클러스터링
DB 클러스터링
- DB 장애 시 가용성을 유지하기 위한 클러스터링 방안
- Oracle 기준이긴 하지만, 다른 DB에서도 비슷한 옵션이 있는 경우 있음.
HA ( High Availability )
- 같은 장비를 Active 1대 , Standby 1대로 구성해서 Active에 문제 생기면 Standby로 서비스 하는 방식.
- Active, Standby 각자가 별도 storage를 가지고 있음.
=> Active와 Standby의 데이터 동기화 문제 및 성능 저하
=> Active 가 죽고 Standby로 전환되기 전 그 사이에 발생하는 트랜잭션은 유실됨 - 데이터 불일치. 정합성 bad
*** 오라클에서는 데이터 가드 라는 이름으로 제공하고 있다.
*** 위와 같은 문제점 때문에 OPS 방식이 8i 버전까지 사용되었음.
OPS ( Oracle Parallel Serve )
- storage는 하나만 두고, 오라클 인스턴스를 instance1, instance2 두개로 띄우는 방법
- instance 하나에서 장애 발생 시 다른 instance 통해 접근하면 된다.
- 문제점 RAC ping?
- instance1 에서 commit한 데이터가 instance2에 보이려면 일단 storage에 저장되고, 저장된 데이터를 instance2에서 복사해가야 함.
- 따라서 변경 사항이 instance2에 적용되기까지, 디스크에 쓰고 가져오는 작업이라 딜레이가 좀 있음.
*** 오라클 9i 부터는 이를 개선한 RAC 사용
RAC ( Real Application Cluster )
- storage는 하나만 두고, 스토리지를 관리하는 오라클 인스턴스를 여러개 두는 것은 OPS와 동일.
- 다만 다른 instance에서 변경한 데이터를 스토리지 저장, 복사 과정 없이 instance 끼리 바로 동기화 할 수 있는 Cache Fusion 지원
- InterConnect : Private network로 instance 끼리 연결하여 동기화
참고
https://12bme.tistory.com/322 완전 상세하게 나와 있음.
'RDBMS > DB Basics' 카테고리의 다른 글
[DB] 분산 DB, 파티셔닝 (partitioning ), 샤딩 (sharding) (4) | 2019.08.25 |
---|---|
7장. 릴레이션 정규화 (0) | 2018.04.12 |
6장. 물리적 데이터베이스 설계 : 인덱스 기본 원리 (0) | 2018.04.06 |
5장. 데이터베이스 설계와 ER 모델 (0) | 2018.01.07 |