Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

영우

이중화(DB) 본문

CS/데이터베이스

이중화(DB)

duddn 2024. 3. 29. 04:41

made by GPT

이중화는 무엇인가요?

  • 이중화는 시스템의 장애에 대비해 같은 시스템을 두개 이상 만들어 두고 하나의 시스템에 장애가 생겼을때 다른 시스템으로 전환되도록 만들어진 구조입니다.
  • 특정 지점에 문제가 발생하더라도 서비스를 계속 사용할 수 있습니다.
  • 즉 고가용성(high availability)을 확보할 수 있습니다
  • 종류
    • 액티브 - 스탠바이
    • 액티브 - 액티브

액티브 - 스탠바이

  • 액티브로 지정된 프로세스만 실제로 서비스에서 사용되고 스탠바이 프로세스는 대기합니다.
  • 하나는 항상 대기상태이기 때문에 비효율적이라는 단점이 있습니다.

핫 스탠바이

  • primary DB가 장애시, secondary DB를 즉시 새로운 new primary DB로 사용합니다.
  • 기본서버가 다운된것을 식별하는 것 이외에 다운타임이 발생하지 않습니다.
  • 동기복제를 통해 항상 동기상태를 유지하고, 모두 동기화 되었을떄 트랜잭션이 완료됩니다.
  • 특정 시점에서 primary DB와 secondary DB가 항상 동일한 상태입니다.
  • 항상 동기화를 유지하기 때문에 쓰기 성능이 낮습니다.

웜 스탠바이

  • primary DB 장애시 약간의 준비 후 secondary DB를 새로운 new primary DB로 사용합니다.
  • 비동기 복제를 통해 동기화합니다.
  • primary DB의 변경사항은 로그파일에 저장되고, 변경사항은 짧은 시간 후 secondary DB에 전달됩니다.
  • secondary DB는 수신하면 변경사항을 읽고, 적용합니다.
  • 비동기 방식이기 때문에 항상 동기화된 상태가 아닙니다. 그렇기 때문에 장애시 동기화 하는 시간동안 다운타임이 발생합니다.
  • 쓰기 성능이 핫 스탠바이보다 높습니다.

콜드 백업

  • secondary DB를 정지시켜 놓고 primary DB장애시 secondary DB에 데이터를 복구해 사용합니다.
  • 정기적으로 primary DB를 백업해 secondary DB에 적용합니다.
  • 장애 발생시 최신백업 이후의 정보는 리두로그를 사용해 secondary DB에 적용합니다.
  • 다운타임이 가장 깁니다.

액티브 - 액티브 구성

  • 여러개의 액티브 프로세스를 사용해 하나의 프로세스에 장애가 발생해도 다른 액티브 프로세스가 서비스를 제공할 수 있습니다.
  • 모든 엑티브 프로세스는 데이터의 일관성을 유지하기 위해 동기화 작업을 합니다.
  • 가용성이 매우 높아지지만, 데이터 동기화를 위한 비용이 큽니다.

출처

https://m.blog.naver.com/bizblocklll/222161660908
https://medium.com/@unel.safak/database-recovery-c975d044b2cc
https://haeunyah.tistory.com/122