준준의 기록일지

[DB] 데이터베이스 이중화 본문

Database

[DB] 데이터베이스 이중화

junjunwon 2021. 1. 4. 16:51

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."




이중화

이중화란?

물리적으로 떨어져 있는 여러 개의 데이터베이스에 대하여 로컬 데이터베이스의 변경된 내용을 원격데이터베이스에 복제하고 관리하는 것.

그럼 원격 데이터베이스는 무엇을 뜻할까?

가상 데이터베이스로 점유율을 관리하는 논리적 DB? -> 확인이 필요하다.

 

이중화의 목적

데이터베이스의 무정지 서비스

  • 사용자는 하나의 데이터베이스에 대해서만 작업을 수행
  • 데이터베이스 이중화시스템에 연결되어 있는 다른 데이터베이스에도 작업내용이 동일하게 적용
  • 여러개의 데이터베이스를 동시에 관리

이중화의 특징

1) High Availability

  • 서비스 중이던 시스템 또는 S/W 오류 발생 시 사용가능한 시스템으로 즉시 접근이 가능해야 한다.

2) Database Consistency

  • 하나의 데이터베이스 서버 내에서 이중화 트랜잭션과 로컬 트랜잭션이 동시에 같은 데이터를 접근하는 경우가 발생.
  • 이러한 데이터의 충돌 발생 시 데이터충돌이 해결되어야 한다.

3) High Performance

  • 이중화 하는데 수반되는 오버헤드를 최소화한다.
  • 독립시스템으로 트랜잭션을 처리할 때의 성능을 유지하도록 해야 한다.

4) Load Balancing & Scalability

  • 다중서버 운영환경에서 서비스하는 트랜잭션들을 두 그룹 이상으로 나누어, 각각의 트랜잭션이 해당 서버에서 수행되도록 해야 한다.
  • 각 서버에서 변경되는 데이터베이스 내용을 다른 서버들에 반영시킴으로써 서버에 걸리는 부하를 분산시킬 수 있도록 해야 한다 -> 자세히 이해가 안됨.

이중화 기법

  • To do : Always on, Clustering, MHA

 

이해하지 못했던 부분에 대한 정리

핵심! DB가 2개 있는게 아니라, 두개의 윈도우 (DB) 서버에서 1개의 DB를 바라보고 있는 것! 

가정 : DB01서버, DB02서버가 있다고 하자. DB명은 DTEST

미러링

  • DB01서버에서는 DTEST에 접근이 가능하지만 DB02서버에서는 DTEST에 접근이 불가능하다.

클러스터링

  • DB01서버, DB02서버 양쪽에서 DTEST에 접근이 가능하다.

 

 

출처

testing-nick9.tistory.com/13

 

DB 이중화

이중화 이중화란? 물리적으로 떨어져 있는 여러 개의 데이터베이스에 대하여 로컬 데이터베이스의 변경된 내용을 원격데이터베이스에 복제하고 관리하는 것 이중화의 목적 데이터베이스의 무

testing-nick9.tistory.com