728x90

데이터 레플리케이션

데이터베이스나 시스템의 데이터를 한 곳에서 다른 곳으로 복사하여 유지하는 프로세스를 말합니다. 이를 통해 데이터의 가용성, 안정성 및 성능을 향상할 수 있습니다. 

[출처] What is Database Replication and How Does it Work? (techtarget.com)

데이터 레플리케이션 사용 목적 종류

1. 고가용성 및 장애 허용

  • 시스템 장애 시에도 서비스 지속성을 확보하기 위해 데이터의 백업 또는 레플리카 생성
  • 원본 데이터배이스의 고장 시 다른 레플리카로 전환하여 서비스 중단 최소화

2. 읽기 성능 향상

  • 읽기 작업이 많은 시스템에서 읽기 부하를 분산시켜 성능을 향상시키기 위해 레플리카 생성

3. 지리적 분산 및 지역화

  • 지역적으로 떨어진 사용자에게도 빠른 응답시간 제공을 위해 데이터를 지역에 레플리케이션
  • 지역별 요구 사항에 맞춰 데이터를 지역에 배치하여 지역화된 서비스 제공

4. 분석 및 보고서 작성

  •  OLAP작업을 위한 별도의 데이터베이스 레플리카 생성
  • 원본 데이터베이스의 읽기 부하를 피하고 별도의 작업을 수행하는 용도로 레플리카 사용

5. 로드 밸런싱

  • 읽기 작업을 여러 레프르리카로 분산시켜 로드 밸런싱을 수행하여 서비스의 성능 균형 유지

6. 복구와 백업 

  • 데이터 손실 시에 레플리카에서 데이터를 복원하여 데이터의 백업과 복구 수행

7. 데이터 병합 및 동기화

  • 다양한 데이터베이스 시스템 간에 데이터를 병합하거나 동기화하기 위해 데이터 레플리케이션 사용

8. 데이터 마이그레이션

  • 데이터베이스의 마이그레이션을 수행할 때, 원본 데이터를 새로운 시스템으로 레플리케이션하여 데이터의 일관성을 유지

데이터 레플리케이션의 장단점

장점

  1. 고가용성 및 장애 허용: 레플리케이션을 통해 여러 레플리카를 유지하여 원본 데이터베이스나 시스템이 장애나 고장 발생 시에도 서비스의 지속성을 보장할 수 있습니다.
  2. 읽기 성능 향상: 읽기 작업을 레플리카로 분산시켜 원본 데이터베이스의 부하를 줄이고 읽기 성능을 향상할 수 있습니다.
  3. 지리적 분산: 데이터를 여러 지역에 복제하여 지리적으로 떨어진 사용자에게도 빠른 응답 시간을 제공하고 지역 장애를 관리할 수 있습니다.
  4. 분석 및 보고서 작성: 레플리케이션을 통해 별도의 데이터베이스에서 분석 작업과 보고서 작성을 수행할 수 있어 원본 데이터에 영향을 주지 않으면서 작업을 수행할 수 있습니다.
  5. 로드 밸런싱: 읽기 작업을 여러 레플리카로 분산시켜 로드를 균등하게 분산시키고 성능을 최적화할 수 있습니다.
  6. 복구와 백업: 레플리케이션된 데이터는 백업 데이터의 역할을 할 뿐만 아니라 데이터 손실 시에도 레플리카로부터 데이터를 복원하여 복구할 수 있습니다.

단점

  1. 비용과 복잡성: 레플리케이션을 설정하고 유지하는데는 추가적인 비용과 복잡성이 발생할 수 있습니다. 서버, 네트워크, 데이터베이스 복제 등의 요소를 관리해야 합니다.
  2. 데이터 일관성: 비동기적 레플리케이션의 경우 데이터 변경이 레플리카로 즉시 반영되지 않을 수 있어 데이터 일관성 문제가 발생할 수 있습니다.
  3. 지연 시간: 데이터 변경 사항이 레플리카로 전달되는 데에 시간이 걸릴 수 있어 원본과 레플리카 사이에 지연이 발생할 수 있습니다.
  4. 복잡한 관리: 다수의 레플리카가 관리되어야 하므로 복잡한 관리와 모니터링이 필요할 수 있습니다.
  5. 데이터 보안: 레플리케이션된 데이터가 원본 데이터베이스와 함께 존재하므로 보안 문제에 민감할 수 있습니다.
 
 

 

 

728x90

'BackEnd > 더 깊은 데이터베이스 지식' 카테고리의 다른 글

샤딩 전략  (1) 2023.08.31
인덱스와 그 작동원리  (1) 2023.08.23
데이터베이스 정규화  (0) 2023.08.22