Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

데이터베이스 미러링(Mirroring)과 복제(Replication)의 차이점 완벽 정리

데이터베이스 운영에서 미러링(Mirroring)복제(Replication)는 모두 가용성과 데이터 안정성을 높이기 위해 사용되는 기술입니다. 두 기술은 비슷해 보이지만 목적과 동작 방식, 적용 범위에서 뚜렷한 차이가 있습니다. 이 글에서는 두 개념을 각각 살펴보고, 주요 차이점을 표로 정리해 명확하게 비교해 드립니다.

미러링(Mirroring)이란?

미러링은 마스터(Master) 데이터베이스 서버에 대한 백업용 데이터베이스 서버를 별도로 유지하는 방식을 의미합니다. 마스터 데이터베이스에 장애가 발생해 다운되면, 미러 데이터베이스가 그 대체 역할을 수행하여 서비스 중단을 최소화할 수 있습니다.

원칙적으로 특정 시점에는 단 하나의 데이터베이스 서버만 활성(active) 상태로 유지되며, 모든 데이터베이스 요청은 활성화된 서버 한 곳에서만 처리됩니다. 즉, 미러링은 장애 조치(Failover)를 위한 고가용성(HA) 솔루션에 가깝습니다.

복제(Replication)란?

복제는 데이터베이스의 여러 복사본을 여러 지리적 위치에 분산 배치하여 유지하는 기술입니다. 복제의 대표적인 예로 대륙 간에 복제된 파일 서버를 들 수 있습니다. 사용자가 파일을 요청하면 물리적으로 가장 가까운 서버에서 다운로드를 제공받아 네트워크 지연이나 느린 응답 시간을 피할 수 있습니다.

즉, 복제는 단순한 백업을 넘어 데이터 접근 성능 향상과 부하 분산이라는 목적까지 겸하는 경우가 많습니다.

미러링과 복제의 주요 차이점

다음 표는 미러링과 복제의 핵심적인 차이점을 항목별로 정리한 것입니다.

번호구분 기준미러링(Mirroring)복제(Replication)
1정의지리적으로 다른 위치에 데이터베이스 사본을 유지하는 것을 의미합니다.배포 효율성을 위해 데이터베이스의 데이터 개체(Data Object) 복사본을 여러 개 생성하는 것을 의미합니다.
2적용 대상데이터베이스 전체를 하나의 단위로 적용합니다.테이블, 뷰 등 개별 데이터베이스 개체 단위로 수행됩니다.
3비용복제에 비해 구축 및 운영 비용이 더 높습니다.미러링에 비해 상대적으로 저렴합니다.
4분산 데이터베이스분산 데이터베이스 환경에는 적용하기 어렵습니다.분산 데이터베이스 환경에서 손쉽게 구현할 수 있습니다.
5위치 및 목적백업 위치 역할을 하도록 다른 하드웨어와 다른 장소에 데이터베이스 사본을 생성합니다.데이터베이스 개체의 사본을 만들며, 다른 데이터베이스에도 복사할 수 있습니다.

정리: 어떤 상황에서 무엇을 선택해야 할까?

미러링은 장애 발생 시 즉시 대체 서버로 전환해야 하는 고가용성이 최우선인 시스템에 적합합니다. 반면 복제는 지역적으로 분산된 사용자에게 빠른 데이터 접근을 제공하거나, 읽기 부하를 분산해야 하는 확장성과 성능이 중요한 환경에 더 적합합니다.

두 기술은 상호 배타적이지 않으며, 실제 대규모 시스템에서는 미러링으로 재해 복구(DR) 체계를 갖추고, 복제로 성능과 확장성을 확보하는 방식으로 함께 활용되기도 합니다. 시스템의 요구 사항, 예산, 데이터 일관성 수준을 종합적으로 고려하여 선택하는 것이 바람직합니다.