DB 클러스터링
- DB 장애 시 가용성을 유지하기 위한 클러스터링 방안
- Oracle 기준이긴 하지만, 다른 DB에서도 비슷한 옵션이 있는 경우 있음.
HA ( High Availability )
- 같은 장비를 Active 1대 , Standby 1대로 구성해서 Active에 문제 생기면 Standby로 서비스 하는 방식.
- Active, Standby 각자가 별도 storage를 가지고 있음.
=> Active와 Standby의 데이터 동기화 문제 및 성능 저하
=> Active 가 죽고 Standby로 전환되기 전 그 사이에 발생하는 트랜잭션은 유실됨
*** 오라클에서는 데이터 가드 라는 이름으로 제공하고 있다.
*** 위와 같은 문제점 때문에 OPS 방식이 8i 버전까지 사용되었음.
OPS ( Oracle Parallel Serve )
- storage는 하나만 두고, 접근하는 인스턴스를 instance1, instance2 두개로 띄우는 방법
- instance 하나에서 장애 발생 시 다른 instance 통해 접근하면 된다.
- 문제점 RAC ping?
- instance1 에서 commit한 데이터가 instance2에 보이려면 일단 storage에 저장하고 instance2로 복사해와야 함.
- 디스크에 쓰고 가져오는 작업이라 딜레이가 좀 있음.
*** 오라클 9i 부터는 이를 개선한 RAC 사용
RAC ( Real Application Cluster )
- storage는 하나만 두고, 접근 인스턴스를 여러개 두는 것은 OPS와 동일.
- 다만 다른 instance에서 변경한 데이터를 디스크를 거치지 않고 바로 동기화 할 수 있는 Cache Fusion 지원
- InterConnect : Private network로 instance 끼리 연결하여 동기화
참고
https://12bme.tistory.com/322 완전 상세하게 나와 있음.
'Data Store' 카테고리의 다른 글
DB 이중화 / 클러스터링 (0) | 2020.09.23 |
---|---|
redis (0) | 2020.03.10 |
[DB] 성능 최적화 (0) | 2019.11.28 |
[DB] 분산 DB, 파티셔닝 ( partitioning ), 샤딩 (sharding) (2) | 2019.08.25 |
[Transaction] lost update problem (isolation level, deadlock, update lock) (0) | 2019.07.23 |
Oracle 오라클 (0) | 2019.05.31 |